亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法及裝置的制作方法

文檔序號:7713838閱讀:195來源:國知局
專利名稱:一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn) 方法及裝置。
背景技術(shù)
CAM (Content Addressable Memory,內(nèi)容可尋址存儲器)是一種專用于 查表操作的硬件芯片。與其他基于算法的解決方案相比,CAM具有十分卓越 的性能,也更具可擴(kuò)充性。高速的三狀態(tài)CAM,例如TCAM( Ternary Content Addressable Memory,三狀態(tài)內(nèi)容可尋址存4渚器)允i午對位域進(jìn)4亍0、 l或X (忽略)三種方式的屏蔽(因此稱為三狀態(tài)),可以用來確定最長前綴匹配。 TCAM的高速性能也可以用于IP包的線速轉(zhuǎn)發(fā),而且與基于軟件的方式不同, TCAM的查找性能與路由表的大小和內(nèi)容無關(guān)。
TCAM普遍用于高端路由器路由查找、ACL (Access Control List,訪問 控制列表)查找,以硬件化的路由表查找和分組轉(zhuǎn)發(fā)技術(shù)實(shí)現(xiàn)對各類數(shù)據(jù)包 的快速分類和路由。TCAM內(nèi)部按照entiy (實(shí)體)組織,每個entry包括n bit 數(shù)據(jù)和相同位數(shù)的掩碼(mask)。 TCAM工作原理如圖1所示,每個實(shí)線框代 表一個entry (圖1中列出了 8bit)??刂破矫孳浖騞ata和mask中寫入指定 的數(shù)據(jù)(例如路由表),數(shù)據(jù)平面用 一個Key (鍵值)查找TCAM,看是否能 找到匹配項(xiàng),如果存在匹配項(xiàng),TCAM返回第幾個entry匹配上了。匹配的原 則如果Key & mask = data & mask那么匹配上,否則沒有匹配上,如果找到 多于一個項(xiàng)匹配,則優(yōu)先返回地址低的entry。例如,Key為11101011, Key 與entry 1進(jìn)行匹配查找,Key & mask =11100000, data & mask=00100000,由 于Key & mask不等于data & mask,該entry匹酉己失??;Key與entry2進(jìn)行匹 配查找,Key & mask =00101010, data &mask=00100100,由于Key & mask不 等于data & mask,該entry匹配失敗。
5TCAM核心是輸入的Key與存放在TCAM內(nèi)部的data、 mask^JL& (與) 操作然后比較,為了達(dá)到高查找性能,必須在短時間內(nèi)將Key與TCAM內(nèi)所 有entry都比較一遍,隨著TCAM存放的規(guī)則條數(shù)增加,比較的復(fù)雜程度將 大幅度提高。例如TCAM內(nèi)存了 10000條規(guī)則,為了達(dá)到IOOM次查找每秒 的性能,需要在10ns內(nèi)對這10000條規(guī)則整個比較一次,這是十分困難的事 情。另外,由于占用邏輯資源很多,現(xiàn)有技術(shù)條件下單芯片很難達(dá)到高容量, 導(dǎo)致成本提高,實(shí)現(xiàn)復(fù)雜。

發(fā)明內(nèi)容
本發(fā)明提供了一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法及裝置,可以降低 TCAM設(shè)計(jì)復(fù)雜度。
本發(fā)明提供了一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)裝置,包括傳統(tǒng)TCAM 和cache模塊,
所述cache模塊,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模 塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄 表項(xiàng),如果沒有則將所述Key送到所述傳統(tǒng)TCAM查找匹配表項(xiàng),并根據(jù) Key和所述傳統(tǒng)TCAM返回的結(jié)果添加記錄表項(xiàng);
所述傳統(tǒng)TCAM,查找所述傳統(tǒng)TCAM中所有規(guī)則,返回查找結(jié)果給 cache。
所述傳統(tǒng)TCAM,具體用于按照Key & mask與data & mask比較的方法 查找所述傳統(tǒng)TCAM中所有規(guī)則。 所述cache模塊,具體包括
Key查找子模塊,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模 塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄 表項(xiàng),如果沒有則將所述Key送到所述傳統(tǒng)TCAM查找匹配表項(xiàng);
Key記錄子模塊,用于根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié)果添加記錄 表項(xiàng)。
所述cache才莫塊還包括Key記錄老化子模塊,用于為每個記錄表項(xiàng)設(shè)置不命中時間戳,當(dāng)記錄 表項(xiàng)已滿時將時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。
所述Key查找子模塊,具體用于在所述cache才莫塊中設(shè)置輸入Key與使 用所述輸入Key在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,當(dāng)接收輸入 Key時,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng)。
所述Key查找子模塊,具體用于通過Hash將任意長度的輸入Key變換成 固定長度的輸出Key,在所述cache模塊中設(shè)置輸出Key與使用該輸出Key 對應(yīng)的輸入Key在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,查找所述對 應(yīng)關(guān)系中匹配的輸出Key,如果有一個以上匹配的輸出Key,則再才艮據(jù)所述輸 出Key相對應(yīng)的變換前的輸入Key進(jìn)一步確定匹配的輸出Key。
所述Key記錄子模塊,具體用于記錄多個對應(yīng)關(guān)系表,所述對應(yīng)關(guān)系表 分別包括不同長度的Key與對應(yīng)的查找結(jié)果的對應(yīng)關(guān)系。
信息流的Key為IP才艮文的五元組源IP地址、目的IP地址、源端口號、 目的端口、協(xié)議號;路由的Key為目的IP地址。
本發(fā)明提供了 一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法,應(yīng)用于包括傳統(tǒng) TCAM和cache模塊的裝置中,所述方法包括以下步驟
所述cache模塊從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模塊中是 否有與所述Key匹配的記錄表項(xiàng);
如果有則返回所述Key匹配的記錄表項(xiàng),如果沒有則將所述Key送到所 述傳統(tǒng)TCAM查找匹配表項(xiàng)。
所述查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng),具體包

在所述cache模塊中設(shè)置有輸入Key與使用所述輸入Key在所述傳統(tǒng)
TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系;
當(dāng)接收輸入Key時,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng)。
所述查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng),之前還
包括記錄多個對應(yīng)關(guān)系表,所述對應(yīng)關(guān)系表分別包括不同長度的Key與對應(yīng) 的查找結(jié)果的對應(yīng)關(guān)系。
所述查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng),具體包

在所述cache才莫塊中設(shè)置有輸出Key與使用該輸出Key對應(yīng)的輸入Key 在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,所述輸出Key為通過Hash 將任意長度的輸入Key變換成固定長度的輸出Key;
查找所述對應(yīng)關(guān)系中匹配的輸出Key,如果有一個以上匹配的輸出Key, 則再根據(jù)所述輸出Key相對應(yīng)的變換前的輸入Key進(jìn)一步確定匹配的輸出 Key。
所述送到傳統(tǒng)TCAM查找匹配表項(xiàng),具體包括
所述傳統(tǒng)TCAM按照Key & mask與data & mask比較的方法查找所述傳 統(tǒng)TCAM中所有規(guī)則,返回查找結(jié)果給cache,所述cache根據(jù)Key和所述傳 統(tǒng)TCAM返回的結(jié)果添加記錄表項(xiàng)。
還包括
所述cache模塊為每個記錄表項(xiàng)設(shè)置不命中時間戳,當(dāng)記錄表項(xiàng)已滿時將 時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。
信息流的Key為IP纟艮文的五元組源IP地址、目的IP地址、源端口號、 目的端口、協(xié)議號;路由的Key為目的IP地址。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明中,通過在TCAM芯片內(nèi)按照查找Key生成查找cache來解決現(xiàn) 有TCAM碰到的問題。


圖1是現(xiàn)有技術(shù)中TCAM原理圖2是本發(fā)明中一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法流程圖; 圖3是本發(fā)明中查找系統(tǒng)結(jié)構(gòu)圖;圖4是本發(fā)明中cache模塊結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明通過增加一個cache模塊來降低傳統(tǒng)TCAM的設(shè)計(jì)難度。高端路 由器一般按照逐包轉(zhuǎn)發(fā),也就是說每個報(bào)文都查路由或查ACL;實(shí)際上屬于 同一個連接的報(bào)文具有相同的屬性,例如5元組(源IP地址、目的IP地址、 源端口號、目的端口、協(xié)議號)相同、TOS (Type—Of—Service,服務(wù)類型) 相同等,而key值是通過上述屬性獲得的,對于相同屬性報(bào)文的key值相同, 同一個key值查路由或信息流的結(jié)果都相同。
如果考慮到同 一個連接的報(bào)文查傳統(tǒng)TCAM得到的結(jié)果相同,假定每個 連接有IO個報(bào)文,第一個報(bào)文在cache模塊中找不到匹配的內(nèi)容,因此cache 模塊將Key送到傳統(tǒng)TCAM,在TCAM找到匹配結(jié)果后將結(jié)果送到cache模 塊,后面的9個報(bào)文在cache模塊中即可找到該匹配結(jié)果,無需送到傳統(tǒng) TCAM,那么達(dá)到相同的性能傳統(tǒng)TCAM只需要原來1/10的性能即可,這樣 將大大降低查找系統(tǒng)的復(fù)雜度。
本發(fā)明提供了一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法,應(yīng)用于包括傳統(tǒng) TCAM和cache模塊的裝置中,所述方法如圖2所示,包括以下步驟
步驟201,所述cache模塊從接收報(bào)文中獲取對應(yīng)的Key。 key值根據(jù)報(bào) 文的不同查找目的而不同,例如,對于查路由,key值可以從目的IP地址中 獲取,長度為32bit;對于查ACL, key值從五元組中獲取,長度為104bit。 當(dāng)然,key值的長度需要與TCAM表中對應(yīng)的數(shù)據(jù)及掩碼長度匹配。
步驟202,查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng);如 果有,則轉(zhuǎn)步驟203,如果沒有,轉(zhuǎn)步驟204。
其中,查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng),具體 包括在所述cache模塊中設(shè)置有輸入Key與使用所述輸入Key在所述傳統(tǒng) TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系;當(dāng)接收輸入Key時,在所述對應(yīng)關(guān)系中 查找匹配表項(xiàng)。另外,可以記錄多個對應(yīng)關(guān)系表,所述對應(yīng)關(guān)系表分別包括 不同長度的Key與對應(yīng)的查找結(jié)果的對應(yīng)關(guān)系。其中,查找方式可以通過Hash將任意長度的輸入Key變換成固定長度的 輸出Key,在所述cache模塊中設(shè)置輸出Key與使用該輸出Key對應(yīng)輸入Key 在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系。查找所述cache模塊中是否 有與所述Key匹配的記錄表項(xiàng)時,查找所述對應(yīng)關(guān)系中的輸出Key,如果有 一個匹配,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng);由于有時可能出現(xiàn)多個任意長 度的輸入Key可能會變換成相同的輸出Key,因此,如果有一個以上匹配的 輸出Key,則需要再根據(jù)所述輸出Key相對應(yīng)的變換前的輸入Key進(jìn)一步確 定匹配的輸出Key,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng)。
步驟203,向該報(bào)文的發(fā)起端返回所述Key匹配的記錄表項(xiàng)。 步驟204,表示所述Key代表新數(shù)據(jù)流的第一個報(bào)文,將所述Key送到 所述傳統(tǒng)TCAM查找匹配表項(xiàng)。所述傳統(tǒng)TCAM按照Key & mask與data & mask比較的方法查找所述傳統(tǒng)TCAM中所有規(guī)則,返回查找結(jié)果給cache, 所述cache根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié)果添加記錄表項(xiàng),并將結(jié)果 返回給發(fā)起端。
所述cache模塊為每個記錄表項(xiàng)設(shè)置不命中時間戳,當(dāng)記錄表項(xiàng)已滿時將 時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。當(dāng)然,為了提高系統(tǒng)效率,也可 以在記錄表項(xiàng)沒滿時,將時間戳最老的若干記錄表項(xiàng)刪除;也可以根據(jù)用戶 需求,刪除某段記錄表項(xiàng)。
以下結(jié)合具體應(yīng)用場景對本發(fā)明進(jìn)行詳細(xì)描述
當(dāng)一個Key輸入到查找系統(tǒng),該Key由五元組srcjp 1.1.1.1 dest—ip 2.1.1.1 src_port 3000 dest_port 50000 protocol 80生成,即這5個字,殳可以組織成一 個104bit的Key。查找hash表中是否有匹配該Key對應(yīng)的記錄表項(xiàng),如果有 則直接返回查找結(jié)果,如果沒有則表示這是一個新流的首包,需要將該Key 送到傳統(tǒng)TCAM根據(jù)掩碼查ACL,獲得匹配該Key對應(yīng)的記錄表項(xiàng)。
傳統(tǒng)TCAM按照Key & mask與data & mask比較的方法將所有規(guī)則查一 遍,返回查找結(jié)果給cache, cache才艮據(jù)Key和傳統(tǒng)TCAM的結(jié)果建立一個記 錄,此過程為新增記錄,以后再來同樣Key的報(bào)文就能直接在cache中查找
10了。
另外,cache才莫塊還有一個老化功能,當(dāng)一個信息流結(jié)束后,該信息流的 Key不會進(jìn)入查找系統(tǒng),由于cache中的hash表大小有限,必須將不再使用 的記錄清除為每個記錄設(shè)計(jì)一個不命中時間戳,當(dāng)hash表已滿時將時間戳 最老的記錄替換成新記錄。
本發(fā)明提供了一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)裝置,包括傳統(tǒng)TCAM 和cache模塊,如圖3所示,其中,
cache模塊310,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模 塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄 表項(xiàng),如果沒有則表示所述Key代表新數(shù)據(jù)流的第一個報(bào)文,將所述Key送 到所述傳統(tǒng)TCAM查找匹配表項(xiàng),并根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié) 果添加記錄表項(xiàng);ACL的Key為IP l艮文的五元組源IP地址、目的IP地址、
源端口號、目的端口、協(xié)議號;路由的Key為目的IP地址。其中,Key還可 以根據(jù)其他信息流的特征設(shè)置。
傳統(tǒng)TCAM320,查找所述傳統(tǒng)TCAM中所有規(guī)則,返回查找結(jié)果給 cache。具體用于4姿照Key & mask與data & mask比4交的方法查找所述傳統(tǒng) TCAM中所有規(guī)則。
cache模塊,如圖4所示,具體包括
Key查找子才莫塊410,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache 模塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記 錄表項(xiàng),如果沒有則表示所述Key代表新數(shù)據(jù)流的第一個報(bào)文,將所述Key 送到所述傳統(tǒng)TCAM查找匹配表項(xiàng);
Key查找子模塊410,具體用于在所述cache模塊中設(shè)置輸入Key與使用 所述輸入Key在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,當(dāng)接收輸入 Key時,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng)。另外,可以才艮據(jù)不同長度的Key 與對應(yīng)的查找結(jié)果建立多個對應(yīng)關(guān)系。還可以通過Hash將任意長度的輸入 Key變換成固定長度的輸出Key,在所述cache模塊中設(shè)置輸出Key與使用該輸出Key對應(yīng)輸入Key在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,查找 所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng)時,查找所述對應(yīng)關(guān)系 中匹配的輸出Key,如果有一個以上匹配的輸出Key,則再根據(jù)所述輸出Key 相對應(yīng)的變換前的輸入Key進(jìn)一步確定匹配的輸出Key,在所述對應(yīng)關(guān)系中 查找匹配表項(xiàng)。假定有一個報(bào)文五元組為src—ip l.l丄l dest—ip 2.1.1.1 src_port 3000 dest_port 50000 protocol 80,將這5個字段組織成一個104bit的Key, 看hash表中是否有匹配這個Key的記錄表項(xiàng),如果有則直接返回查找結(jié)果, 如果沒有則表示這是一個新流的首包,需要送到傳統(tǒng)TCAM根據(jù)掩碼查ACL。 Key記錄子才莫塊420,用于根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié)果添加 記錄表項(xiàng)。此過程為新增記錄,以后再來同樣Key的報(bào)文就能直接在cache 中查找了。
由于cache中的hash表大小有限,必須將不再使用的記錄清除,因此, 還包括Key記錄老化子模塊430,用于為每個記錄表項(xiàng)設(shè)置不命中時間戳, 當(dāng)記錄表項(xiàng)已滿時將時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。當(dāng)然,為了 提高系統(tǒng)效率,也可以在記錄表項(xiàng)沒滿時,將時間戳最老的若干記錄表項(xiàng)刪 除;也可以根據(jù)用戶需求,刪除某段記錄表項(xiàng)。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實(shí)現(xiàn)。 基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟 件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實(shí)施例的示意圖,附圖中的 模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述 進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一 個或多個裝置中。上述實(shí)施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)裝置,包括傳統(tǒng)TCAM和cache模塊,其特征在于,所述cache模塊,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄表項(xiàng),如果沒有,則將所述Key送到所述傳統(tǒng)TCAM查找匹配表項(xiàng),并根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié)果添加記錄表項(xiàng);所述傳統(tǒng)TCAM,查找所述傳統(tǒng)TCAM中所有規(guī)則,返回查找結(jié)果給cache。
2、 如權(quán)利要求l所述的裝置,其特征在于,所述傳統(tǒng)TCAM,具體用于 按照Key & mask與data & mask比較的方法查找所述傳統(tǒng)TCAM中所有規(guī)則。
3、 如權(quán)利要求l所述的裝置,其特征在于,所述cache模塊,具體包括 Key查找子模塊,用于從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄 表項(xiàng),如果沒有則將所述Key送到所述傳統(tǒng)TCAM查找匹配表項(xiàng);Key記錄子模塊,用于根據(jù)Key和所述傳統(tǒng)TCAM返回的結(jié)果添加記錄 表項(xiàng)。
4、 如權(quán)利要求3所述的裝置,其特征在于,所述cache模塊還包括 Key記錄老化子模塊,用于為每個記錄表項(xiàng)設(shè)置不命中時間戳,當(dāng)記錄表項(xiàng)已滿時將時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。
5、 如權(quán)利要求3所述的裝置,其特征在于,所述Key查找子模塊,具體 用于在所述cache模塊中設(shè)置輸入Key與使用所述輸入Key在所述傳統(tǒng)TCAM 查找的匹配表項(xiàng)的對應(yīng)關(guān)系,當(dāng)接收輸入Key時,在所述對應(yīng)關(guān)系中查找匹 配表項(xiàng)。
6、 如權(quán)利要求3所述的裝置,其特征在于,所述Key查找子模塊,具體 用于通過Hash將任意長度的輸入Key變換成固定長度的輸出Key,在所述 cache模塊中設(shè)置輸出Key與使用該輸出Key對應(yīng)的輸入Key在所述傳統(tǒng) TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,查找所述對應(yīng)關(guān)系中匹配的輸出Key,如果有一個以上匹配的輸出Key,則再才艮據(jù)所述llr出Key相對應(yīng)的變換前的 輸入Key進(jìn)一步確定匹配的輸出Key。
7、 如權(quán)利要求3所述的裝置,其特征在于,所述Key記錄子模塊,具體 用于記錄多個對應(yīng)關(guān)系表,所述對應(yīng)關(guān)系表分別包括不同長度的Key與對應(yīng) 的查找結(jié)果的對應(yīng)關(guān)系。
8、 如權(quán)利要求1至7中任一項(xiàng)所述的裝置,其特征在于,所述Key根據(jù) 信息流的特征i殳置。
9、 一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法,應(yīng)用于包括傳統(tǒng)TCAM和 cache模塊的裝置中,其特征在于,所述方法包括以下步驟所述cache模塊從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模塊中是 否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄表項(xiàng),如果沒有則將所述Key送到所 述傳統(tǒng)TCAM查找匹配表項(xiàng)。
10、 如權(quán)利要求9所述的方法,其特征在于,所述查找所述cache模塊中 是否有與所述Key匹配的記錄表項(xiàng),具體包括在所述cache模塊中設(shè)置有輸入Key與使用所述輸入Key在所述傳統(tǒng) TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系;當(dāng)接收輸入Key時,在所述對應(yīng)關(guān)系中查找匹配表項(xiàng)。
11、 如權(quán)利要求IO所述的方法,其特征在于,所述查找所述cache模塊 中是否有與所述Key匹配的記錄表項(xiàng),之前還包括記錄多個對應(yīng)關(guān)系表,所述對應(yīng)關(guān)系表分別包括不同長度的Key與對應(yīng) 的查找結(jié)果的對應(yīng)關(guān)系。
12、 如權(quán)利要求9所述的方法,其特征在于,所述查找所述cache模塊中 是否有與所述Key匹配的記錄表項(xiàng),具體包括在所述cache模塊中設(shè)置有輸出Key與使用該輸出Key對應(yīng)的輸入Key 在所述傳統(tǒng)TCAM查找的匹配表項(xiàng)的對應(yīng)關(guān)系,所述輸出Key為通過Hash 將任意長度的輸入Key變換成固定長度的輸出Key;查找所述對應(yīng)關(guān)系中匹配的輸出Key,如果有一個以上匹配的輸出Key, 則再根據(jù)所述輸出Key相對應(yīng)的變換前的輸入Key進(jìn)一步確定匹配的輸出 Key。
13、 如權(quán)利要求9所述的方法,其特征在于,所述送到傳統(tǒng)TCAM查找 匹配表項(xiàng),具體包括所述傳統(tǒng)TCAM按照Key & mask與data & mask比較的方法查找所述傳 統(tǒng)TCAM中所有身見則,返回查找結(jié)果給cache,所述cache才艮據(jù)Key和所述傳 統(tǒng)TCAM返回的結(jié)果添加記錄表項(xiàng)。
14、 如權(quán)利要求9所述的方法,其特征在于,還包括所述cache模塊為每個記錄表項(xiàng)設(shè)置不命中時間戳,當(dāng)記錄表項(xiàng)已滿時將 時間戳最老的記錄表項(xiàng)替換成新記錄表項(xiàng)。
15、 如權(quán)利要求9至14中任一項(xiàng)所述的方法,其特征在于,所述Key根 據(jù)信息流特征設(shè)置。
全文摘要
本發(fā)明公開了一種三狀態(tài)內(nèi)容可尋址存儲器實(shí)現(xiàn)方法,應(yīng)用于包括傳統(tǒng)TCAM和cache模塊的裝置中,所述方法包括以下步驟所述cache模塊從接收報(bào)文中獲取對應(yīng)的Key,查找所述cache模塊中是否有與所述Key匹配的記錄表項(xiàng);如果有則返回所述Key匹配的記錄表項(xiàng),如果沒有則將所述Key送到所述傳統(tǒng)TCAM查找匹配表項(xiàng)。本發(fā)明中,通過在TCAM芯片內(nèi)按照查找Key生成查找cache來解決現(xiàn)有TCAM碰到的問題。
文檔編號H04L12/56GK101651628SQ200910176489
公開日2010年2月17日 申請日期2009年9月17日 優(yōu)先權(quán)日2009年9月17日
發(fā)明者宋建明 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1