两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

從隨機存取存儲器構建的內(nèi)容可尋址存儲器的制作方法

文檔序號:6108592閱讀:243來源:國知局
專利名稱:從隨機存取存儲器構建的內(nèi)容可尋址存儲器的制作方法
相關申請的參考本申請涉及與本申請同一天提交的標題為“Content Addressable Memory toIdentify Subtag Matches”的美國專利申請。
背景技術
不同種類的存儲器提供了不同的訪問數(shù)據(jù)的方式。例如,圖1A描述了稱為“隨機存取存儲器”或RAM的存儲器類型。RAM在存儲器中的不同地址處存儲數(shù)據(jù)。例如,如圖所示,當在讀操作中應用二進制地址“0001”時,RAM輸出該地址處存儲的值“b”。
圖1B示出了稱為“內(nèi)容可尋址存儲器”或CAM的不同類型的存儲器。如圖所示,CAM存儲稱為“標簽”的不同的數(shù)據(jù)值(例如,“a”、“b”和“c”)。響應于給定的查找標簽,CAM可以確定該查找標簽是否匹配或“命中”先前寫入的標簽。例如,如圖所示,對查找標簽“b”的搜索導致一“命中”,因為“b”先前已被寫入CAM。


圖1A和1B是隨機存取存儲器(RAM)和內(nèi)容可尋址存儲器(CAM)的示圖。
圖2A-2D示出了CAM的操作。
圖3示出了三重CAM的操作。
圖4是CAM的示圖。
圖5A和5C是示出RAM組織的示圖。
圖5B和5D示出了CAM的操作。
圖6A-6B是檢測CAM命中和子命中的電路的示圖。
圖7是網(wǎng)絡處理器的示圖。
圖8是網(wǎng)絡轉(zhuǎn)發(fā)設備的示圖。
具體實施例方式
圖2A示出了從一組RAM塊102a-102b構成的CAM100。CAM100執(zhí)行常規(guī)CAM操作,諸如標簽寫和標簽查找。但與常規(guī)CAM不同,CAM100不需要明確地存儲被寫到CAM的標簽值的比特。相反,CAM100可通過將一標簽作為進入RAM102a-102b的地址的集來隱含地表示該標簽。換言之,代替存儲“1010”的標簽比特,CAM100可在RAM102a-10b的地址“1010”處設定單個比特,以通知標簽內(nèi)這些比特的存在。使用該方法的CAM可從設計庫中普通可用的元件構建,節(jié)省管芯空間,提供良好的性能特性,并呈現(xiàn)靈活的幾何形狀。
更詳細地,圖2A示出了由兩個RAM塊102a-102b構成的樣本CAM100。在該示例中,每一RAM塊102a-102b具有4比特地址空間,范圍從“0000”到“1111”。這些4比特地址可加以組合以表示8比特標簽值。例如,“00001111”的8比特標簽值可被分成兩個4比特RAM地址來自第一組4比特的“0000”104a的地址和來自第二組4比特的“1111”104b的地址。形成這些地址的不同比特組被稱作“子標簽”。這樣,第一子標簽由標簽的第一4個比特構成且第二子標簽由第二組4個比特構成。在所示的配置中,使每一子標簽與給定RAM102a-102b相關聯(lián)。例如,子標簽104a的值被用作進入RAM102a的地址而子標簽104b的值被用作進入RAM102b的地址。
為表示被寫入CAM100的標簽104,CAM在每個地址104a、104b處存儲數(shù)據(jù),以通知在標簽104內(nèi)地址比特/子標簽值的存在。例如,如圖所示,為表示標簽值“00001111”104,CAM100在RAM102a中的地址104a處設定一比特(粗體)并在RAM102b中的地址104b處設定一比特(粗體)。因此,將標簽值作為地址串聯(lián)能在不同RAM102a-102b上分配標簽的表示。
圖2A中的粗體比特表示單個CAM條目(例如,條目#1)。但是,CAM100能支持多個條目。例如,如圖所示,給定的RAM102a、102b地址可存儲數(shù)據(jù)106a,該數(shù)據(jù)標識共享給定子標簽值的不同條目。例如,行106a標識N個CAM條目中的哪個具有“0000”作為它們的第一子標簽值(例如,以“0000..”開始的標簽),而行106b標識具有“1111”作為它們的第二個4比特(例如,以“...1111”結(jié)束的標簽)的CAM條目。共享給定子標簽的相同值的條目的“列表”可按各種方式編碼。例如,圖2A中,這些行將該信息編碼為其中每一比特對應于一條目的比特數(shù)組。數(shù)組中比特的位置標識了相應的條目是否呈現(xiàn)該子標簽值。例如,如圖所示,行106a為每個CAM條目存儲一比特。行106a的列1中的比特將CAM條目1標識為具有“0000”的第一子標簽值。類似地,行106b的列1中的比特將CAM條目1標識為具有“1111”的第二子標簽值。
圖2B示出了另一標簽寫入操作。在這種情況中,“0000 0000”的標簽被寫到CAM條目0。因此,用于條目0的比特(粗體)被設定于RAM102a的地址“0000”處以及RAM102b的地址“0000”處。因為“00001111”的先前寫入的標簽(圖2A)和“00000000”的標簽值共享相同的第一子標簽值,行106a將標識條目0和1的比特呈現(xiàn)為具有“0000”的第一子標簽104a值的條目。
圖2C示出了樣本CAM查找操作。在這種情況中,查找操作搜索“0000 1111”的先前寫入CAM條目(圖2A)。如圖所示,與寫入操作相同,被搜索的標簽值104被分成子標簽104a-104b。這些子標簽104a-104b作為地址在并行讀取操作中應用于RAM102a-102b。從RAM102a-102b讀出的數(shù)據(jù)106標識哪些條目包括形成標簽104的不同的子標簽值104a、104b。例如,由RAM102a輸出的數(shù)據(jù)106a將條目0和1兩者標識為具有“0000”的第一子標簽,而由RAM102b輸出的數(shù)據(jù)106b僅將CAM條目0標識為具有“1111”的子標簽。這些結(jié)果的交集指示僅條目1包括查找標簽104的子標簽104a、104b兩者。因此,條目1是查找標簽的僅有的準確匹配或“命中”。
CAM100可按各種方式標識這些命中。例如,CAM100可對從RAM102a-102b讀出的數(shù)據(jù)的相應比特執(zhí)行邏輯AND操作。在所示的示例中,AND108操作產(chǎn)生在與條目1對應的位置中具有“1”比特的一組比特114。因此,該結(jié)果114將CAM條目1標識為僅有的CAM條目以包括作為第一子標簽值的“0000”和作為第二子標簽值的“1111”。
CAM100可按各種方式輸出查找結(jié)果。例如,如圖所示,可直接輸出所獲得的比特矢量。例如,“0..010”的比特矢量可將條目1標識為對一查找標簽的命中?;蛘撸珻AM100查找的結(jié)果可按其它方式編碼。例如,CAM100可包括將一比特矢量轉(zhuǎn)換為標識匹配條目號的二進制數(shù)的one-hot到二進制編碼器。隨后,將這種號用作對與常規(guī)RAM中的標簽相關聯(lián)的數(shù)據(jù)的索引。所獲得的比特114也可以被一起求OR以生成二進制“命中”(1)或“不命中”(0)信號。
圖2D示出了另一CAM查找100,在這種情況中,針對“0000 0001”104的標簽值。如圖所示,通過應用子標簽104a、104b作為RAM102a、102b地址所獲得的數(shù)據(jù)106a、106b的操作產(chǎn)生“0...000”114的值。結(jié)果中不出現(xiàn)任何“1”比特表示沒有先前存儲的CAM條目(“00001111”圖2A和“00000000”圖2B兩者都不)包括“0000”作為第一子標簽和包括“0001”作為第二子標簽。在這種情況中,對所獲得的比特114一起求OR將產(chǎn)生“0”或不命中。
圖2A-2D所示的實現(xiàn)僅僅是一示例且CAM可呈現(xiàn)各種不同配置和變型。例如,通過改變RAM102a-102b行106的寬度可改變CAM條目的數(shù)量。此外,通過使用不同數(shù)量的RAM塊和/或使用具有不同地址空間的RAM塊可改變標簽長度(例如,3地址比特代替4地址比特)。以上的許多其它變型也是可能的。例如,子標簽不需要長度相等。此外,子標簽不需要是標簽內(nèi)的鄰接比特。此外,雖然在圖2A-2D中用于訪問RAM的地址直接基于子標簽,但地址也可基于某種子標簽轉(zhuǎn)變。例如,子標簽值可用作添加到某些基地址的索引。
從RAM塊構建CAM可加速電路開發(fā)。例如,RAM塊通??稍贏SIC(專用集成電路)設計庫中找到。從RAM塊組成CAM可提供在訪問時間和電路大小兩方面均有效的解決方案。在該設計可使用比從觸發(fā)器或鎖存器組成的設計更多的比特來表示標簽的同時,CAM所占據(jù)的面積可以更小。盡管RAM塊不能提供完全定制設計的速度或緊湊性,但所獲得的設計的開發(fā)沒那么復雜和費時。
上述方法也可提供非常有效的方法來實現(xiàn)三重CAM。簡言之,三重CAM允許寫入匹配多個值而不僅僅一個值的標簽??墒褂脴俗R能匹配“1”或“0”的“無關”通配符比特的“x”來表達三重標簽值。例如,“000x0000”的寫入三重標簽值產(chǎn)生對“00000000”或“0001 0000”的充分指定查找標簽的命中。CAM不實際接收用于被寫入的三重標簽值的“x”字符,而是可以例如接收標識無關比特的“無關”比特掩碼。
如圖3所示,為表示被寫入的三重標簽值,CAM100可以為同一子標簽標記多個值。例如,如圖所示,為在條目“1”中寫入“000x 0000”的三重標簽值,CAM100可為該條目標記行106f(地址“0000”)和行106g(地址“0001”)。
圖3所示的示例呈現(xiàn)具有單個“無關”值的寫入的三重標簽值。然而,被寫入的三重標簽值可呈現(xiàn)多個“無關”值,盡管這將導致為匹配這些“無關“比特的不同子標簽值設定更多的條目標記比特。
執(zhí)行三重CAM100的查找按圖2C和2D中的如上所述的相同方式進行。即,CAM使用基于從查找標簽中提取的子標簽的地址訪問來自RAM的“條目-矢量”。但在三重CAM中,可能獲得多個匹配。例如,“000x 0000”或“x000 0000”的寫入的三重條目都將匹配“0000 0000”的查找標簽。因此,CAM可呈現(xiàn)優(yōu)先級編碼器,它輸出第一匹配比特的二進制值。
除了處理“無關”比特,可使單個CAM條目與不同的分別標簽值相關聯(lián)。例如,通過為第一子標簽的三個不同值(例如,“0001”、“0010”和“0100”)設定條目比特,單個CAM條目可匹配“0001 1111”、“0010 1111”或“0100 1111”。在使該條目無效的情況下,這可以通過對給定條目的一串標簽寫入來實現(xiàn)。這可以節(jié)省CAM條目。例如,CAM100使用單個條目代替三個來表示這些不同值。
圖4更詳細地示出了CAM100設計。CAM100呈現(xiàn)一標簽輸入、一查找/寫入使能輸入和標識在標簽寫入操作中使用哪個條目的一條目輸入。該條目輸入可饋送諸如二進制到one-hot解碼器的解碼器(未示出)。條目號可代替地通過按需要分配和犧牲(例如使用最近最少使用(LRU)算法)條目的內(nèi)部電路生成。CAM100還可接收與每一條目相關聯(lián)的有效信號(未示出)以及用于被寫入的三重標簽值的“無關”比特-掩碼。
CAM100呈現(xiàn)接收輸入并基于輸入的標簽值和要執(zhí)行的操作啟動RAM102a-102n操作的控制邏輯130。例如,在三重操作的情況中,控制邏輯130可對匹配包括“無關”比特的子標簽值的不同子標簽值發(fā)出多個寫操作。
在該示例中,CAM100為m比特長的標簽提供N個條目。CAM100呈現(xiàn)(m/s)子標簽數(shù)和(m/s)相應RAM102a-102h塊的數(shù)量,其中s是每一子標簽的比特長度。如圖所示,RAM102a-102n饋送給電路132,該電路標識呈現(xiàn)查找標簽的每一子標簽值的條目。隨后,編碼器134進一步編碼這些結(jié)果。
在上述架構中,RAM102行包括標識N個條目中的哪個包括給定子標簽值的一個N比特條目矢量。圖5A示出了一變型,其中條目矢量被分成不同存儲器部分中存儲的片段。例如,如圖5A所示,RAM 0 102z的第一部分存儲條目0-3的條目矢量片段而RAM 0 102z的第二部分存儲條目4-7的條目矢量片段。RAM 102z的不同部分通過在地址中包含一個或多個部分比特得以標識。例如,RAM 0 102z的地址遵循[部分比特][子標簽比特]的格式。
如圖5B所示,為寫入一標簽值,CAM 100確定條目落入存儲器的哪個部分。例如,條目“7”落入RAM 102y和102z的第二部分內(nèi)。因此,為將標簽值寫入條目7,CAM100附加部分標識符“1”到所提取的子標簽104a、104b值,以設定與第七條目相關聯(lián)的條目矢量比特。
本方案中的標簽查找操作可依次為每個條目矢量執(zhí)行一連串查找操作。這樣,CAM100可執(zhí)行在每個RAM上并行查找操作并依次邏輯上AND每個隨后的RAM部分的結(jié)果以構建“命中”矢量。例如,第一操作將為條目0-3生成查找結(jié)果而第二操作將獲得條目4-7的查找結(jié)果。作為一種優(yōu)化,CAM100可在找到一命中時停止。例如,如果條目1是一命中,不需要確定后續(xù)部分中的條目4-7中的任一個是否提供一命中,盡管如果多命中是可能的話(例如,三重CAM)對其它條目的查找可繼續(xù)。作為進一步的優(yōu)化,可將條目分配到較低條目數(shù)中頻繁訪問標簽的簇。
如圖5A所示的RAM的這種組織可用于形成CAM的印跡形狀。例如,當更多空間被分配用于不同部分時,這種組織可伸長但使RAM塊變窄。雖然該方法使查找速度變慢,它減少了所使用的AND門電路的數(shù)量以及編碼/解碼塊的大小。
在上述實現(xiàn)中,每一RAM塊102x的地址對應于單個相關子標簽的可能比特值。圖5C示出了另外的配置。如圖所示,代替單個相關子標簽,使給定的RAM塊102y與多個子標簽相關聯(lián)。例如,如圖所示,RAM塊102y呈現(xiàn)(1+子標簽比特大小)地址寬度,其中附加比特將RAM塊102y分成多個部分,上部對應于第一子標簽且下部對應于第二子標簽。
為查找標簽值,可能發(fā)生同一RAM102z的多次讀取。例如,如圖5D所示,第一次讀取可通過將部分標識符(例如,“0”)附加到第一子標簽來進行。隨后,將不同的部分標識符(例如,“1”)添加到第二子標簽時,可出現(xiàn)第二次讀取。第一次讀取的結(jié)果可被緩沖,以與第二次讀取的結(jié)果進行AND。作為一種優(yōu)化,如果給定的讀取指示沒有條目呈現(xiàn)給定的子標簽值,則可以不執(zhí)行附加讀取。即,如果沒有條目呈現(xiàn)給定的子標簽,則沒有條目可能是該條目標簽的準確匹配。
在所示的示例中,RAM塊102y呈現(xiàn)出兩個不同部分,然而不同的實現(xiàn)可呈現(xiàn)具有2個以上部分的RAM。此外,多個部分/子標簽RAM塊102y可包含在也呈現(xiàn)單個部分/子標簽RAM塊的CAM內(nèi)。
圖6A更詳細地示出了用于確定查找匹配的電路。所示的樣本實現(xiàn)呈現(xiàn)對八個不同RAM102a-102h的輸出的“比特片”進行操作的一邏輯網(wǎng)絡。例如,門電路104a對由RAM102a輸出的bit-0和由RAM102b的比特-0輸出進行AND運算。最后的AND門電路140g的輸出指示RAM102a-102h中的每一個是否對比特-0輸出“1”。門電路140g輸出的“1”指示條目“0”準確匹配整個查找標簽。
CAM可呈現(xiàn)這種網(wǎng)絡140的N個拷貝,一個網(wǎng)絡140用于每個比特-位置。這些不同的網(wǎng)絡140可饋送OR門電路142。如果任一網(wǎng)絡140標識匹配條目(例如,輸入一個“1”),OR門電路142將輸出一個“1”命中信號。
2-輸入AND門電路的樹140允許模塊擴展和規(guī)則路由。此外,AND門電路常窄于其它門電路(例如,XOR門電路)。然而,其它數(shù)字邏輯也可用于執(zhí)行類似的操作。
圖6A所示的排列檢測整個查找標簽的準確匹配。然而,CAM可以以很小的增加成本在單個查找中執(zhí)行對子標簽或子標簽組合匹配的同時搜索。例如,如圖6B所示,添加AND網(wǎng)絡140中由中間點所饋送的單個邏輯門電路144產(chǎn)生標識由RAM102a-102d跟蹤的前4個子標簽的匹配的信號,而不管這些條目是否呈現(xiàn)出查找標簽的其余子標簽值。即,如果一條目匹配由前4個RAM102a-102d所跟蹤的子標簽a-d,向OR門電路144饋送“1”。假定OR門電路144接收其它比特位置的邏輯網(wǎng)絡的輸出,如果任何條目是一部分匹配則OR門電路144將輸出一“命中”。
所示的邏輯144是可支持子標簽匹配的最小電路的簡單但強大的示例。但是,基于應用,可使用一個以上的附加門電路來給出許多不同的子標簽匹配輸出。此外,通過在邏輯網(wǎng)絡140內(nèi)接進不同的點可改變匹配邏輯。此外,可包含其它電路來執(zhí)行更復雜的布爾操作,例如通過包含倒相器(例如,子標簽A而非子標簽B)或其它邏輯門電路。
部分標簽匹配可加速處理分組的分組中共同使用的各種操作。例如,可從分組的網(wǎng)絡源和目標地址以及源和目標端口構成一標簽。準確匹配可將一分組標識為匹配一特殊流。然而,源和目標地址上的子標簽匹配可用于標識應阻斷的通信。
上述技術可在各種硬件環(huán)境中實現(xiàn)。例如,內(nèi)容可尋址存儲器(CAM)可用于微處理器、網(wǎng)絡處理器、IO控制器和其它數(shù)字系統(tǒng)中的各種應用。例如,CAM可包含于諸如網(wǎng)絡處理器的多處理器設備內(nèi)。
例如,圖7示出了網(wǎng)絡處理器200的示例。所示的網(wǎng)絡處理器200是IntelInternet eXchange network Processor(因特網(wǎng)交換網(wǎng)絡處理器)(IXP)。其它網(wǎng)絡處理器呈現(xiàn)不同的設計。
所示的網(wǎng)絡處理器200呈現(xiàn)出單個集成半導體管芯上的處理引擎202的集合。每一引擎202可以是為分組處理制作的精簡指令集計算(RISC)處理器。例如,引擎202可不提供通用處理器的指令集通常提供的浮點或整數(shù)除法指令。各引擎202可提供多線程執(zhí)行。例如,引擎202可存儲多個程序計數(shù)器以及用于不同線程的其它上下文數(shù)據(jù)。
如圖所示,網(wǎng)絡處理器200還呈現(xiàn)至少一個接口202,此接口可以在處理器202和其它網(wǎng)絡組件之間傳遞分組。例如,處理器200可呈現(xiàn)交換網(wǎng)狀接口202(例如,公共交換接口(CSIX)),它使得處理器200能將一分組發(fā)送到與該網(wǎng)狀結(jié)構連接的其它處理器或電路。處理器200還可呈現(xiàn)一接口202(例如,系統(tǒng)分組接口(SPI)接口),它使得處理器200能與物理層(PHY)和/或鏈路層設備(例如,MAC或成幀器設備)通信。處理器200還包括用于與例如主機或其它網(wǎng)絡處理器通信的接口208(例如,外圍組件互連(PCI)總線接口)。
如圖所示,處理器200還包括與諸如散列引擎的引擎202共享的其它組件、與那些引擎共享的內(nèi)部便箋存儲器以及提供對與那些引擎共享的外部存儲器的訪問的存儲器控制器206、212。網(wǎng)絡處理器200還包括“核心”處理器210(例如,StrongARMXScale),它常被編程以執(zhí)行網(wǎng)絡操作中涉及的“控制平面(controlplane)”任務。但是,核心處理器210也可處理“數(shù)據(jù)平面”任務。
引擎202可經(jīng)由核心210或其它共享資源與其它引擎202通信。引擎202還可經(jīng)由直接連線到鄰近引擎204的近鄰寄存器相互通信。各引擎202可呈現(xiàn)出如上所述的CAM?;蛘?,CAM可以是由不同引擎202共享的資源。
圖8示出了可使用上述CAM處理分組的網(wǎng)絡設備。如圖所示,該設備呈現(xiàn)了由交換網(wǎng)狀結(jié)構310(例如,交叉開關或共享存儲器交換網(wǎng)狀結(jié)構)互連的線路卡300(刀片)的集合。例如,交換網(wǎng)狀結(jié)構可符合CSIX或其它織構技術,諸如HyperTransport、Infiniband、PCI、Packet-Over-SONET、RapidIO和/或UTOPIA(用于ATM的通用測試和操作物理接口)。
各線路卡(例如,300a)可包括處理網(wǎng)絡連接上的通信的一個或多個物理層(PHY)設備302(例如,光學、有線和無線PHY)。PHY在不同網(wǎng)絡媒介傳送的物理信號和數(shù)字系統(tǒng)使用的比特(例如,“0”和“1”)之間進行轉(zhuǎn)換。線路卡300還可包括能對幀執(zhí)行操作(諸如誤差檢測和/或糾正)的成幀器設備(例如,以太網(wǎng)、同步光學網(wǎng)絡(SONET)、高級數(shù)據(jù)鏈接(HDLC)成幀器或其它“2層”設備)304。所示的線路卡300還可包括一個或多個網(wǎng)絡處理器306,對經(jīng)由PHY302接收的分組執(zhí)行分組處理操作并經(jīng)由交換網(wǎng)狀結(jié)構310將這些分組引導到提供出口接口的線路卡以轉(zhuǎn)發(fā)該分組??赡艿?,網(wǎng)絡處理器306可代替成幀器設備304執(zhí)行“2層”責任。CAM可在網(wǎng)絡處理器或線路卡之一內(nèi)的其它電路之內(nèi)使用。
雖然圖7和8描述了網(wǎng)絡處理器和結(jié)合網(wǎng)絡處理器的設備的具體示例,但這些技術可在各種架構中實現(xiàn),包括具有除了所示那些以外的其它設計的網(wǎng)絡處理器和網(wǎng)絡設備。此外,這些技術可用于各種網(wǎng)絡設備(例如,路由器、交換機、網(wǎng)橋、集線器、通信發(fā)生器等)。
這里使用的術語電路包括硬連線電路、數(shù)字電路、模擬電路、可編程電路等。可編程電路可按計算機程序進行操作。
其它實施例也在以下權利要求書的范圍內(nèi)。
權利要求
1.一種內(nèi)容可尋址存儲器,包括至少一個標簽輸入;至少一個輸出;至少一個隨機存取存儲器;電路,用于執(zhí)行所述至少一個隨機存取存儲器的多個讀操作,所述讀操作中的不同一些基于標簽比特的不同子集指定地址;以及基于所述多個讀操作,經(jīng)由所述至少一個輸出生成至少一個信號。
2.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述至少一個信號包括選擇以下組的至少一個信號命中信號和條目數(shù)信號。
3.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述至少一個隨機存取存儲器包括多個隨機存取存儲器。
4.如權利要求3所述的內(nèi)容可尋址存儲器,其特征在于,所述在多個讀操作中使用的標簽子集的數(shù)量等于隨機存取存儲器的數(shù)量。
5.如權利要求4所述的內(nèi)容可尋址存儲器,其特征在于,所述標簽比特的子集的每一個形成應用于各隨機存取存儲器的每一個的地址。
6.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述多個讀操作包括應用于同一隨機存取存儲器的一個以上的讀操作。
7.如權利要求6所述的內(nèi)容可尋址存儲器,其特征在于,所述應用于同一隨機存取存儲器的一個以上讀操作中的各自一些基于所述標簽值的子集和所述隨機存取存儲器的一部分的標識符指定一地址。
8.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述電路被構成為并行地執(zhí)行所述讀操作中的至少兩個。
9.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述電路還包括用于響應于要寫到所述內(nèi)容可尋址存儲器的標簽值設定至少一個隨機存取存儲器的比特的電路。
10.如權利要求9所述的內(nèi)容可尋址存儲器,其特征在于,所述要被寫入的標簽值包括含至少一個“無關”比特的三重標簽值;以及其中所述用于設定比特的電路包括用于為所述“無關”比特的不同值設定比特的電路。
11.如權利要求1所述的內(nèi)容可尋址存儲器,其特征在于,所述至少一個隨機存取存儲器將數(shù)據(jù)存儲于標識共享所述標簽比特的子集的值的條目的每個地址。
12.一種內(nèi)容可尋址存儲器,包括至少一個標簽輸入;多個隨機存取存儲器,每一個存儲器都對應于標簽內(nèi)的不同比特位置組;電路,用于在讀操作中將不同的標簽比特的子集作為地址應用于不同的各個隨機存取存儲器;以及響應于所述諸讀操作對所述隨機存取存儲器的輸出進行與(AND)運算。
13.如權利要求12所述的內(nèi)容可尋址存儲器,其特征在于,還包括用于編碼所述AND結(jié)果的編碼器。
14.如權利要求13所述的內(nèi)容可尋址存儲器,其特征在于,編碼所述結(jié)果的電路包括選擇以下組的至少一個用于對AND結(jié)果進行操作的至少一個OR門電路的網(wǎng)絡,以及one-hot到二進制的編碼器。
15.如權利要求12所述的內(nèi)容可尋址存儲器,其特征在于,所述電路還包括用于基于要寫入的標簽值在所述多個隨機存取存儲器的每一個中設定至少一個比特的電路。
16.如權利要求15所述的內(nèi)容可尋址存儲器,其特征在于,所述用于設定至少一個比特的電路包括用于基于三重標簽值寫入多個比特的電路。
17.一種方法,包括將接收到的內(nèi)容可尋址存儲器查找標簽值分成多個子標簽值;基于所述多個分別的子標簽值使用地址執(zhí)行至少一個隨機存取存儲器的多個讀操作;以及基于所述讀操作,確定如果有的話哪些條目呈現(xiàn)所述多個子標簽中的每一個;以及響應于所述確定輸出至少一個指示。
18.如權利要求17所述的方法,其特征在于,執(zhí)行多個讀操作包括將多個子標簽中的每一個用作在所述讀操作中指定的地址的至少一部分。
19.如權利要求17所述的方法,其特征在于,所述至少一個隨機存取存儲器包括多個隨機存取存儲器。
20.如權利要求19所述的方法,其特征在于,所述多個隨機存取存儲器在子標簽地址處存儲條目值的比特矢量。
21.如權利要求17所述的方法,其特征在于,還包括接收要寫入的標簽;以及基于所接收的標簽,設定在所述至少一個隨機存取存儲器中的比特。
22.如權利要求21所述的方法,其特征在于,接收標簽包括接收包括至少一個“無關”比特的標簽;以及設定比特包括寫入與所述至少一個隨機存取存儲器之一內(nèi)的同一子標簽的多個值相關聯(lián)的條目數(shù)據(jù)。
23.一種網(wǎng)絡轉(zhuǎn)發(fā)設備,包括交換網(wǎng)狀結(jié)構;以及通過所述交換網(wǎng)狀結(jié)構互連的多個線路卡,線路卡的各自一些包括至少一個網(wǎng)絡端口;以及用于處理經(jīng)由所述至少一個端口接收的分組的電路,所述數(shù)字邏輯電路包括內(nèi)容可尋址存儲器,所述內(nèi)容可尋址存儲器包括至少一個標簽輸入;至少一個輸出;至少一個隨機存取存儲器;內(nèi)容可尋址存儲器電路用于執(zhí)行所述至少一個隨機存取存儲器的多個讀操作,所述讀操作中的不同一些基于標簽比特的不同子集指定地址;以及基于所述多個讀操作,經(jīng)由所述至少一個輸出生成至少一個信號。
24.如權利要求23所述的網(wǎng)絡轉(zhuǎn)發(fā)設備,其特征在于,所述線路卡中的至少一個包括具有在單個管芯上集成的多個多線程引擎的網(wǎng)絡處理器。
全文摘要
公開內(nèi)容包括內(nèi)容可尋址存儲器(CAM)的描述,該CAM包括至少一個標簽輸入、至少一個輸出和至少一個隨機存取存儲器。該CAM包括一電路,它用于執(zhí)行至少一個隨機存取存儲器的多個讀操作,所述讀操作中的不同一些基于標簽比特的不同子集指定地址?;谒龆鄠€讀操作,該CAM經(jīng)由所述至少一個輸出生成至少一個信號。
文檔編號G01C15/00GK1926545SQ200580006191
公開日2007年3月7日 申請日期2005年3月18日 優(yōu)先權日2004年3月25日
發(fā)明者M·羅森布勒斯 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金寨县| 顺昌县| 驻马店市| 高平市| 乌鲁木齐市| 弋阳县| 康马县| 阳东县| 太康县| 梓潼县| 长白| 右玉县| 尤溪县| 梅河口市| 唐海县| 衡东县| 永川市| 祁门县| 宁津县| 汨罗市| 观塘区| 沈丘县| 麟游县| 喀什市| 舟山市| 浠水县| 武功县| 德阳市| 肥西县| 城口县| 鄂托克旗| 集安市| 广饶县| 繁峙县| 县级市| 琼海市| 香港 | 西畴县| 古蔺县| 宜君县| 临沭县|