[發(fā)明專利]基于散列鏈表的內(nèi)容尋址方法及相應(yīng)的存儲器電路有效
| 申請?zhí)枺?/td> | 201210579916.8 | 申請日: | 2012-12-27 |
| 公開(公告)號: | CN103064948A | 公開(公告)日: | 2013-04-24 |
| 發(fā)明(設(shè)計)人: | 田澤;張榮華;張玲;劉航 | 申請(專利權(quán))人: | 中國航空工業(yè)集團公司第六三一研究所 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F12/02 |
| 代理公司: | 西安智邦專利商標代理有限公司 61211 | 代理人: | 王少文 |
| 地址: | 710068 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 散列鏈表 內(nèi)容 尋址 方法 相應(yīng) 存儲器 電路 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計算機硬件技術(shù),涉及一種內(nèi)容尋址存儲器實現(xiàn)方法。
背景技術(shù)
內(nèi)容尋址存儲器(Content?Addressable?Memory,簡稱CAM)是一種特殊的存儲器陣列,它的主要工作機制就是將一個輸入數(shù)據(jù)項與存儲在CAM中的所有數(shù)據(jù)項自動進行比較,并輸出該數(shù)據(jù)項對應(yīng)的匹配信息,具有檢索速度快,使用靈活等特點,被廣泛應(yīng)用于網(wǎng)絡(luò)通信等領(lǐng)域。現(xiàn)有技術(shù)主要采用晶體管級全定制電路設(shè)計實現(xiàn),其優(yōu)點是檢索速度快,缺點是需要專門工藝、成本高昂,不利于大規(guī)模使用;目前基于RTL設(shè)計的電路一般采用串行、并行、二分法、散列法等設(shè)計思路,設(shè)計的電路不是檢索速度慢,就是消耗資源太多,不利于檢索深度和寬度的擴展,無法滿足現(xiàn)代網(wǎng)絡(luò)通信和數(shù)據(jù)處理對檢索深度和速度的使用要求。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種采用RTL設(shè)計語言,綜合散列查找、鏈表存儲、并行比較等技術(shù)的內(nèi)容尋址存儲器電路實現(xiàn)方法。
本發(fā)明的解決方案是:
一種基于鏈接散列的內(nèi)容尋址方法,其包括以下步驟:
步驟1、用戶定義檢索關(guān)鍵字和檢索深度,其中檢索關(guān)鍵字位寬為M,檢索關(guān)鍵字關(guān)聯(lián)內(nèi)容位寬為C,檢索深度為2S;
步驟2、取檢索關(guān)鍵字最高位作為分支BR,從次高位開始依次取3位作為迷你關(guān)鍵字MKEY,檢索關(guān)鍵字剩余位作為散列地址HASHADD;
步驟3、定義檢索散列函數(shù),將檢索關(guān)鍵字作為散列函數(shù)的輸入,散列地址HASHADD作為散列函數(shù)的結(jié)果;
步驟4、構(gòu)造鏈表存儲器,在鏈表存儲器中動態(tài)創(chuàng)建散列函數(shù)結(jié)果沖突的檢索數(shù)據(jù)鏈表,其中沖突數(shù)目大于1且小于等于4時,創(chuàng)建一級鏈表存儲器,沖突數(shù)目大于4時,創(chuàng)建二級鏈表存儲器;鏈表存儲器地址寬度為S/2,存儲器數(shù)據(jù)寬度為W=4×(關(guān)鍵字有效位+迷你關(guān)鍵字+偏移地址),存儲4個檢索關(guān)鍵字對應(yīng)的關(guān)鍵字有效位#_VAL、迷你關(guān)鍵字#_MKEY、偏移地址#_OFFSET,所述#_VAL代表3_VAL,2_VAL,1_VAL,0_VAL;所述#_MKEY代表3_MKEY,2_MKEY,1_MKEY,0_MKEY;所述#_OFFSET代表3_OFFSET,2_OFFSET,1_OFFSET,0_OFFSET;
當3_VAL為1時,鏈表存儲器3_VAL、3_MKEY、3_OFFSET字段為一個有效的數(shù)據(jù)項對應(yīng)的檢索信息;當3_VAL為0且3_MKEY為111時,字段3_OFFSET為一個二級鏈表指針;當3_VAL為0且3_MKEY為100時,字段3_OFFSET為下一個空閑鏈表指針;當3_VAL為0且3_MKEY為其他值時,3_MKEY、3_OFFSET字段為無效的數(shù)據(jù)項;
步驟5、構(gòu)造鏈表存儲器管理電路,包括位寬為S/2的空閑鏈表頭指針、位寬為S/2的空閑鏈表尾指針、位寬為S/2+1的空閑鏈表計數(shù)器、位寬為S/2+1的鏈表使用計數(shù)器;
步驟5.1,內(nèi)容尋址存儲器復(fù)位后,空閑鏈表頭指針為0,空閑鏈表尾指針為2S/2-1,空閑鏈表計數(shù)為2S/2,鏈表初始化狀態(tài)信號為0,鏈表使用計數(shù)器為2;
步驟5.2,當內(nèi)容尋址存儲器新增數(shù)據(jù)項的散列結(jié)果沖突,且為第2個或第5個沖突數(shù)據(jù)項,將動態(tài)分配空閑鏈表頭指針作為新的散列沖突數(shù)據(jù)項存儲位置;當鏈表使用計數(shù)器小于2S/2時,空閑鏈表計數(shù)器減1,空閑鏈表頭指針加1,鏈表使用計數(shù)器加1;當鏈表使用計數(shù)器大于等于2S/2時,首先按照空閑頭指針訪問鏈表存儲器,將獲取的下一個空閑鏈表指針作為新的空閑鏈表頭指針,然后空閑鏈表計數(shù)器減1,鏈表使用計數(shù)器不變。
步驟5.3,當內(nèi)容尋址存儲器刪除某數(shù)據(jù)項時,如果刪除前該地址散列結(jié)果沖突數(shù)目為2或5,要求對刪除后的散列沖突數(shù)據(jù)項排列進行移位,釋放一個鏈表存儲器地址。并將釋放的鏈表存儲器地址作為下一個空閑鏈表指針寫到空閑鏈表尾指針指向的鏈表存儲器地址,然后將釋放的鏈表存儲器地址作為新的空閑鏈表尾指針,然后空閑鏈表計數(shù)器加1,鏈表使用計數(shù)器不變。
步驟6、構(gòu)造一個散列存儲器,散列存儲器地址寬度為(M-4),數(shù)據(jù)寬度=2×(迷你關(guān)鍵字位寬+檢索關(guān)鍵字對應(yīng)的偏移地址位寬+鏈表存儲器地址位寬+鏈表指針有效位);存儲器數(shù)據(jù)內(nèi)容包括位數(shù)相等的高字段和低字段,其中高字段對應(yīng)分支BR=1的數(shù)據(jù)、低字段對應(yīng)分支BR=0的數(shù)據(jù),字段數(shù)據(jù)依次為鏈表指針有效位EXL,一級鏈表指針LINK,關(guān)鍵字有效位VAL,迷你關(guān)鍵字MKEY,偏移地址OFFSET;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國航空工業(yè)集團公司第六三一研究所,未經(jīng)中國航空工業(yè)集團公司第六三一研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210579916.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于二維散列的海量數(shù)據(jù)的快速操作方法
- 根據(jù)移動終端的UA匹配資源的方法和裝置
- 一種高速網(wǎng)絡(luò)的內(nèi)容還原方法
- 基于散列鏈表的內(nèi)容尋址方法及相應(yīng)的存儲器電路
- 基于內(nèi)存的散列表的構(gòu)建方法、文本查找方法及相應(yīng)裝置
- 一種高效動態(tài)自動維護的路由表結(jié)構(gòu)的路由選擇方法及路由表管理方法
- 一種散列表數(shù)據(jù)的寫入、讀取方法及系統(tǒng)
- 包括資源有效索引的鍵值存儲系統(tǒng)
- 數(shù)據(jù)匹配方法、裝置及計算機設(shè)備
- 一種游戲數(shù)據(jù)的處理方法、裝置、服務(wù)器及存儲介質(zhì)
- 內(nèi)容再現(xiàn)系統(tǒng)、內(nèi)容提供方法、內(nèi)容再現(xiàn)裝置、內(nèi)容提供裝置、內(nèi)容再現(xiàn)程序和內(nèi)容提供程序
- 內(nèi)容記錄系統(tǒng)、內(nèi)容記錄方法、內(nèi)容記錄設(shè)備和內(nèi)容接收設(shè)備
- 內(nèi)容服務(wù)系統(tǒng)、內(nèi)容服務(wù)器、內(nèi)容終端及內(nèi)容服務(wù)方法
- 內(nèi)容分發(fā)系統(tǒng)、內(nèi)容分發(fā)裝置、內(nèi)容再生終端及內(nèi)容分發(fā)方法
- 內(nèi)容發(fā)布、內(nèi)容獲取的方法、內(nèi)容發(fā)布裝置及內(nèi)容傳播系統(tǒng)
- 內(nèi)容提供裝置、內(nèi)容提供方法、內(nèi)容再現(xiàn)裝置、內(nèi)容再現(xiàn)方法
- 內(nèi)容傳輸設(shè)備、內(nèi)容傳輸方法、內(nèi)容再現(xiàn)設(shè)備、內(nèi)容再現(xiàn)方法、程序及內(nèi)容分發(fā)系統(tǒng)
- 內(nèi)容發(fā)送設(shè)備、內(nèi)容發(fā)送方法、內(nèi)容再現(xiàn)設(shè)備、內(nèi)容再現(xiàn)方法、程序及內(nèi)容分發(fā)系統(tǒng)
- 內(nèi)容再現(xiàn)裝置、內(nèi)容再現(xiàn)方法、內(nèi)容再現(xiàn)程序及內(nèi)容提供系統(tǒng)
- 內(nèi)容記錄裝置、內(nèi)容編輯裝置、內(nèi)容再生裝置、內(nèi)容記錄方法、內(nèi)容編輯方法、以及內(nèi)容再生方法





