應(yīng)用于prp/hsr報文丟棄算法的查找表優(yōu)化方法
【專利說明】應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,屬于工業(yè)控制領(lǐng)域。
【背景技術(shù)】
[0003]PRP (并行冗余協(xié)議)/HSR (高可靠無縫冗余)是提升工業(yè)以太網(wǎng)可靠性的兩種協(xié)議,具體如圖1所示,兩種協(xié)議的基本思路都是通過雙路冗余提高可靠性,由網(wǎng)絡(luò)終端選擇最優(yōu)的一路數(shù)據(jù),完成實時可靠無縫切換,雙路報文的丟棄算法是PRP/HSR的關(guān)鍵,其中查找表存儲的報文信息,包括PRP/HSR數(shù)據(jù)幀目的地址DA (Destinat1n Address)、源地址SA (SourceAddress)和序列號SEQ (SEQuence number),這些信息用于節(jié)點識別和報文識另IJ,查找表的查詢和更新機(jī)制,直接影響到PRP/HSR協(xié)議實現(xiàn)的實時性和可靠性,因而要求以太網(wǎng)PRP/HSR報文丟棄算法對查找表的查詢和更新具備更高效率,這種提高效率的方法現(xiàn)在還是空白。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明提供了一種應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法。
[0005]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,包括以下步驟,
步驟一,利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,其中寄存器作為BlockRAM 的 Cache 存在;
步驟二,當(dāng)PRP/HSR終端接收報文需要進(jìn)行報文信息查詢時,在寄存器中查詢,若命中,則轉(zhuǎn)至步驟三,若沒命中,則轉(zhuǎn)至步驟四;
步驟三,更新寄存器查找表,并根據(jù)Cache和BlockRAM的映射關(guān)系同步BlockRAM ; 步驟四,在BlockRAM中查詢,若命中,則轉(zhuǎn)至步驟五,若沒命中,則轉(zhuǎn)至步驟六;
步驟五,更新BlockRAM查找表,同時老化寄存器,將收到的報文信息作為Cache寫入寄存器,并維護(hù)映射關(guān)系;
步驟六,同時在寄存器和BlockRAM中新建節(jié)點信息,老化寄存器,將收到的報文信息作為Cache寫入寄存器,維護(hù)映射關(guān)系。
[0006]寄存器信息新建和老化使用管道流水機(jī)制。
[0007]BlockRAM中查詢使用多塊雙端并行機(jī)制。
[0008]本發(fā)明所達(dá)到的有益效果:1、本發(fā)明利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,使用分級查詢方法,寄存器老化機(jī)制,權(quán)衡寄存器速度與BlockRAM容量,減少查表延時,從而提升網(wǎng)絡(luò)的響應(yīng)速度;2、利用寄存器作為第一級查找表,讀寫時間短,延時??;3、利用BlockRAM作為二級查找表,容量變化靈活,可根據(jù)應(yīng)用支持不同節(jié)點數(shù);4、使用最新信息替代最舊信息的管道老化機(jī)制實時更新優(yōu)化寄存器Cache的內(nèi)容,提高查表命中率;5、利用BlockRAM的雙端口 RAM特性,信息查詢雙端并行進(jìn)行,查詢時間減半。
【附圖說明】
[0009]圖1為PRP/HSR示意圖。
[0010]圖2本發(fā)明的流程圖。
[0011 ] 圖3為兩級查找表示意圖。
[0012]圖4為查表到丟棄算法的流程圖。
【具體實施方式】
[0013]下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
[0014]如圖2所示,應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,包括以下步驟: 步驟一,利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,其中寄存器作為
BlockRAM 的 Cache 存在。
[0015]如圖3所示,將每個PRP/HSR端口的信息表拆分由16塊BlockRAM實現(xiàn),每塊存儲16個節(jié)點信息(以總節(jié)點256為例),并使用雙口并行進(jìn)行信息查詢,在BlockRAM前端設(shè)置16個寄存器作為查找表一級Cache,用于存儲最近到來的16個節(jié)點的報文信息,一旦最新報文信息存儲在這16個寄存器中,就可以直接查找到,快速更新,查找和更新時間時間只有 BlockRAM 的一半。
[0016]步驟二,當(dāng)PRP/HSR終端接收報文需要進(jìn)行報文信息查詢時,在寄存器中查詢,若命中,則轉(zhuǎn)至步驟三,若沒命中,則轉(zhuǎn)至步驟四;
步驟三,更新寄存器查找表,并根據(jù)Cache和BlockRAM的映射關(guān)系同步BlockRAM ;步驟四,在BlockRAM中使用多塊雙端并行機(jī)制查詢,若命中,則轉(zhuǎn)至步驟五,若沒命中,則轉(zhuǎn)至步驟六;
步驟五,更新BlockRAM查找表,同時老化寄存器,將收到的報文信息作為Cache寫入寄存器,并維護(hù)映射關(guān)系;
步驟六,同時在寄存器和BlockRAM中新建節(jié)點信息,老化寄存器,將收到的報文信息作為Cache寫入寄存器,維護(hù)映射關(guān)系。
[0017]寄存器信息新建和老化使用管道流水機(jī)制,最新到達(dá)的節(jié)點信息代替最早到達(dá)的節(jié)點信息,不斷更新。
[0018]如圖4所示,查找表結(jié)束之后提供報文相關(guān)信息給丟棄算法由丟棄算法模塊選擇一份最優(yōu)的報文。
[0019]上述方法利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,使用分級查詢方法,寄存器作為第一級查找表,BlockRAM作為二級查找表,寄存器是BlockRAM的Cahce,并使用管道老化機(jī)制實時更新優(yōu)化寄存器Cache的內(nèi)容,,同步并行更新BlockRAM,維護(hù)兩者的映射關(guān)系和數(shù)據(jù)一致性。
[0020]上述方法利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,使用分級查詢方法,寄存器老化機(jī)制,權(quán)衡寄存器速度與BlockRAM容量,減少查表延時,從而提升網(wǎng)絡(luò)的響應(yīng)速度;利用寄存器作為第一級查找表,讀寫時間短,延時小;利用BlockRAM作為二級查找表,容量變化靈活,可根據(jù)應(yīng)用支持不同節(jié)點數(shù);使用最新信息替代最舊信息的管道老化機(jī)制實時更新寄存器的內(nèi)容,實時優(yōu)化Cache內(nèi)容,提高查表命中率;利用BlockRAM的雙端口 RAM特性,信息查詢雙端并行進(jìn)行,查詢時間減半。
[0021]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項】
1.應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,其特征在于:包括以下步驟, 步驟一,利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,其中寄存器作為BlockRAM 的 Cache 存在; 步驟二,當(dāng)PRP/HSR終端接收報文需要進(jìn)行報文信息查詢時,在寄存器中查詢,若命中,則轉(zhuǎn)至步驟三,若沒命中,則轉(zhuǎn)至步驟四; 步驟三,更新寄存器查找表,并根據(jù)Cache和BlockRAM的映射關(guān)系同步BlockRAM ; 步驟四,在BlockRAM中查詢,若命中,則轉(zhuǎn)至步驟五,若沒命中,則轉(zhuǎn)至步驟六; 步驟五,更新BlockRAM查找表,同時老化寄存器,將收到的報文信息作為Cache寫入寄存器,并維護(hù)映射關(guān)系; 步驟六,同時在寄存器和BlockRAM中新建節(jié)點信息,老化寄存器,將收到的報文信息作為Cache寫入寄存器,維護(hù)映射關(guān)系。2.根據(jù)權(quán)利要求1所述的應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,其特征在于:寄存器信息新建和老化使用管道流水機(jī)制。3.根據(jù)權(quán)利要求1所述的應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,其特征在于:BlockRAM中查詢使用多塊雙端并行機(jī)制。
【專利摘要】本發(fā)明公開了一種應(yīng)用于PRP/HSR報文丟棄算法的查找表優(yōu)化方法,利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,使用分級查詢方法,寄存器作為第一級查找表,BlockRAM作為二級查找表,寄存器是BlockRAM的Cahce,并使用管道老化機(jī)制實時更新優(yōu)化寄存器Cache的內(nèi)容,同步并行更新BlockRAM,維護(hù)兩者的映射關(guān)系和數(shù)據(jù)一致性。本發(fā)明利用FPGA內(nèi)部寄存器和BlockRAM分級存儲報文信息表,使用分級查詢方法,寄存器老化機(jī)制,權(quán)衡寄存器速度與BlockRAM容量,減少查表延時,從而提升網(wǎng)絡(luò)的響應(yīng)速度。
【IPC分類】H04L12/741, H04L12/751
【公開號】CN105357126
【申請?zhí)枴緾N201510772847
【發(fā)明人】王凱, 趙馬泉, 周華良, 楊志宏, 謝黎, 姜雷
【申請人】國電南瑞科技股份有限公司, 國家電網(wǎng)公司, 國網(wǎng)浙江省電力公司, 國電南瑞南京控制系統(tǒng)有限公司
【公開日】2016年2月24日
【申請日】2015年11月12日