1.一種分組處理方法,包括:
使用根據(jù)與第一分組相關(guān)聯(lián)的信息構(gòu)造的第一鍵來生成第一哈希值和第二哈希值;
從第一表中的槽中的單元格讀取第一塊編號,所述第一表中的所述槽是由所述第一哈希值來索引的,并且所述單元格是由所述第二哈希值來索引的;
執(zhí)行針對第二表中的槽中的塊的存儲器訪問,以便從所述塊讀取包括所述第一分組的分組處理信息的數(shù)據(jù),所述第二表中的所述槽是由所述第一哈希值來索引的,所述塊是由所述第一塊編號來索引的;以及
根據(jù)所述第一分組的所述分組處理信息來處理所述第一分組。
2.如權(quán)利要求1所述的方法,其中:
生成所述第一哈希值包括將第一哈希函數(shù)應(yīng)用于所述第一鍵;以及
生成所述第二哈希值包括將第二哈希函數(shù)應(yīng)用于所述第一鍵。
3.如權(quán)利要求1所述的方法,其中,執(zhí)行針對所述塊的所述存儲器訪問包括在突發(fā)中從存儲所述第二表的存儲器讀取所述塊。
4.如權(quán)利要求1所述的方法,其中:
所述塊存儲多個沖突元素;
所述多個沖突元素中的每個沖突元素存儲相應(yīng)鍵以及與所述相應(yīng)鍵相關(guān)聯(lián)的相應(yīng)分組處理信息;以及
執(zhí)行針對所述塊的所述存儲器訪問包括讀取所述多個沖突元素。
5.如權(quán)利要求4所述的方法,還包括:確定所述多個沖突元素中的一個沖突元素的相應(yīng)鍵與所述第一鍵匹配;
其中,處理所述第一分組包括根據(jù)具有與所述第一鍵匹配的所述相應(yīng)鍵的所述沖突元素中的所述相應(yīng)分組處理信息來處理所述第一分組。
6.如權(quán)利要求4所述的方法,其中:
讀取所述多個沖突元素包括確定用于存儲所述第二表的存儲器中的存儲器偏移以及讀取所述存儲器中的具有所述存儲器偏移的位置;
其中,確定所述存儲器偏移包括計算如下表達式:
(h1(k)*n+q*(第一塊編號))*y,
其中,h1(k)是所述第一哈希值,n是所述第二表的每個槽中的沖突元素的數(shù)量,q是所述多個沖突元素中的沖突元素的數(shù)量,以及y是每個沖突元素的大小。
7.如權(quán)利要求1所述的方法,其中:
所述第一表被存儲在靜態(tài)隨機訪問存儲器(SRAM)中;以及
所述第二表被存儲在動態(tài)隨機訪問存儲器(DRAM)中。
8.如權(quán)利要求1所述的方法,還包括:確定所述第一塊編號是用于所述第二表的有效塊編號;
其中,針對所述塊的所述存儲器訪問是響應(yīng)于確定所述第一塊編號是用于所述第二表的有效塊編號來執(zhí)行的。
9.如權(quán)利要求1所述的方法,其中:
所述第一分組的所述分組處理信息指定輸出端口;以及
根據(jù)所述第一分組的所述分組處理信息來處理所述第一分組包括將所述第一分組提供給所述輸出端口以用于傳輸。
10.如權(quán)利要求1所述的方法,還包括:
確定所述第二表未存儲第二分組的分組處理信息;
使用根據(jù)與所述第二分組相關(guān)聯(lián)的信息構(gòu)造的第二鍵來生成第三哈希值和第四哈希值;
從第三表中的槽中的單元格讀取第二塊編號,所述第三表中的所述槽是由所述第三哈希值來索引的,所述第三表中的所述槽中的所述單元格是由所述第四哈希值來索引的;
執(zhí)行針對第四表中的槽中的塊的存儲器訪問以便從所述塊讀取包括所述第二分組的分組處理信息的數(shù)據(jù),所述第四表中的所述槽是由所述第三哈希值來索引的,所述第四表中的所述槽中的所述塊是由所述第二塊編號來索引的;以及
根據(jù)所述第二分組的所述分組處理信息來處理所述第二分組。
11.如權(quán)利要求10所述的方法,其中:
生成所述第三哈希值包括將第三哈希函數(shù)應(yīng)用于所述第二鍵;以及
生成所述第四哈希值包括將第四哈希函數(shù)應(yīng)用于所述第二鍵。
12.如權(quán)利要求10所述的方法,其中,確定所述第二表未存儲所述第二分組的分組處理信息包括:
使用所述第二鍵生成第五哈希值和第六哈希值;
在所述第一表中,讀取由所述第五哈希值索引的槽中的由所述第六哈希值索引的單元格;以及
確定從由所述第五哈希值索引的所述槽中的由所述第六哈希值索引的所述單元格讀取的值指示所述第二表未存儲所述第二分組的分組處理信息。
13.如權(quán)利要求10所述的方法,其中:
所述第四表中的所述槽中的所述塊存儲多個沖突元素;
所述多個沖突元素中的每個沖突元素存儲相應(yīng)鍵以及與所述相應(yīng)鍵相關(guān)聯(lián)的相應(yīng)分組處理信息;以及
執(zhí)行針對所述第四表中的所述槽中的所述塊的所述存儲器訪問包括讀取所述多個沖突元素。
14.如權(quán)利要求13所述的方法,還包括:確定所述多個沖突元素中的一個沖突元素的相應(yīng)鍵與所述第二鍵匹配;
其中,處理所述第二分組包括根據(jù)具有與所述第二鍵匹配的所述相應(yīng)鍵的所述沖突元素中的所述相應(yīng)分組處理信息來處理所述第二分組。
15.如權(quán)利要求13所述的方法,其中:
讀取所述多個沖突元素包括確定用于存儲所述第四表的存儲器中的存儲器偏移并且讀取所述存儲器中的具有所述存儲器偏移的位置;
其中,確定所述存儲器偏移包括計算如下表達式:
(h3(k)*n+q*(第二塊編號))*y,
其中,h3(k)是所述第三哈希值,n是所述第四表的每個槽中的沖突元素的數(shù)量,q是所述多個沖突元素中的沖突元素的數(shù)量,并且y是每個沖突元素的大小。
16.如權(quán)利要求10所述的方法,其中:
所述第三表被存儲在SRAM中;并且
所述第四表被存儲在DRAM中。
17.如權(quán)利要求10所述的方法,其中,執(zhí)行針對所述第四表中的所述槽中的所述塊的所述存儲器訪問包括在突發(fā)中從用于存儲所述第四表的存儲器讀取所述第四表中的所述槽中的所述塊。
18.一種維護用于分組處理的查找表的方法,包括:
創(chuàng)建第一表,所述第一表被劃分為第一批多個槽,所述第一批多個槽中的每一個槽被劃分為第一批多個單元格;
創(chuàng)建第二表,所述第二表被劃分為第二批多個槽,所述第二批多個槽中的每一個槽被劃分為第一批多個塊;
使用第一鍵來生成第一哈希值和第二哈希值;
將所述第一鍵和與所述第一鍵相關(guān)聯(lián)的分組處理信息存儲在所述第二表中的相應(yīng)槽中的相應(yīng)塊中,所述第二表中的所述相應(yīng)槽是由所述第一哈希值來索引的,所述相應(yīng)塊具有第一塊編號;以及
將所述第一塊編號存儲在所述第一表中的相應(yīng)槽中的相應(yīng)單元格中,所述第一表中的所述相應(yīng)槽是由所述第一哈希值來索引的,所述第一表中的所述相應(yīng)槽中的所述相應(yīng)單元格是由所述第二哈希值來索引的。
19.如權(quán)利要求18所述的方法,其中:
所述第一批多個塊中的每一塊包括多個沖突元素;以及
存儲所述第一鍵和與所述第一鍵相關(guān)聯(lián)的所述分組處理信息包括將所述第一鍵和與所述第一鍵相關(guān)聯(lián)的所述分組處理信息存儲在所述第二表中的所述相應(yīng)槽中的所述相應(yīng)塊中的沖突元素中。
20.如權(quán)利要求18所述的方法,其中:
創(chuàng)建所述第一表包括將所述第一表存儲在第一存儲器中;
創(chuàng)建所述第二表包括將所述第二表存儲在第二存儲器中;以及
所述方法還包括獨立于所述第一批多個塊中的其它塊來訪問所述第一批多個塊中的相應(yīng)塊。
21.如權(quán)利要求20所述的方法,還包括:獨立于所述第一批多個單元格中的其它單元格來訪問所述第一批多個單元格中的相應(yīng)單元格。
22.如權(quán)利要求18所述的方法,還包括:
創(chuàng)建第三表,所述第三表被劃分為第三批多個槽,所述第三批多個槽中的每一個槽被劃分為第二批多個單元格;
創(chuàng)建第四表,所述第四表被劃分為第四批多個槽,所述第四批多個槽中的每一個槽被劃分為第二批多個塊;
使用第二鍵來生成第三哈希值和第四哈希值;
將所述第二鍵和與所述第二鍵相關(guān)聯(lián)的分組處理信息存儲在所述第四表中的相應(yīng)槽中的相應(yīng)塊中,所述第四表中的所述相應(yīng)槽是由所述第三哈希值來索引的,所述相應(yīng)塊具有第二塊編號;以及
將所述第二塊編號存儲在所述第三表中的相應(yīng)槽中的相應(yīng)單元格中,所述第三表中的所述相應(yīng)槽是由所述第三哈希值來索引的,所述第三表中的所述相應(yīng)槽中的所述相應(yīng)單元格是由所述第四哈希值來索引的。
23.一種分組處理系統(tǒng),包括:
哈希模塊,其用于使用根據(jù)與第一分組相關(guān)聯(lián)的信息構(gòu)造的第一鍵來生成第一哈希值和第二哈希值;
表訪問模塊,其用于:
從第一表中的槽中的單元格讀取第一塊編號,所述第一表中的所述槽是由所述第一哈希值來索引的,并且所述單元格是由所述第二哈希值來索引的;
執(zhí)行針對第二表中的槽中的塊的存儲器訪問以便從所述塊讀取包括分組處理信息的數(shù)據(jù),所述第二表中的所述槽是由所述第一哈希值來索引的,所述塊是由所述第一塊編號來索引的;以及
分組處理模塊,其用于根據(jù)從所述塊讀取的分組處理信息來處理所述第一分組。
24.如權(quán)利要求23所述的系統(tǒng),其中:
所述表訪問模塊用于從所述塊讀取多個沖突元素,其中,所述多個沖突元素中的相應(yīng)沖突元素存儲相應(yīng)鍵和與所述相應(yīng)鍵相關(guān)聯(lián)的相應(yīng)分組處理信息;以及
所述表訪問模塊包括比較邏輯單元,其用于確定所述多個沖突元素中的一個沖突元素的相應(yīng)鍵與所述第一鍵匹配;
其中,所述分組處理模塊用于根據(jù)具有與所述第一鍵匹配的所述相應(yīng)鍵值的所述沖突元素中的所述相應(yīng)分組處理信息來處理所述第一分組。
25.如權(quán)利要求23所述的系統(tǒng),還包括:
用于存儲所述第一表的靜態(tài)隨機訪問存儲器(SRAM);以及
用于存儲所述第二表的動態(tài)隨機訪問存儲器(DRAM)。
26.如權(quán)利要求23所述的系統(tǒng),其中,所述表訪問模塊還用于確定所述第一塊編號是否是用于所述第二表的有效塊編號,并且響應(yīng)于確定所述第一塊編號是用于所述第二表的有效塊編號來執(zhí)行針對所述第二表中的所述槽中的所述塊的所述存儲器訪問。
27.如權(quán)利要求23所述的系統(tǒng),還包括:用于接收和發(fā)送分組的多個端口;
其中,所述分組處理模塊用于使用從所述塊讀取的分組處理信息來將所述第一分組路由到所述多個端口中的相應(yīng)端口以用于傳輸。
28.如權(quán)利要求23所述的系統(tǒng),其中:
所述表訪問模塊還用于確定所述第二表未存儲第二分組的分組處理信息;
所述哈希模塊還用于使用根據(jù)與所述第二分組相關(guān)聯(lián)的信息構(gòu)造的第二鍵來生成第三哈希值和第四哈希值;
所述表訪問模塊還用于:
從第三表中的槽中的單元格讀取第二塊編號,所述第三表中的所述槽是由所述第三哈希值來索引的,所述第三表中的所述槽中的所述單元格是由所述第四哈希值來索引的;
執(zhí)行針對第四表中的槽中的塊的存儲器訪問以便讀取包括分組處理信息的數(shù)據(jù),所述第四表中的所述槽是由所述第三哈希值來索引的,所述第四表中的所述槽中的所述塊是由所述第二塊編號來索引的;以及
所述分組處理模塊還用于根據(jù)從所述第四表中的所述槽中的所述塊讀取的分組處理信息來處理所述第二分組。
29.一種分組處理系統(tǒng),包括:
用于哈希的單元,其包括用于使用根據(jù)與第一分組相關(guān)聯(lián)的信息構(gòu)造的第一鍵來生成第一哈希值和第二哈希值的單元;
用于讀取表的單元,其包括:
用于從第一表中的槽中的單元格讀取第一塊編號的單元,所述第一表中的所述槽是由所述第一哈希值來索引的,并且所述單元格是由所述第二哈希值來索引的;
用于執(zhí)行針對第二表中的槽中的塊的存儲器訪問的單元,所述第二表中的所述槽是由所述第一哈希值來索引的,所述塊是由所述第一塊編號來索引的;以及
用于處理分組的單元,其包括用于根據(jù)從所述塊讀取的分組處理信息來處理所述第一分組的單元。
30.如權(quán)利要求29所述的系統(tǒng),其中:
所述用于讀取表的單元還包括用于確定所述第二表未存儲第二分組的分組處理信息的單元;
所述用于哈希的單元還包括用于使用根據(jù)與所述第二分組相關(guān)聯(lián)的信息構(gòu)造的第二鍵來生成第三哈希值和第四哈希值的單元;
所述用于讀取表的單元額外地包括:
用于從第三表中的槽中的單元格讀取第二塊編號的單元,所述第三表中的所述槽是由所述第三哈希值來索引的,所述第三表中的所述槽中的所述單元格是由所述第四哈希值來索引的;
用于執(zhí)行針對第四表中的槽中的塊的存儲器訪問的單元,所述第四表中的所述槽是由所述第三哈希值來索引的,所述第四表中的所述槽中的所述塊是由所述第二塊編號來索引的;以及
所述用于處理分組的單元還包括用于根據(jù)從所述第四表中的所述槽中的所述塊讀取的分組處理信息來處理所述第二分組的單元。