欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于ddrsdram的計(jì)數(shù)器及其實(shí)現(xiàn)方法

文檔序號(hào):7984052閱讀:205來(lái)源:國(guó)知局
基于ddr sdram的計(jì)數(shù)器及其實(shí)現(xiàn)方法
【專利摘要】本發(fā)明提供一種基于DDR?SDRAM的計(jì)數(shù)器及其實(shí)現(xiàn)方法。該方法包括接收到第一報(bào)文后,向DDR?SDRAM發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述DDR?SDRAM內(nèi)的第一子存儲(chǔ)塊,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值;對(duì)所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;向所述DDR?SDRAM發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述DDR?SDRAM內(nèi)的第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊內(nèi)。本發(fā)明實(shí)施例可以滿足高速設(shè)備的速率要求。
【專利說(shuō)明】基于DDR SDRAM的計(jì)數(shù)器及其實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)數(shù)器技術(shù),尤其涉及一種基于DDR SDRAM的計(jì)數(shù)器及其實(shí)現(xiàn)方法?!颈尘凹夹g(shù)】
[0002]在電信設(shè)備上需要對(duì)于出入設(shè)備的報(bào)文做報(bào)文個(gè)數(shù)和報(bào)文長(zhǎng)度的計(jì)數(shù),用于網(wǎng)絡(luò)的安全維護(hù)、計(jì)費(fèi)及設(shè)備的調(diào)試。計(jì)數(shù)一般會(huì)根據(jù)端口、IP地址等報(bào)文的字段區(qū)分流,每條流需要單獨(dú)技術(shù),這種對(duì)于每條流計(jì)數(shù)的結(jié)構(gòu)就是計(jì)數(shù)器。
[0003]雙數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(Double Data Rate Synchronous DynamicRandom, DDR SDRAM)作為目前應(yīng)用最廣泛的外部存儲(chǔ)器,在成本、帶寬、功耗等領(lǐng)域都有巨大優(yōu)勢(shì),但DDR SDRAM (以下簡(jiǎn)稱為DDR)本身是為大數(shù)據(jù)量訪問(wèn)、大數(shù)據(jù)量存儲(chǔ)所設(shè)計(jì),在單次訪問(wèn)數(shù)據(jù)量較小時(shí),效率上具有劣勢(shì)。
[0004]以DDR為DDR3為例,DDR3存儲(chǔ)體分為8個(gè)子存儲(chǔ)塊(Bank)。當(dāng)以DDR3作為計(jì)數(shù)器的存儲(chǔ)媒介時(shí)的操作流程包括:接收到一個(gè)報(bào)文后,發(fā)送激活(ACT)命令打開(kāi)計(jì)數(shù)值所在的Bank,之后發(fā)送讀(RD)命令讀取計(jì)數(shù)值;在讀取的計(jì)數(shù)值的基礎(chǔ)上增加報(bào)文長(zhǎng)度或者報(bào)文個(gè)數(shù),得到更新后的計(jì)數(shù)值;在間隔同一個(gè)Bank兩次激活之間的最小延時(shí)(tRC)時(shí)間之后,發(fā)送ACT命令打開(kāi)該同一個(gè)Bank,之后發(fā)送寫(xiě)(WR)命令將更新后的計(jì)數(shù)值寫(xiě)入。
[0005]由于打開(kāi)同一個(gè)Bank需要等待tRC時(shí)間,tRC時(shí)間通常為40個(gè)時(shí)鐘周期,另外不同的計(jì)數(shù)器之間的讀寫(xiě)操作也可能要間隔40個(gè)時(shí)鐘周期,那么,當(dāng)DDR3的頻率為1600兆赫茲(MHz)時(shí),基于該DDR3的計(jì)數(shù)器的最大帶寬就是800MHz/(40X2)=10兆報(bào)文每秒(Mpps),也就是每秒只能操作IOM次,這一帶寬很難滿足高速設(shè)備的速率要求。

【發(fā)明內(nèi)容】

[0006]有鑒于此,本發(fā)明實(shí)施例提供了一種基于DDR SDRAM的計(jì)數(shù)器及其實(shí)現(xiàn)方法,用以解決基于DDR SDRAM的計(jì)數(shù)器帶寬不足的問(wèn)題。
[0007]第一方面,提供了一種基于DDR SDRAM的計(jì)數(shù)器及其實(shí)現(xiàn)方法,包括:
[0008]接收到第一報(bào)文后,向DDR SDRAM發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述DDR SDRAM內(nèi)的第一子存儲(chǔ)塊,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值;
[0009]對(duì)所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;
[0010]向所述DDR SDRAM發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述DDR SDRAM內(nèi)的第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊內(nèi)。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,還包括:
[0012]記錄所述第二子存儲(chǔ)塊的編號(hào);
[0013]接收到第二報(bào)文后,根據(jù)記錄的所述第二子存儲(chǔ)塊的編號(hào),向所述DDR SDRAM發(fā)送第三激活命令和第二讀命令,所述第三激活命令用于激活所述第二子存儲(chǔ)塊,所述第二讀命令用于從所述第二子存儲(chǔ)塊內(nèi)讀取所述第二計(jì)數(shù)值;
[0014]對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值;
[0015]向所述DDR SDRAM發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)。
[0016]記錄所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊的編號(hào),以便下次需要計(jì)數(shù)時(shí)從所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
[0017]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊為:所述第一子存儲(chǔ)塊。
[0018]結(jié)合第一方面,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述第二激活命令與所述第一讀命令之間的時(shí)間間隔小于tRC。
[0019]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述第三激活命令與所述第一寫(xiě)命令之間的時(shí)間間隔等于tRC。
[0020]第二方面,提供了一種基于DDR SDRAM的計(jì)數(shù)器,包括:
[0021]計(jì)數(shù)邏輯模塊和DDR SDRAM ;
[0022]所述DDR SDRAM包括第一子存儲(chǔ)塊和第二子存儲(chǔ)塊;
[0023]所述計(jì)數(shù)邏輯模塊用于接收到第一報(bào)文后,向所述第一子存儲(chǔ)塊發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述第一子存儲(chǔ)塊,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值;
[0024]所述第一子存儲(chǔ)塊用于根據(jù)所述第一激活命令和所述第一讀命令,將所述第一計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊;
[0025]所述計(jì)數(shù)邏輯模塊還用于所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;
[0026]所述計(jì)數(shù)邏輯模塊還用于向所述第二子存儲(chǔ)塊發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊;
[0027]所述第二子存儲(chǔ)塊還用于根據(jù)所述第一激活命令和所述第一寫(xiě)命令,寫(xiě)入所述第二計(jì)數(shù)值。
[0028]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,
[0029]所述計(jì)數(shù)邏輯模塊還用于記錄所述第二子存儲(chǔ)塊的編號(hào);
[0030]所述計(jì)數(shù)邏輯模塊還用于接收到第二報(bào)文后,根據(jù)記錄的所述第二子存儲(chǔ)塊的編號(hào),向所述第二子存儲(chǔ)塊發(fā)送第三激活命令和第二讀命令,所述第三激活命令用于激活所述第二子存儲(chǔ)塊,所述第二讀命令用于從所述第二子存儲(chǔ)塊內(nèi)讀取所述第二計(jì)數(shù)值;
[0031]所述第二子存儲(chǔ)塊還用于根據(jù)所述第三激活命令和所述第二讀命令,將所述第二計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊;
[0032]所述計(jì)數(shù)邏輯模塊還用于對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值;
[0033]所述計(jì)數(shù)邏輯模塊還用于向所述DDR SDRAM內(nèi)與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi);
[0034]所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊還用于根據(jù)所述第四激活命令和所述第二寫(xiě)命令,寫(xiě)入所述第三計(jì)數(shù)值;
[0035]所述計(jì)數(shù)邏輯模塊還用于記錄所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊的編號(hào),以便下次需要計(jì)數(shù)時(shí)從所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
[0036]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊為所述第一子存儲(chǔ)塊。
[0037]結(jié)合第二方面,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述計(jì)數(shù)邏輯模塊發(fā)送的所述第二激活命令與所述第一讀命令之間的時(shí)間間隔小于tRC。
[0038]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述計(jì)數(shù)邏輯模塊發(fā)送的所述第三激活命令與所述第一寫(xiě)命令之間的時(shí)間間隔等于tRC。
[0039]通過(guò)上述技術(shù)方案,將第一計(jì)數(shù)值保存在第一子存儲(chǔ)塊內(nèi),將第二計(jì)數(shù)值保存在第二子存儲(chǔ)塊內(nèi),也就是將更新前后的計(jì)數(shù)值分別保存在不同的子存儲(chǔ)塊內(nèi),由于更新前后的計(jì)數(shù)值保存在不同的子存儲(chǔ)塊內(nèi),那么兩次的激活命令就沒(méi)有延時(shí)限制,也就不需要等待tRC時(shí)間,縮短等待時(shí)間后就可以提高帶寬,滿足高速設(shè)備的速率要求。
【專利附圖】

【附圖說(shuō)明】
[0040]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的實(shí)現(xiàn)方法一實(shí)施例的結(jié)構(gòu)示意圖;
[0042]圖2為本發(fā)明實(shí)施例中計(jì)數(shù)器實(shí)現(xiàn)的結(jié)構(gòu)示意圖;
[0043]圖3為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的實(shí)現(xiàn)方法另一實(shí)施例的流程示意圖;
[0044]圖4為圖3對(duì)應(yīng)的時(shí)序示意圖;
[0045]圖5為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]圖1為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的實(shí)現(xiàn)方法一實(shí)施例的結(jié)構(gòu)示意圖,包括:
[0048]步驟11:接收到第一報(bào)文后,向DDR SDRAM發(fā)送第一激活(ACT)命令和第一讀(RD)命令,所述第一激活命令用于激活所述DDR SDRAM內(nèi)的第一子存儲(chǔ)塊(Bank),所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值;
[0049]步驟12:對(duì)所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;
[0050]步驟13:向所述DDR SDRAM發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述DDR SDRAM內(nèi)的第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊內(nèi)。
[0051]如圖2所示,為本發(fā)明實(shí)施例中計(jì)數(shù)器實(shí)現(xiàn)的結(jié)構(gòu)示意圖,轉(zhuǎn)發(fā)芯片用于轉(zhuǎn)發(fā)各種報(bào)文,計(jì)數(shù)器是基于DDR SDRAM (簡(jiǎn)稱為DDR)的計(jì)數(shù)器,包括現(xiàn)場(chǎng)可編程門(mén)陣列(FieldProgrammable Gate Array, FPGA)和DDR, FPGA中包括計(jì)數(shù)邏輯模塊。計(jì)數(shù)邏輯模塊用于更新計(jì)數(shù)值,DDR用于存儲(chǔ)計(jì)數(shù)值。
[0052]如圖1所示的實(shí)施例的執(zhí)行主體可以具體為計(jì)數(shù)器內(nèi)的計(jì)數(shù)邏輯模塊。針對(duì)第一報(bào)文,更新前的計(jì)數(shù)值(也就是第一計(jì)數(shù)值)保存在第一子存儲(chǔ)塊(Bank)內(nèi),更新后的計(jì)數(shù)值(也就是第二計(jì)數(shù)值)保存在第二子存儲(chǔ)塊內(nèi)。
[0053]結(jié)合圖2所示的結(jié)構(gòu)示意圖,圖3為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的實(shí)現(xiàn)方法另一實(shí)施例的流程不意圖,圖4為圖3對(duì)應(yīng)的時(shí)序不意圖。本實(shí)施例包括:
[0054]步驟31:計(jì)數(shù)邏輯模塊接收到轉(zhuǎn)發(fā)芯片轉(zhuǎn)發(fā)的第一報(bào)文后,向DDR發(fā)送第一激活命令和第一讀命令,第一激活命令用于激活DDR內(nèi)的第一子存儲(chǔ)塊,第一讀命令用于讀取第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值。
[0055]可選的,計(jì)數(shù)邏輯模塊可以根據(jù)預(yù)先記錄的子存儲(chǔ)塊的編號(hào),確定激活的子存儲(chǔ)塊,例如,記錄的子存儲(chǔ)塊的編號(hào)為第一子存儲(chǔ)塊的編號(hào),那么發(fā)送的第一激活命令就用于激活第一子存儲(chǔ)塊。
[0056]可選的,在計(jì)數(shù)時(shí),可以根據(jù)端口、IP地址等報(bào)文字段區(qū)分不同的流,對(duì)不同的流分別進(jìn)行計(jì)數(shù),例如,將端口 I的報(bào)文劃分為第一組流,具有第計(jì)數(shù)值_1,將端口 2的報(bào)文劃分為第二組流,具有計(jì)數(shù)值_2等。每個(gè)不同的計(jì)數(shù)值保存在DDR的不同的子存儲(chǔ)塊(Bank)內(nèi),例如,計(jì)數(shù)值_1保存在子存儲(chǔ)塊_1內(nèi),第二個(gè)計(jì)數(shù)值保存在子存儲(chǔ)塊_3內(nèi)等,在初始時(shí)的計(jì)數(shù)值具體保存在哪個(gè)子存儲(chǔ)塊內(nèi)可以預(yù)先約定,并記錄在計(jì)數(shù)邏輯模塊中,這樣當(dāng)計(jì)數(shù)邏輯模塊得到計(jì)數(shù)值后就可以根據(jù)記錄的子存儲(chǔ)塊的編號(hào)將計(jì)數(shù)值保存到對(duì)應(yīng)的子存儲(chǔ)塊內(nèi)。例如,當(dāng)對(duì)第一組流進(jìn)行計(jì)數(shù)時(shí),得到第一計(jì)數(shù)值后,可以將第一計(jì)數(shù)值存儲(chǔ)到子存儲(chǔ)塊_1內(nèi)。
[0057]步驟32:計(jì)數(shù)邏輯模塊對(duì)所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;
[0058]其中,可以根據(jù)要計(jì)數(shù)的內(nèi)容進(jìn)行相應(yīng)的更新,例如,需要對(duì)報(bào)文的個(gè)數(shù)進(jìn)行計(jì)數(shù)時(shí),那么每接收到一個(gè)屬于對(duì)應(yīng)流的報(bào)文后就對(duì)計(jì)數(shù)值加1,具體如每接收到一個(gè)端口 I的報(bào)文,那么將第一計(jì)數(shù)值加I。
[0059]可以理解的是,也可以根據(jù)實(shí)際需要對(duì)其它參數(shù)進(jìn)行計(jì)數(shù),例如需要對(duì)報(bào)文的長(zhǎng)度進(jìn)行計(jì)數(shù)時(shí),每接收到一個(gè)屬于對(duì)應(yīng)流的報(bào)文后,就在原有計(jì)數(shù)值的基礎(chǔ)上加上接收到的報(bào)文的長(zhǎng)度,得到更新后的報(bào)文長(zhǎng)度。
[0060]步驟33:計(jì)數(shù)邏輯模塊向DDR發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活DDR內(nèi)的第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊內(nèi)。
[0061]其中,第二子存儲(chǔ)塊是與第一子存儲(chǔ)塊不同的子存儲(chǔ)塊,具體是哪個(gè)存儲(chǔ)塊也可以預(yù)先約定,例如,對(duì)于第一組流,其更新前的計(jì)數(shù)值和更新后的計(jì)數(shù)值分別存儲(chǔ)在DDR的子存儲(chǔ)塊_1和子存儲(chǔ)塊_2內(nèi),對(duì)應(yīng)第一組流的第一計(jì)數(shù)值保存在子存儲(chǔ)塊_1內(nèi),那么對(duì)應(yīng)第一組流的第二計(jì)數(shù)值就保存在子存儲(chǔ)塊_2內(nèi),之后得到第二計(jì)數(shù)值后就可以激活子存儲(chǔ)塊_2并將第二計(jì)數(shù)值寫(xiě)入子存儲(chǔ)塊_2內(nèi)。
[0062]如圖4所示,由于第一子存儲(chǔ)塊和第二子存儲(chǔ)塊屬于不同的子存儲(chǔ)塊,沒(méi)有延時(shí)限制,那么在得到第二計(jì)數(shù)值后就可以直接寫(xiě)入第二子存儲(chǔ)塊內(nèi),不需要再等待tRC時(shí)間后才寫(xiě)入,就可以降低讀出、寫(xiě)入之間的延時(shí)。
[0063]步驟34:計(jì)數(shù)邏輯模塊記錄第二子存儲(chǔ)塊的編號(hào)。
[0064]通過(guò)記錄的子存儲(chǔ)塊的編號(hào),在下次接收到報(bào)文后,可以根據(jù)編號(hào)從對(duì)應(yīng)的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
[0065]S卩,可選的,還可以包括:
[0066]步驟35:計(jì)數(shù)邏輯模塊接收到第二報(bào)文后,根據(jù)記錄的第二子存儲(chǔ)塊的編號(hào),向DDR發(fā)送第三激活命令和第二讀命令,第三激活命令用于激活所述第二子存儲(chǔ)塊,所述第二讀命令用于從所述第二子存儲(chǔ)塊內(nèi)讀取所述第二計(jì)數(shù)值;
[0067]由于第三激活命令和第二激活命令都是用于激活第二子存儲(chǔ)塊,因此,如圖4所示,第三激活命令與第一寫(xiě)命令之間需要間隔tRC時(shí)間。之后,通過(guò)激活和讀命令,可以從第二子存儲(chǔ)塊內(nèi)讀取第二計(jì)數(shù)值。
[0068]步驟36:計(jì)數(shù)邏輯模塊對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值;
[0069]例如,類似第一更新處理的內(nèi)容,如果是對(duì)報(bào)文個(gè)數(shù)進(jìn)行增加,那么可以是加I。
[0070]步驟37:計(jì)數(shù)邏輯模塊向DDR發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活所述第一子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述第一子存儲(chǔ)塊內(nèi)。
[0071]類似步驟33都是進(jìn)行寫(xiě)操作,與步驟33不同的是,步驟33是寫(xiě)入第二子存儲(chǔ)塊,而這里是寫(xiě)入第一子存儲(chǔ)塊,實(shí)現(xiàn)子存儲(chǔ)塊間的輪流存儲(chǔ)。
[0072]步驟38:記錄第一子存儲(chǔ)塊的編號(hào)。
[0073]之后,當(dāng)再次接收到報(bào)文后,可以根據(jù)步驟3廣步驟38重復(fù)執(zhí)行。
[0074]通過(guò)上述流程計(jì)數(shù)值在第一子存儲(chǔ)塊和第二子存儲(chǔ)塊內(nèi)輪流存儲(chǔ),也就是使用乒兵(ping-pong)操作完成一次計(jì)數(shù)器的讀寫(xiě)。
[0075]本實(shí)施例以計(jì)數(shù)值在第一子存儲(chǔ)塊和第二子存儲(chǔ)塊間輪流存儲(chǔ)為例,可以理解的是,也可以在其余子存儲(chǔ)塊內(nèi)進(jìn)行存儲(chǔ),例如,從第二子存儲(chǔ)塊內(nèi)讀取并更新后,將更新后的計(jì)數(shù)值存儲(chǔ)到第三子存儲(chǔ)塊內(nèi)。
[0076]從上面流程可以看出,對(duì)于每個(gè)報(bào)文的讀和寫(xiě)之間,由于激活不同的子存儲(chǔ)塊,因此不用間隔一個(gè)tRC時(shí)間,這樣就比原有方案減少了 40個(gè)時(shí)鐘周期的等待時(shí)間,還是假設(shè)DDR3為存儲(chǔ)介質(zhì),頻率為1600MHz為例,那么應(yīng)用本發(fā)明實(shí)施例后的帶寬就是:800MHz/40=20Mpps,比原有方案提高了一倍的訪問(wèn)帶寬。
[0077]另外,以IGbit的DDR3為例,當(dāng)計(jì)數(shù)值為128位(bit)時(shí),能夠?qū)崿F(xiàn)4MX 128bit的計(jì)數(shù)器。
[0078]本實(shí)施例以DDR作為存儲(chǔ)媒介,可以保證存儲(chǔ)容量;通過(guò)將更新前后的計(jì)數(shù)值分別保存在不同的子存儲(chǔ)塊內(nèi),兩次的激活命令就沒(méi)有延時(shí)限制,也就不需要等待tRC時(shí)間,縮短等待時(shí)間后就可以提高帶寬,滿足高速設(shè)備的速率要求,避免DDR的帶寬浪費(fèi)。
[0079]圖5為本發(fā)明基于DDR SDRAM的計(jì)數(shù)器的結(jié)構(gòu)示意圖,包括計(jì)數(shù)邏輯模塊51和DDRSDRAM 52 ;所述DDR SDRAM包括第一子存儲(chǔ)塊521和第二子存儲(chǔ)塊522 ;所述計(jì)數(shù)邏輯模塊51用于接收到第一報(bào)文后,向所述第一子存儲(chǔ)塊521發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述第一子存儲(chǔ)塊521,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊521內(nèi)存儲(chǔ)的第一計(jì)數(shù)值;所述第一子存儲(chǔ)塊521用于根據(jù)所述第一激活命令和所述第一讀命令,將所述第一子存儲(chǔ)塊521內(nèi)存儲(chǔ)的第一計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊;所述計(jì)數(shù)邏輯模塊51還用于所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值;所述計(jì)數(shù)邏輯模塊51還用于向所述第二子存儲(chǔ)塊522發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述第二子存儲(chǔ)塊522,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊522 ;所述第二子存儲(chǔ)塊522還用于根據(jù)所述第一激活命令和所述第一寫(xiě)命令,寫(xiě)入所述第二計(jì)數(shù)值。
[0080]可選的,所述計(jì)數(shù)邏輯模塊51還用于記錄所述第二子存儲(chǔ)塊522的編號(hào);
[0081]所述計(jì)數(shù)邏輯模塊51還用于接收到第二報(bào)文后,根據(jù)記錄的所述第二子存儲(chǔ)塊的編號(hào),向所述第二子存儲(chǔ)塊522發(fā)送第三激活命令和第二讀命令,所述第三激活命令用于激活所述第二子存儲(chǔ)塊522,所述第二讀命令用于從所述第二子存儲(chǔ)塊522內(nèi)讀取所述第二計(jì)數(shù)值;
[0082]第二子存儲(chǔ)塊522還用于根據(jù)所述第三激活命令和所述第二讀命令,將所述第二子存儲(chǔ)塊內(nèi)存儲(chǔ)的第二計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊51 ;
[0083]所述計(jì)數(shù)邏輯模塊51還用于對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值;
[0084]所述計(jì)數(shù)邏輯模塊51還用于向DDR SDRAM 52內(nèi)與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi);
[0085]所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊還用于根據(jù)所述第四激活命令和所述第二寫(xiě)命令,寫(xiě)入所述第三計(jì)數(shù)值;
[0086]所述計(jì)數(shù)邏輯模塊51還用于記錄所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊的編號(hào),以便下次需要計(jì)數(shù)時(shí)從所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
[0087]可選的,所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊為所述第一子存儲(chǔ)塊521。
[0088]可選的,所述計(jì)數(shù)邏輯模塊51發(fā)送的所述第二激活命令與所述第一讀命令之間的時(shí)間間隔小于tRC。
[0089]可選的,所述計(jì)數(shù)邏輯模塊51發(fā)送的所述第三激活命令與所述第一寫(xiě)命令之間的時(shí)間間隔等于tRC。
[0090]本實(shí)施例以DDR作為存儲(chǔ)媒介,可以保證存儲(chǔ)容量;通過(guò)將更新前后的計(jì)數(shù)值分別保存在不同的子存儲(chǔ)塊內(nèi),兩次的激活命令就沒(méi)有延時(shí)限制,也就不需要等待tRC時(shí)間,縮短等待時(shí)間后就可以提高帶寬,滿足高速設(shè)備的速率要求,避免DDR的帶寬浪費(fèi)。
[0091]本發(fā)明實(shí)施例可以應(yīng)用到各種需要高性能計(jì)數(shù)器的場(chǎng)合,如操作管理維護(hù)(Operation Administration and Maintenance, 0ΑΜ)、網(wǎng)絡(luò)流(NETSTREAM)等協(xié)議的場(chǎng)景。
[0092]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0093]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0094]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0095]另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0096]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM, Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0097]以上所述,以上實(shí)施例僅用以說(shuō)明本申請(qǐng)的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本申請(qǐng)進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請(qǐng)各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種基于雙數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器DDR SDRAM的計(jì)數(shù)器的實(shí)現(xiàn)方法,其特征在于,包括: 接收到第一報(bào)文后,向DDR SDRAM發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述DDR SDRAM內(nèi)的第一子存儲(chǔ)塊,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值; 對(duì)所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值; 向所述DDR SDRAM發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述DDR SDRAM內(nèi)的第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊內(nèi)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 記錄所述第二子存儲(chǔ)塊的編號(hào); 接收到第二報(bào)文后,根據(jù)記錄的所述第二子存儲(chǔ)塊的編號(hào),向所述DDR SDRAM發(fā)送第三激活命令和第二讀命令,所述第三激活命令用于激活所述第二子存儲(chǔ)塊,所述第二讀命令用于從所述第二子存儲(chǔ)塊內(nèi)讀取所述第二計(jì)數(shù)值; 對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值; 向所述DDR SDRAM發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述與所述第二子存儲(chǔ)塊不同 的子存儲(chǔ)塊內(nèi)。 記錄所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊的編號(hào),以便下次需要計(jì)數(shù)時(shí)從所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊為:所述第一子存儲(chǔ)塊。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述第二激活命令與所述第一讀命令之間的時(shí)間間隔小于同一個(gè)子存儲(chǔ)塊兩次激活之間的最小延時(shí)tRC。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述第三激活命令與所述第一寫(xiě)命令之間的時(shí)間間隔等于同一個(gè)子存儲(chǔ)塊兩次激活之間的最小延時(shí)tRC。
6.一種基于雙數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器DDR SDRAM的計(jì)數(shù)器,其特征在于,包括: 計(jì)數(shù)邏輯模塊和DDR SDRAM ; 所述DDR SDRAM包括第一子存儲(chǔ)塊和第二子存儲(chǔ)塊; 所述計(jì)數(shù)邏輯模塊用于接收到第一報(bào)文后,向所述第一子存儲(chǔ)塊發(fā)送第一激活命令和第一讀命令,所述第一激活命令用于激活所述第一子存儲(chǔ)塊,所述第一讀命令用于讀取所述第一子存儲(chǔ)塊內(nèi)存儲(chǔ)的第一計(jì)數(shù)值; 所述第一子存儲(chǔ)塊用于根據(jù)所述第一激活命令和所述第一讀命令,將所述第一計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊; 所述計(jì)數(shù)邏輯模塊還用于所述第一計(jì)數(shù)值進(jìn)行第一更新處理,得到第二計(jì)數(shù)值; 所述計(jì)數(shù)邏輯模塊還用于向所述第二子存儲(chǔ)塊發(fā)送第二激活命令和第一寫(xiě)命令,所述第二激活命令用于激活所述第二子存儲(chǔ)塊,所述第一寫(xiě)命令用于將所述第二計(jì)數(shù)值寫(xiě)入所述第二子存儲(chǔ)塊; 所述第二子存儲(chǔ)塊還用于根據(jù)所述第一激活命令和所述第一寫(xiě)命令,寫(xiě)入所述第二計(jì)數(shù)值。
7.根據(jù)權(quán)利要求6所述的計(jì)數(shù)器,其特征在于, 所述計(jì)數(shù)邏輯模塊還用于記錄所述第二子存儲(chǔ)塊的編號(hào); 所述計(jì)數(shù)邏輯模塊還用于接收到第二報(bào)文后,根據(jù)記錄的所述第二子存儲(chǔ)塊的編號(hào),向所述第二子存儲(chǔ)塊發(fā)送第三激活命令和第二讀命令,所述第三激活命令用于激活所述第二子存儲(chǔ)塊,所述第二讀命令用于從所述第二子存儲(chǔ)塊內(nèi)讀取所述第二計(jì)數(shù)值; 所述第二子存儲(chǔ)塊還用于根據(jù)所述第三激活命令和所述第二讀命令,將所述第二計(jì)數(shù)值讀出給所述計(jì)數(shù)邏輯模塊;所述計(jì)數(shù)邏輯模塊還用于對(duì)所述第二計(jì)數(shù)值進(jìn)行第二更新處理,得到第三計(jì)數(shù)值;所述計(jì)數(shù)邏輯模塊還用于向所述DDR SDRAM內(nèi)與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊發(fā)送第四激活命令和第二寫(xiě)命令,所述第四激活命令用于激活與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊,所述第二寫(xiě)命令用于將所述第三計(jì)數(shù)值寫(xiě)入所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi); 所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊還用于根據(jù)所述第四激活命令和所述第二寫(xiě)命令,寫(xiě)入所述第三計(jì)數(shù)值; 所述計(jì)數(shù)邏輯模塊還用于記錄所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊的編號(hào),以便下次需要計(jì)數(shù)時(shí)從所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊內(nèi)讀取計(jì)數(shù)值。
8.根據(jù)權(quán)利要求7所述的計(jì)數(shù)器,其特征在于,` 所述與所述第二子存儲(chǔ)塊不同的子存儲(chǔ)塊為所述第一子存儲(chǔ)塊。
9.根據(jù)權(quán)利要求6所述的計(jì)數(shù)器,其特征在于, 所述計(jì)數(shù)邏輯模塊發(fā)送的所述第二激活命令與所述第一讀命令之間的時(shí)間間隔小于同一個(gè)子存儲(chǔ)塊兩次激活之間的最小延時(shí)tRC。
10.根據(jù)權(quán)利要求7所述的計(jì)數(shù)器,其特征在于, 所述計(jì)數(shù)邏輯模塊發(fā)送的所述第三激活命令與所述第一寫(xiě)命令之間的時(shí)間間隔等于同一個(gè)子存儲(chǔ)塊兩次激活之間的最小延時(shí)tRC。
【文檔編號(hào)】H04L12/26GK103731313SQ201210381346
【公開(kāi)日】2014年4月16日 申請(qǐng)日期:2012年10月10日 優(yōu)先權(quán)日:2012年10月10日
【發(fā)明者】尤科劍, 孔超, 孫蘇偉, 李力, 劉軼 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沁阳市| 静宁县| 侯马市| 碌曲县| 铜鼓县| 泰和县| 高尔夫| 英超| 竹溪县| 高州市| 东兴市| 隆回县| 威信县| 苍溪县| 慈利县| 河东区| 舒兰市| 镇坪县| 凤凰县| 合作市| 济源市| 乌兰浩特市| 木兰县| 桂平市| 赤壁市| 甘孜县| 平安县| 花莲县| 柳江县| 阳朔县| 祁连县| 凉城县| 乌鲁木齐县| 石门县| 澄江县| 科技| 资阳市| 南川市| 韶山市| 昌都县| 鄂伦春自治旗|