專利名稱:一種實現(xiàn)sdram查表的方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)SDRAM查表的方法、裝置 及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
隨著IP業(yè)務(wù)的不斷豐富和電信化運營的不斷融合,運營商對承載路由器的 帶寬要求日益提高,因此對業(yè)務(wù)轉(zhuǎn)發(fā)查表的性能和容量提出了更高的需求。通 過夕卜4圭SDRAM Synchronous Dynamic Random Access Memory (同步動態(tài)F逸 機(jī)存儲器)并結(jié)合相應(yīng)的表相匹配算法技術(shù),可以實現(xiàn)更高性能和更大容量的 業(yè)務(wù)轉(zhuǎn)發(fā)查表功能?;赟DRAM的查表實現(xiàn)方案中,每個表項寫入配置時, 需要將配置信息復(fù)制到多個bank (塊)中,以避免由于tRC ( Read Cycle time, 讀周期)延時等待導(dǎo)致的查表性能下降。所述tRC是對SDRAM的同一bank操 作的時間間隔。在現(xiàn)有的業(yè)務(wù)轉(zhuǎn)發(fā)查表過程中,把各查表請求輪流分配到某個 可用的bank上,然后對相應(yīng)的bank執(zhí)行讀取操作。具體操作如下
以SDRAM的bank為單位,映射出相應(yīng)數(shù)目的FIFO (First Input First Output,先進(jìn)先出隊列),每個bank對應(yīng)一個FIFO;
針對某個表項的查表請求,首先查找復(fù)制該表項配置信息的bank,然后選 擇其中一個bank對應(yīng)的FIFO存儲所述查表請求。選擇FIFO的實現(xiàn)方式是判 斷各個存放所述表項配置信息的bank對應(yīng)的FIFO當(dāng)前的存放深度,選擇存放 深度最淺的FIFO;如果有多個FIFO的存放深度都是最淺的,則按照bank號順 序存儲;
當(dāng)對SDRAM進(jìn)行讀操作時,按照bank號順序,輪流從bank對應(yīng)的FIFO中
4讀取查表請求并執(zhí)行讀取操作。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題
將表項的查找請求讀入FIFO的操作和從FIFO中讀出表項的查找請求操作 分別遵循各自的輪詢機(jī)制,且在從FIFO中讀出表項的查找請求時,須按順序讀 取每個FIFO,因此現(xiàn)有技術(shù)方案缺少靈活性,且降低了查表性能。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了 一種實現(xiàn)SDRAM查表的方法、裝置及網(wǎng)絡(luò)設(shè)備,
以提高查表過程中的靈活性和查表性能。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的
一種實現(xiàn)同步動態(tài)隨機(jī)存儲器SDRAM查表的方法,包括
根據(jù)查表請求確定該查表請求對應(yīng)的待操作塊bank,所述待操作塊bank
存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作; 根據(jù)所述查表請求,對所述待操作bank執(zhí)行查表操作。 一種實現(xiàn)SDRAM查表的裝置,包括
塊確定模塊,用于確定查表請求對應(yīng)的待操作塊bank,所述待操作塊bank 存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作;
查表執(zhí)行模塊,用于根據(jù)所述查表請求,對所述塊確定模塊確定的待操作 bank執(zhí)行查表操作。
一種網(wǎng)絡(luò)設(shè)備,包括上述的裝置。
由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,本發(fā)明實施例中,由于 確定的待操作bank是當(dāng)前允許執(zhí)行查表操作的bank,當(dāng)確定待操作bank后即 可執(zhí)行查表操作,無需在讀取FIFO中的查表請求時采取輪詢機(jī)制,因此增加了 查表操作的靈活性,且提高了查表性能。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施 例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖 僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性 勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例 一 的處理過程示意圖; 圖2為本發(fā)明實施例二的處理過程示意圖; 圖3為本發(fā)明實施例三的處理過程示意圖; 圖4為本發(fā)明實施例提供的裝置結(jié)構(gòu)示意圖 圖5為本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是 全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造 性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
運營商對承載路由器、企業(yè)網(wǎng)交換機(jī)、以及網(wǎng)關(guān)等等通信設(shè)備的帶寬要求 日益提高,并且需要支持的用戶越來越多,因此對業(yè)務(wù)轉(zhuǎn)發(fā)查表在性能和容量 上都^:出了更高的需求。
基于SDRAM的查表實現(xiàn)方案中,由于tRC的限制,當(dāng)對一個bank執(zhí)行完 查表操作后,在tRC內(nèi)不允許再次對該bank執(zhí)行操作。所述查表操作具體可以 是讀、寫,或刷新等等操作。以tRC-20ns的36bit(比特)RLDRAMII ( Reduce Latency DDR-SDRAM,縮短潛伏期的DDR方式的SDRAM, DDR, Double Data Rate雙倍速內(nèi)存)為例,在400MHz時鐘頻率下,對同一個bank要求隔8拍才能再次進(jìn)行查表操作,其中, 一拍的時間為」一G) = 2.5m'。
在本發(fā)明實施例中,SDRAM的查表過程包括才艮據(jù)查表請求確定該查表 請求對應(yīng)的待操作bank,所述待操作bank存儲所述查表請求中的待查表項且當(dāng) 前允許執(zhí)行查表操作;根據(jù)所述查表請求,對所述待操作bank執(zhí)行查表操作。 所述允許執(zhí)行查表操作是指當(dāng)前距離上一次對所述bank執(zhí)行查表操作的時間 超過tRC。仍以上述條件的RLDRAM為例,所述允許執(zhí)行查表操作是指當(dāng)前距 離上一次對所述bank執(zhí)行查表操作超過8拍。
上述本發(fā)明實施例提供的技術(shù)方案,由于確定的待操作bank是當(dāng)前允許執(zhí) 行查表操作的bank,確定待操作bank后可立即執(zhí)行查表操作,無需在寫入查表 請求以及讀取執(zhí)行查表請求時采取雙輪詢機(jī)制,因此增加了查表操作的靈活 性,且提高了查表性能。
上述本發(fā)明實施例提供的技術(shù)方案中,所述查表請求的類型可以是讀請 求、或?qū)懻埱?、或刷新請求等等。所述確定查表請求對應(yīng)的待操作塊bank信息 的操作具體包括如果所述查表請求是讀請求,按照bank號順序檢查各個bank, 當(dāng)某個bank存儲了所述待查表項且當(dāng)前允許執(zhí)行查表操作時,確定該bank為所 述查表請求對應(yīng)的待操作bank,當(dāng)所述查表請求為讀取請求時,在確定了待操 作bank并執(zhí)行查表操作后無需再對其后的bank進(jìn)行檢查;當(dāng)所述查表請求為寫 請求或刷新請求時,則根據(jù)查表請求中攜帶的bank信息,對所述查表請求指定 的bank依次進(jìn)行4企查,確定所有當(dāng)前允許執(zhí)行查表操作的bank為該查表請求對 應(yīng)的待操作bank,且每確定一個待操作bank后,即對所述待操作bank執(zhí)行查 表操作。其具體實現(xiàn)方式可以是,對查表請求指定的bank依次進(jìn)行檢查,當(dāng)發(fā) 現(xiàn)一個當(dāng)前允許執(zhí)行查表操作的bank,則對該bank執(zhí)行查表操作,同時繼續(xù)對 指定的bank順序進(jìn)行檢查。其中,當(dāng)所述查表請求為讀取請求時,具體可以在 所述查表請求中攜帶比特位信息,所述比特位信息與SDRAM的bank——對應(yīng), 用來標(biāo)識相應(yīng)的bank是否存儲所述待查表項,例如,當(dāng)某個比特位的取值為1,表示相應(yīng)的bank中存儲了所述待查表項。SDRAM的每個bank對應(yīng)一個計數(shù) 器,所述計數(shù)器計數(shù)的時間周期為一個讀周期tRC;當(dāng)所述計數(shù)器處于計數(shù)狀 態(tài)時,表示對應(yīng)的bank當(dāng)前不允許執(zhí)行查表搡作;當(dāng)所述計數(shù)器停止計數(shù)時, 表示對應(yīng)的bank當(dāng)前允許執(zhí)行查表l喿作。
作為舉例而非限定,仍以上述條件的RLDRAM為例,由于RLDRAM的每 個地址有8個bank,因此,在讀取表項的查表請求中攜帶8位的比特信息,所述 8位比特信息依次與所述8個bank ( bank0 bank7)對應(yīng),比特位取值為0表示 相應(yīng)的bank沒有存儲待查表項,取值為1表示相應(yīng)的bank存儲了待查表項。例 如,在配置某個待查表項時將其復(fù)制到了bankO、 bank2、 bank3和bank7中, 則所述查表請求中攜帶的比特信息為10110001 。所述確定查表請求對應(yīng)的待 操作塊bank信息的具體實現(xiàn)方式可以是根據(jù)所述比特信息,順序檢查比特信 息對應(yīng)的各個bank,分別判斷各bank的計數(shù)器狀態(tài)。在^r查過程中,如果發(fā)現(xiàn) 某個bank對應(yīng)的比特位為1且當(dāng)前允許執(zhí)行查表操作,例如bank0當(dāng)前允許執(zhí) 行查表操作,則確定bankO為待操作bank,無需再對bank2、 bank3和bank7進(jìn) 行檢查;或者,對各個bank檢查完畢后,順序判斷檢查結(jié)果,當(dāng)發(fā)現(xiàn)某個bank 對應(yīng)的比特位為1且當(dāng)前允許執(zhí)行查表操作,則確定該bank為待操作bank,無 需再對其后的結(jié)果進(jìn)行判斷。
上述本發(fā)明實施例提供的技術(shù)方案中,在實現(xiàn)SDRAM查表的過程中,對 待操作bank的選擇無需進(jìn)行復(fù)雜的輪詢機(jī)制,僅需根據(jù)bank信息進(jìn)行簡單判 斷,確定待操作的bank,且可以在確定待操作bank后可立即執(zhí)行查表操作。而 現(xiàn)有技術(shù)的技術(shù)方案中,在讀入查表請求的過程中,需要根據(jù)不同的復(fù)制要求, 首先查找存儲待查表項的各個bank,進(jìn)而根據(jù)所述bank對應(yīng)的FIFO的當(dāng)前存 放深度采取輪詢的方式確定待操作bank,進(jìn)而在讀取查表請求并執(zhí)行查表操作 時還需要采用輪詢機(jī)制。由于表項的復(fù)制要求不同,在確定待操作bank的過程 中組合條件較多,很難在一拍內(nèi)完成,因此現(xiàn)有技術(shù)方案的線速操作性能不佳。
8本發(fā)明實施例提供的技術(shù)方案無需理會不同表項的復(fù)制要求,無需判斷FIFO存 放的深度,簡化了選擇確定待操作bank的過程,提高了線速操作的性能。
上述本發(fā)明實施例中,如果為每個bank設(shè)置了計數(shù)器,則所述讀取所述查 表請求并對所述待操作bank執(zhí)行查表操作時,還可以包括如下操作將所述查 表請求對應(yīng)的待操作bank的計數(shù)器清零,并開始計數(shù);當(dāng)所述計數(shù)器執(zhí)行完一 個時間周期后停止計數(shù)。計數(shù)器計數(shù)的具體實現(xiàn)方式是每過一拍,計數(shù)器執(zhí)行
加1操作, 一拍的時間為丄CO,其中F為SDRAM的時鐘頻率。
上述本發(fā)明實施例提供的技術(shù)方案,當(dāng)查表請求按照固定的復(fù)制能力勻速 操作時,能夠?qū)崿F(xiàn)請求響應(yīng)的順序執(zhí)行,減少返回結(jié)果重排序的情況發(fā)生。
在實際應(yīng)用過程中,通常需要支持多種業(yè)務(wù),需要根據(jù)各項業(yè)務(wù)需要的性
能對各類表項進(jìn)行不同的復(fù)制操作。例如,對于40GE接口,最小包速率是 60Mpps。針對MPLS (Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)業(yè) 務(wù), 一般需要查詢兩個業(yè)務(wù)表(入標(biāo)簽查詢和出標(biāo)簽獲取),每張表各訪問一 次,則對每個表項訪問的帶寬需求為60Mcps;針對IP業(yè)務(wù), 一般需要對一張 表訪問2至3次,例如弱策略轉(zhuǎn)發(fā)加上uRPF業(yè)務(wù)則需要對路由表查詢?nèi)?,?此對路由表的訪問帶寬需求為180Mcps。對于128bit位寬的表項,使用36bit位 寬的RLDRAM,每個表項需要兩拍操作完成查詢,因此,如杲需要實現(xiàn)180Mcps 的查表性能,則需要將表項復(fù)制到4個bank中,如果需要實現(xiàn)60Mcps的查表性 能,則需要將表項復(fù)制到2個bank中。
在多種復(fù)制能力的業(yè)務(wù)混合存在,或者查表請求存在少量沖突的情況下, 表項復(fù)制較少的讀取表項的查表請求可能暫時得不到響應(yīng),為了避免由于tRC 的影響導(dǎo)致性能下降,上述本發(fā)明實施例提供的技術(shù)方案中,所述確定查表請 求對應(yīng)的待操作塊bank的操作,還可以包括如果存儲所述待查表項的bank 中不存在當(dāng)前允許查表操作的bank,則暫停響應(yīng)所述查表請求;直到有存儲所 述待查表項且允許查表操作的bank時,繼續(xù)執(zhí)行確定查表請求對應(yīng)的待操作塊bank的操作。上述處理過程可以被稱作Reorder (重安排)機(jī)制,該機(jī)制的基 本原理是;當(dāng)前的查表請求不能被響應(yīng)時,可以優(yōu)先響應(yīng)后面的查表請求,當(dāng) 前的查表請求有可用的bank (存儲所述待查表項且當(dāng)前允許查表操作的bank) 時,繼續(xù)響應(yīng)當(dāng)前查表i青求。
下面將對本發(fā)明實施例在實際應(yīng)用過程中的具體實現(xiàn)方式進(jìn)行詳細(xì)的i兌明。
實施例一
本發(fā)明實施例一提供的技術(shù)方案詳細(xì)描述了SDRAM查表的實現(xiàn)方案。如 圖1所示,具體的實現(xiàn)方式包括如下操作
步驟11、對查表請求進(jìn)行判斷,如果所述查表請求為讀取請求,則執(zhí)行步 驟12,如果所述查表請求為寫請求或刷新請求,則執(zhí)行步驟14;
步驟12、按照bank號,根據(jù)查表請求中的待查表項的復(fù)制信息及各個bank 的當(dāng)前狀態(tài)信息,順序檢查SDRAM某個地址的各個bank;當(dāng)某個存儲所述待 查表項的bank當(dāng)前允許執(zhí)行查表操作時,則確定該bank為待操作bank,不再 對其后的bank進(jìn)行檢查,執(zhí)行步驟13;
步驟13、讀取所述查表請求并對所述待操作bank執(zhí)行查表操作;
步驟14、根據(jù)查表請求中的bank信息,按照bank號依次檢查指定的bank, 并確定當(dāng)前允許執(zhí)行查表操作的所有bank為待操作bank,且每當(dāng)確定一個待操 作bank后,即對所述待操作bank執(zhí)行查表操作。
其中,所述允許執(zhí)行查表操作是指當(dāng)前距離上一次對所述bank執(zhí)行查表操 作的時間超過tRC。
所述的查表操作包括讀取操作、寫操作,或刷新操作等等。
本發(fā)明實施例一提供的技術(shù)方案,由于確定的待操:作bank是當(dāng)前允許執(zhí)行 查表操作的bank,無需采用輪詢機(jī)制將查表請求讀入FIFO中,也無需采用輪 詢機(jī)制從FIFO中讀取查表請求,可以在確定待操作bank后立即讀取查表請求
10執(zhí)行查表操作,因此增加了查表操作的靈活性,且提高了查表性能。另外,由
于無需關(guān)注表項的復(fù)制能力、FIFO的存放深度等等參數(shù),因此簡化了讀入查表
請求的過程,提高了查表性能。 實施例二
本發(fā)明實施例二以tRC-20ns的36bit RLDRAMII為例,詳細(xì)說明SDRAM的 請求讀取表項的查表過程,所述RLDRAMII的每個地址有8個bank, bank號分 別為bank0 bank7。每個bank對應(yīng)一個計數(shù)器,所述計數(shù)器計數(shù)的時間周期為 一個讀周期tRC;當(dāng)所述計數(shù)器處于計數(shù)狀態(tài)時,表示對應(yīng)的bank當(dāng)前不允許 執(zhí)行查表操作,為其賦值為O;當(dāng)所述計數(shù)器停止計數(shù)時,表示對應(yīng)的bank當(dāng) 前允許執(zhí)行查表操作,為其賦值為1。本發(fā)明實施例二中,查表請求中攜帶8位 比特信息b0 b7,所述8位比特信息b0 b7依次與所述8個bank ( bank0 bank7) 對應(yīng),比特位取值為O表示相應(yīng)的bank沒有存儲待查表項,取值為1表示相應(yīng)的 bank存儲了待查表項。如圖2所示,本發(fā)明實施例二的處理過程包括如下操作
步驟21 、依次將查表請求中攜帶的8位比特信息與每個bank對應(yīng)的計數(shù)器 取值相"與";
步驟22、順序判斷"與"結(jié)果,當(dāng)發(fā)現(xiàn)某個bank的"與"結(jié)果為1,則確 定該bank為待操作bank,不再對后續(xù)的bank進(jìn)行判斷;
步驟23、讀取所述查表請求并對所述待操作bank執(zhí)行查表操作。
在步驟23中,還包括將所述待操作bank對應(yīng)的計數(shù)器清零累加,指示該 bank在tRC時間內(nèi)不可用。
其中,"與"結(jié)果為1表示相應(yīng)的bank存儲了待查表項,且當(dāng)前允許執(zhí)行 查表操作。
本發(fā)明實施例二提供的技術(shù)方案。在查表請求中攜帶簡單的比特信息,以 及設(shè)置計數(shù)器,通過簡單的判斷即可完成選擇待操作bank的工作,較之現(xiàn)有技 術(shù)輪詢將查表請求讀入FIFO的實現(xiàn)方式更為簡單且省時。由于在讀取查表請求執(zhí)行查表操作的過程中不需要采用輪詢機(jī)制從FIFO中讀取查表請求并執(zhí)行讀
取操作,從而提高了查表性能。另外,通過設(shè)置tRC周期參數(shù)(本發(fā)明實施例 二中,所述參數(shù)是指計數(shù)器),能夠?qū)崿F(xiàn)動態(tài)調(diào)整各bank的再次訪問時間間隔, 提高了低頻應(yīng)用的訪問效率。例如當(dāng)時鐘頻率小于400MHz時,無需等待8拍即 可執(zhí)行下一次讀取操作。 實施例三
現(xiàn)有技術(shù)中有多種實現(xiàn)Reorder機(jī)制的技術(shù)方案可供選擇,本發(fā)明實施例 三中僅例舉一種具體的實現(xiàn)方式
所有輸入的查表請求被依次存放到預(yù)先規(guī)定的;
預(yù)先定義若干隊列,用來存放查表請求相關(guān)信息,例如定義QO、 Q1和Q2 三個隊列,并規(guī)定各個隊列請求響應(yīng)的優(yōu)先級關(guān)系為Q2>Q1>Q0,即當(dāng)3個 隊列中都有查表請求可以響應(yīng)時,優(yōu)先執(zhí)行高優(yōu)先級中的查表請求;
各個隊列獲取查表請求的方式為當(dāng)Q2為空(即隊列中沒有查表請求)時, 向Q1和Q0發(fā)出前傳消息,要求Q1和Q0將查表請求依次傳送給Q2,同時從 FIFO中讀取一個查表請求發(fā)送給QO;當(dāng)Q1為空時,向QO發(fā)送前傳消息,同時 從FIFO中讀取一個查表請求發(fā)送給QO;當(dāng)QO為空時,從FIFO中讀取一個查表 請求發(fā)送給QO;
由于從FIFO中讀取的查表請求首先發(fā)送給QO,因此QO檢查所述查表請求 的待查表項的可用bank,選擇一個沒有tRC沖突的bank,對RLDRAM進(jìn)行讀取 操作;此時,如果Q1和Q2中均沒有可執(zhí)行的查表請求,則QO接收到前傳消息 后,向發(fā)送該前傳消息的隊列發(fā)送空請求;
如果QO中的查表請求所對應(yīng)的可用bank均存在tRC沖突,則在接收到前傳 消息后,將所述查表請求發(fā)送Q1,并從FIFO中讀取一個新的查表請求;
如果Q1無法處理當(dāng)前的查表請求,且Q2為空,則將所述查表請求發(fā)送給 Q2,并讀取QO輸出的請求。根據(jù)上述對Reorder機(jī)制的描述可知,可以將當(dāng)前無法響應(yīng)的查表請求依 次移到優(yōu)先級更高的隊列中,同時繼續(xù)執(zhí)行后續(xù)的查表請求;當(dāng)所述無法響應(yīng) 的請求可以執(zhí)行時,由于該請求被移至優(yōu)先級更高的隊列中,因此會被優(yōu)先響 應(yīng)。
結(jié)合上述Reorder機(jī)制的SDRAM查表過程如圖3所示,具體處理過程如下
步驟31、對查表請求進(jìn)行判斷,如果所述查表請求為讀取請求,則執(zhí)行步 驟32,如果所述查表請求為寫請求或刷新請求,則執(zhí)行步驟35;
步驟32、將所述查表請求讀入規(guī)定的FIFO中,并執(zhí)行步驟33;
步驟33、按照bank號,根據(jù)查表請求中的待查表項的復(fù)制信息及各個bank 的當(dāng)前狀態(tài)信息,順序檢查SDRAM的各個bank;當(dāng)某個存儲所述待查表項的 bank當(dāng)前允許執(zhí)行查表操作時,確定該bank為待才喿作bank,不再對其后的bank 進(jìn)行檢查,執(zhí)行步驟34;如果存儲所述待查表項的bank中沒有當(dāng)前允許執(zhí)行查 表操作的bank,則根據(jù)Reorder機(jī)制,對該查表請求進(jìn)行操作;
步驟34、讀取所述查表請求,并對所述待操作bank執(zhí)行查表操作;
步驟35、根據(jù)查表請求中的bank信息,按照bank號依次檢查指定的bank, 并確定當(dāng)前允許執(zhí)行查表操作的所有bank為待操作bank,且每確定一個待操作 bank后,即對該待操作bank執(zhí)行查表操作。
本發(fā)明實施例三提供的技術(shù)方案中,通過引入Reorder機(jī)制,能夠兼容任 意復(fù)制能力的業(yè)務(wù),并達(dá)到很好的讀取表項查表性能,不會造成帶寬浪費。
本發(fā)明實施例方法的各個步驟可以根據(jù)實際需要對順序進(jìn)行調(diào)整。
本發(fā)明實施例還提供了一種實現(xiàn)SDRAM查表的裝置,其結(jié)構(gòu)如圖4所示, 具體實現(xiàn)結(jié)構(gòu)如下
塊確定模塊401,用于確定查表請求對應(yīng)的待操作塊bank,所述待操作塊 bank存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作;
查表執(zhí)行模塊402,用于根據(jù)所述查表請求,對所述塊確定模塊401確定的待操作bank執(zhí)行查表操作。
所述允許執(zhí)行查表操作是指當(dāng)前距離上一次對所述bank執(zhí)行查表操作的 時間超過tRC。仍以上述條件的RLDRAM為例,所述允許執(zhí)行查表操作是指當(dāng) 前距離上一次對所述bank執(zhí)行查表操作超過8拍。所述讀入所述查表請求具體 可以是將所述查表請求讀入待操作bank對應(yīng)的FIFO中,或者讀入其他規(guī)定的 隊列中。
上述本發(fā)明實施例提供的裝置,由于確定的待操作bank是當(dāng)前允許執(zhí)行查 表操作的bank,在確定待操作bank后即可執(zhí)行查表操作,無需采取輪詢機(jī)制將 查表請求讀入FIFO,也無需采用輪詢機(jī)制從FIFO中讀取查表請求執(zhí)行查表操 作,因此增加了查表操作的靈活性,且提高了查表性能。
上述本發(fā)明實施例提供的裝置中,所述查表請求的類型包括讀操作、或?qū)?操作、或刷新操作等等;當(dāng)所述查表請求的類型是讀操作時,所述塊確定沖莫塊 401具體用于按照bank號順序檢查各個bank,當(dāng)某個bank存儲了所述待查表 項且當(dāng)前允許執(zhí)行查表操作時,確定該bank為所述查表請求對應(yīng)的待操作 bank。當(dāng)所述查表請求的類型是寫操作或刷新操作時,所述塊確定模塊401具 體用于根據(jù)所述查表請求中攜帶的bank信息,按照bank號順序檢查所述查表 請求指定的bank,確定當(dāng)前允許執(zhí)行查表操作的bank為待操作bank。
當(dāng)所述查表請求的類型是讀取請求時,在確定了待操作bank后無需再對其 后的bank進(jìn)行檢查;當(dāng)所述查表請求的類型是寫請求或刷新請求時,則根據(jù)查 表請求中攜帶的bank信息,對指定的bank依次進(jìn)行檢查,確定所有當(dāng)前允許執(zhí) 行查表操作的bank為待操作bank,且每確定一個待操作bank,即對該待操作 bank執(zhí)行查表操作。其中,當(dāng)所述查表請求的類型是讀取請求時,所述查表請 求中可以攜帶比特位信息,所述比特位信息與SDRAM的bank——對應(yīng),用來 標(biāo)識相應(yīng)的bank是否存儲所述待查表項。例如,當(dāng)某個比特位的取值為1,表 示相應(yīng)的bank中存儲了所述待查表項。SDRAM的每個bank對應(yīng)一個計數(shù)器,所述計數(shù)器計數(shù)的時間周期為一個讀周期tRC;當(dāng)所述計數(shù)器處于計數(shù)狀態(tài)時, 表示對應(yīng)的bank當(dāng)前不允許執(zhí)行查表操作;當(dāng)所述計數(shù)器停止計數(shù)時,表示對 應(yīng)的bank當(dāng)前允許4丸4亍查表才喿作。
在多種復(fù)制能力的業(yè)務(wù)混合存在,或者查表請求存在少量沖突的情況下, 表項復(fù)制較少的讀取表項的查表請求可能暫時得不到響應(yīng)。為了避免由于tRC 的影響導(dǎo)致性能下降,本發(fā)明實施例提供的裝置中,所述塊確定模塊還用于, 當(dāng)存儲所述待查表項的bank中不存在當(dāng)前允許查表操作的bank時,則暫停響 應(yīng)所述查表請求;直到有存儲所述待查表項且允許查表操作的bank時,繼續(xù) 執(zhí)行確定查表請求對應(yīng)的待操作塊bank的操作。上述處理過程可以被稱作 Reorder (重安排)機(jī)制。通過引入Reorder機(jī)制,能夠兼容任意復(fù)制能力的 業(yè)務(wù),并達(dá)到很好的讀取表項查表性能,不會造成帶寬浪費。本發(fā)明實施例設(shè) 備的各個單元可以集成于一體,也可以分離部署。上述單元可以合并為一個單
元,也可以進(jìn)一步拆分成多個子單元。
本發(fā)明實施例還提供一種網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備如圖5所示,具體實現(xiàn) 結(jié)構(gòu)包括
同步動態(tài)隨機(jī)存儲器SDRAM501,用于存儲所述網(wǎng)絡(luò)設(shè)備進(jìn)行業(yè)務(wù)處理 所需的表項信息;
查表請求接收單元502 ,用于接收針對所述SDRAM的查表請求;
以及上述實施例提供的實現(xiàn)SDRAM查表的裝置503,用于根據(jù)所述查表 請求接收單元502接收到的查表請求對SDRAM執(zhí)行相應(yīng)的查表操作。
該網(wǎng)絡(luò)設(shè)備的類型包括路由器、或交換機(jī)、或網(wǎng)關(guān)等等應(yīng)用SDRAM的網(wǎng) 絡(luò)設(shè)備。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示 例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實現(xiàn), 為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決 于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用 來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范 圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器 執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存儲器
(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、 寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式 的存儲介質(zhì)中。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種實現(xiàn)同步動態(tài)隨機(jī)存儲器SDRAM查表的方法,其特征在于,包括根據(jù)查表請求確定該查表請求對應(yīng)的待操作塊bank,所述待操作塊bank存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作;根據(jù)所述查表請求,對所述待操作bank執(zhí)行查表操作。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述查表請求的類型包括讀 請求、或?qū)懻埱?、或刷新請求;所述根?jù)查表請求確定該查表請求對應(yīng)的待4喿 作塊bank信息包括如果所述查表請求的類型是讀請求,則按照bank號順序檢查各個bank,當(dāng) 某個bank存儲了所述待查表項且當(dāng)前允許執(zhí)行查表#:作時,確定該bank為該查 表請求對應(yīng)的4寺:燥作bank;如果所述查表請求的類型是寫請求或刷新請求,則根據(jù)所述查表請求中攜 帶的bank信息,按照bank號順序檢查所述查表請求指定的bank,確定當(dāng)前允 許執(zhí)行查表操作的bank為該查表請求對應(yīng)的待操作bank。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,如果所述查表請求是讀請求, 所述查表請求中攜帶比特位信息,所述比特位信息與SDRAM的bank——對應(yīng), 用來標(biāo)識相應(yīng)的bank是否存儲所述待查表項。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,SDRAM的每個bank對應(yīng)一 個計數(shù)器,所述計數(shù)器計數(shù)的時間周期為一個讀周期tRC;當(dāng)所述計數(shù)器處于 計數(shù)狀態(tài)時,表示對應(yīng)的bank當(dāng)前不允許執(zhí)行查表才乘作;當(dāng)所述計數(shù)器停止計 數(shù)時,表示對應(yīng)的bank當(dāng)前允許執(zhí)行查表操作。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,才艮據(jù)所述查表請求,對所述 待操作bank執(zhí)行查表操作時,將所述查表請求的待操作bank的計數(shù)器清零,開 始計數(shù);當(dāng)所述計數(shù)器執(zhí)行完一個時間周期后停止計數(shù)。
6、 根據(jù)權(quán)利要求2 5任意一項所述的方法,其特征在于,所述確定該查表 請求對應(yīng)的待操作塊bank,還包括如果存儲所述待查表項的bank中不存在當(dāng)前允許查表操作的bank,則暫停 響應(yīng)所述查表請求;直到有存儲所述待查表項且允許查表操作的bank時,繼續(xù)執(zhí)行確定該查表 請求對應(yīng)的待操作塊bank的操作。
7、 一種實現(xiàn)SDRAM查表的裝置,其特征在于,包括塊確定模塊,用于確定查表請求對應(yīng)的待操作塊bank,所述待操作塊bank 存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作;查表執(zhí)行模塊,用于根據(jù)所述查表請求,對所述塊確定模塊確定的待操作 bank執(zhí)行查表操作。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,當(dāng)所述查表請求的類型是讀 請求時,所述塊確定模塊用于按照bank號順序檢查各個bank,當(dāng)某個bank 存儲了所述待查表項且當(dāng)前允許執(zhí)行查表操作時,確定該bank為所述查表請求 對應(yīng)的待才喿作bank。
9、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,當(dāng)所述查表請求的類型是寫 請求或刷新請求時,所述確定模塊用于根據(jù)所述查表請求中攜帶的bank信息, 按照bank號順序檢查所述查表請求指定的bank,確定當(dāng)前允許執(zhí)行查表操作的 ban k為待操作ban k 。
10、 根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述塊確定模塊還用于 當(dāng)存儲所述待查表項的bank中不存在當(dāng)前允許查表才喿作的bank時,暫停響應(yīng)所 述查表請求;直到有存儲所述待查表項且允許查表操作的bank時,繼續(xù)執(zhí)行確 定查表請求對應(yīng)的待操作塊bank的操作。
11、 一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求7 10任一項所述的裝置。
12、 根據(jù)權(quán)利要求11的網(wǎng)絡(luò)設(shè)備,其特征在于,該網(wǎng)絡(luò)設(shè)備的類型包括 路由器、或交換機(jī)、或網(wǎng)關(guān)。
全文摘要
一種實現(xiàn)SDRAM查表的方法,包括根據(jù)查表請求確定該查表請求對應(yīng)的待操作塊bank,所述待操作塊bank存儲所述查表請求中的待查表項且當(dāng)前允許執(zhí)行查表操作;根據(jù)所述查表請求,對所述待操作bank執(zhí)行查表操作。本發(fā)明實施例還提供了一種實現(xiàn)SDRAM查表的裝置和網(wǎng)絡(luò)設(shè)備。由于確定的待操作bank是當(dāng)前允許執(zhí)行查表操作的bank,無需在讀取FIFO中的查表請求時采取輪詢機(jī)制,因此增加了查表操作的靈活性,且提高了查表性能。
文檔編號G06F12/06GK101562041SQ200910083339
公開日2009年10月21日 申請日期2009年4月30日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者彭曉澎, 杜文華, 雄 楊, 濤 林, 軍 梁, 洪榮峰 申請人:華為技術(shù)有限公司