本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,具體而言,涉及一種奇偶校驗(yàn)糾錯(cuò)方法及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,生活中對(duì)于互聯(lián)網(wǎng)的依賴性越來(lái)越強(qiáng),從而對(duì)于網(wǎng)絡(luò)的要求也越來(lái)越高(例如:網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)穩(wěn)定性),因此對(duì)于承載網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)的網(wǎng)絡(luò)設(shè)備(例如路由器和交換機(jī))提出了更高的要求來(lái)保證網(wǎng)絡(luò)應(yīng)用的流暢性和穩(wěn)定性。當(dāng)前網(wǎng)絡(luò)設(shè)備基本上都是使用硬轉(zhuǎn)發(fā)芯片來(lái)完成數(shù)據(jù)的轉(zhuǎn)發(fā)處理,以降低網(wǎng)絡(luò)時(shí)延、增加網(wǎng)絡(luò)帶寬以及提高轉(zhuǎn)發(fā)效率。目前由于芯片的集成度越來(lái)越高,導(dǎo)致芯片表項(xiàng)條目和寄存器的字段也越來(lái)越多。另外,各種網(wǎng)絡(luò)設(shè)備往往集中放置于機(jī)房,相互之間存在干擾,增加了芯片表項(xiàng)和寄存器比特錯(cuò)誤的概率。一旦芯片表項(xiàng)或者寄存器中的某個(gè)重要比特發(fā)生翻轉(zhuǎn)(例如:二層轉(zhuǎn)發(fā)表、三層轉(zhuǎn)發(fā)表和邏輯判斷寄存器等)就會(huì)導(dǎo)致二層轉(zhuǎn)發(fā)或者三層轉(zhuǎn)發(fā)不生效,進(jìn)而引起業(yè)務(wù)中斷故障。
發(fā)明人在研究中發(fā)現(xiàn),對(duì)于芯片的糾錯(cuò)一般都是由芯片內(nèi)部進(jìn)行自我冗余恢復(fù),對(duì)于芯片的奇偶校驗(yàn)方法,由于可能存在多個(gè)比特錯(cuò)誤,目前還沒(méi)有一個(gè)很好的方法能夠用奇偶校驗(yàn)同時(shí)檢測(cè)并且糾正芯片中配置數(shù)據(jù)的錯(cuò)誤。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種奇偶校驗(yàn)糾錯(cuò)方法及網(wǎng)絡(luò)設(shè)備,旨在對(duì)奇偶校驗(yàn)檢測(cè)出的錯(cuò)誤進(jìn)行有效校正和恢復(fù),從而提高了數(shù)據(jù)轉(zhuǎn)發(fā)的有效性和可靠性。
第一方面,本發(fā)明實(shí)施例提供的一種奇偶校驗(yàn)糾錯(cuò)方法,包括:
處理器模塊下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊,并將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份;
所述處理器模塊根據(jù)所述配置數(shù)據(jù)對(duì)硬件轉(zhuǎn)發(fā)模塊中對(duì)應(yīng)的硬件表項(xiàng)或者寄存器進(jìn)行配置;
所述硬件轉(zhuǎn)發(fā)模塊對(duì)配置后的所述硬件表項(xiàng)或者寄存器的值進(jìn)行奇偶校驗(yàn)錯(cuò)誤檢測(cè),當(dāng)檢測(cè)到發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),向所述處理器模塊發(fā)送中斷通知;
所述處理器模塊接收到所述中斷通知后根據(jù)在所述緩存模塊中備份的配置數(shù)據(jù),對(duì)所述硬件轉(zhuǎn)發(fā)模塊中發(fā)生奇偶校驗(yàn)錯(cuò)誤的硬件表項(xiàng)或者寄存器進(jìn)行校正和恢復(fù)。
優(yōu)選地,所述處理器模塊下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊之后,在將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份之前,所述方法還包括:
所述處理器模塊檢測(cè)所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器是否使能奇偶校驗(yàn)糾錯(cuò)功能;
當(dāng)檢測(cè)到所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器的奇偶校驗(yàn)糾錯(cuò)功能被使能時(shí),才將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份。
優(yōu)選地,所述處理器模塊接收到所述中斷通知后根據(jù)在所述緩存模塊中備份的配置數(shù)據(jù),對(duì)所述硬件轉(zhuǎn)發(fā)模塊中發(fā)生奇偶校驗(yàn)錯(cuò)誤的硬件表項(xiàng)或者寄存器進(jìn)行校正和恢復(fù)的步驟包括:
所述處理器模塊獲取在所述硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)出現(xiàn)奇偶校驗(yàn)錯(cuò)誤的位置信息,其中,所述位置信息包括硬件表項(xiàng)或寄存器的索引號(hào)或起始地址;
所述處理器模塊根據(jù)所述位置信息在所述緩存模塊中查詢對(duì)應(yīng)的存儲(chǔ)位置,調(diào)用所述緩存模塊中的配置數(shù)據(jù)對(duì)所述硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。
優(yōu)選地,所述對(duì)所述硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)的步驟之后,所述方法還包括:
所述處理器模塊對(duì)奇偶校驗(yàn)錯(cuò)誤事件和校正事件進(jìn)行記錄。
優(yōu)選地,所述處理器模塊下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊,并將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份的步驟之后,所述方法還包括:
所述處理器模塊將去使能控制指令發(fā)送給所述芯片,以禁用所述芯片的奇偶校驗(yàn)糾錯(cuò)功能;
所述處理器模塊將存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊;
所述處理器模塊向所述硬件轉(zhuǎn)發(fā)模塊發(fā)送使能控制指令,以使能所述硬件轉(zhuǎn)發(fā)模塊的奇偶校驗(yàn)糾錯(cuò)功能;
所述處理器模塊根據(jù)所述硬件轉(zhuǎn)發(fā)模塊在奇偶校驗(yàn)糾錯(cuò)功能被使能之后的配置數(shù)據(jù)驗(yàn)證該奇偶校驗(yàn)錯(cuò)誤是否被校正修復(fù)。第二方面,本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)設(shè)備,包括處理器模塊、硬件轉(zhuǎn)發(fā)模塊和緩存模塊,所述處理器模塊包括配置單元、奇偶校驗(yàn)錯(cuò)誤接收單元和奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元,
所述配置單元,用于下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊,并將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份;
所述配置單元,還用于根據(jù)所述配置數(shù)據(jù)對(duì)硬件轉(zhuǎn)發(fā)模塊中對(duì)應(yīng)的硬件表項(xiàng)或者寄存器進(jìn)行配置;
所述硬件轉(zhuǎn)發(fā)模塊,用于對(duì)配置后的所述硬件表項(xiàng)或者寄存器的值進(jìn)行奇偶校驗(yàn)錯(cuò)誤檢測(cè),當(dāng)檢測(cè)到發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),向所述處理器模塊發(fā)送中斷通知;
所述奇偶校驗(yàn)錯(cuò)誤接收單元,用于接收所述中斷通知,并將該中斷通知發(fā)送給所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元;
所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元,用于接收到所述中斷通知后根據(jù)在所述緩存模塊中備份的配置數(shù)據(jù),對(duì)所述硬件轉(zhuǎn)發(fā)模塊中發(fā)生奇偶校驗(yàn)錯(cuò)誤的硬件表項(xiàng)或者寄存器進(jìn)行校正和恢復(fù)。
優(yōu)選地,所述配置單元,還用于檢測(cè)所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器是否使能奇偶校驗(yàn)糾錯(cuò)功能;及
當(dāng)檢測(cè)到所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器的奇偶校驗(yàn)糾錯(cuò)功能被使能時(shí),才將所述配置數(shù)據(jù)發(fā)送給緩存模塊進(jìn)行備份。
優(yōu)選地,所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元,用于獲取在所述硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)出現(xiàn)奇偶校驗(yàn)錯(cuò)誤的位置信息,其中,所述位置信息包括硬件表項(xiàng)或寄存器的索引號(hào)或起始地址;及
用于根據(jù)所述位置信息在所述緩存模塊中查詢對(duì)應(yīng)的存儲(chǔ)位置,調(diào)用所述緩存模塊中的配置數(shù)據(jù)對(duì)所述硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。
優(yōu)選地,所述處理器模塊還包括:記錄單元,用于對(duì)奇偶校驗(yàn)錯(cuò)誤事件和校正事件進(jìn)行記錄。
優(yōu)選地,所述配置模塊,用于將去使能控制指令發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊,以禁用所述硬件轉(zhuǎn)發(fā)模塊的奇偶校驗(yàn)糾錯(cuò)功能;
用于將存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊;及用于向所述硬件轉(zhuǎn)發(fā)模塊發(fā)送使能控制指令,以使能所述硬件轉(zhuǎn)發(fā)模塊的奇偶校驗(yàn)糾錯(cuò)功能;
所述處理器模塊還包括:驗(yàn)證單元,用于根據(jù)所述硬件轉(zhuǎn)發(fā)模塊在奇偶校驗(yàn)糾錯(cuò)功能被使能之后的配置數(shù)據(jù)驗(yàn)證該奇偶校驗(yàn)錯(cuò)誤是否被校正修復(fù)。
本發(fā)明實(shí)施例提供的一種奇偶校驗(yàn)糾錯(cuò)方法及網(wǎng)絡(luò)設(shè)備,通過(guò)處理器模塊將配置數(shù)據(jù)發(fā)送給硬件轉(zhuǎn)發(fā)模塊,同時(shí)發(fā)送給緩存模塊進(jìn)行備份,當(dāng)所述硬件轉(zhuǎn)發(fā)模塊檢測(cè)到所述配置數(shù)據(jù)發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),發(fā)送一中斷通知給所述處理器模塊,以觸發(fā)所述處理器模塊調(diào)用備份在所述緩存模塊中的配置數(shù)據(jù)對(duì)硬件轉(zhuǎn)發(fā)模塊中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù),從而有效提高對(duì)奇偶校驗(yàn)錯(cuò)誤進(jìn)行恢復(fù)的有效性和可靠性。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)該看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1是本發(fā)明實(shí)施方式提供的一種網(wǎng)絡(luò)設(shè)備的硬件組成框圖。
圖2示出了圖1中的處理器模塊的功能模塊框圖。
圖3是本發(fā)明實(shí)施方式提供的一種奇偶校驗(yàn)糾錯(cuò)方法的流程圖。
圖4是應(yīng)用于圖3所示的下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊的步驟之前的流程圖。
圖5是應(yīng)用于圖3所示的將配置數(shù)據(jù)發(fā)送給所述緩存模塊進(jìn)行備份的步驟之后的流程圖。
圖中標(biāo)記分別為:
圖標(biāo):100-網(wǎng)絡(luò)設(shè)備;101-硬件轉(zhuǎn)發(fā)模塊;102-緩存模塊;103-處理器模塊;1031-配置單元;1032-奇偶校驗(yàn)錯(cuò)誤接收單元;1033-奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元;1034-記錄單元;1035-驗(yàn)證單元。
具體實(shí)施方式
對(duì)于芯片的糾錯(cuò)一般都是由芯片內(nèi)部進(jìn)行自我冗余恢復(fù),對(duì)于芯片的奇偶校驗(yàn)方法,可以檢測(cè)出單個(gè)比特錯(cuò)誤或者奇數(shù)個(gè)比特錯(cuò)誤,但是無(wú)法確認(rèn)具體是哪個(gè)比特錯(cuò)誤,即奇偶校驗(yàn)方法并不具備糾錯(cuò)的能力。由于可能存在多個(gè)比特錯(cuò)誤,目前還沒(méi)有一個(gè)很好的方法能夠用奇偶校驗(yàn)方法同時(shí)檢測(cè)并且糾正芯片中的配置數(shù)據(jù)的錯(cuò)誤。
有鑒于此,本發(fā)明實(shí)施例提供了一種奇偶校驗(yàn)糾錯(cuò)方法及網(wǎng)絡(luò)設(shè)備,可以有效解決上述問(wèn)題。
為使本發(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ù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類(lèi)似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
如圖1所示,是本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)設(shè)備100的硬件組成框圖。該網(wǎng)絡(luò)設(shè)備100可以包括,但不限于交換機(jī)和路由器等。其中,所述網(wǎng)絡(luò)設(shè)備100可以包括硬件轉(zhuǎn)發(fā)模塊101、緩存模塊102和處理器模塊103。
請(qǐng)參閱圖2,是所述處理器模塊103的功能模塊框圖。本實(shí)施例中,所述處理器模塊103可以包括配置單元1031、奇偶校驗(yàn)錯(cuò)誤接收單元1032、奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033、記錄單元1034和驗(yàn)證單元1035等。下面將對(duì)以上各功能模塊進(jìn)行詳細(xì)描述。
本實(shí)施例中,在所述配置單元1031將配置數(shù)據(jù)發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101之前,該配置單元1031首先將使能控制指令發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101,以觸發(fā)所述硬件轉(zhuǎn)發(fā)模塊101開(kāi)啟奇偶校驗(yàn)糾錯(cuò)功能。然后,間隔一預(yù)設(shè)時(shí)間(例如:3秒或5秒等)之后,該配置單元1031對(duì)所述硬件轉(zhuǎn)發(fā)模塊101進(jìn)行檢測(cè),得出該硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能的開(kāi)啟關(guān)閉狀態(tài)。
其中,當(dāng)所述配置單元1031檢測(cè)到所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能開(kāi)啟時(shí),會(huì)將配置數(shù)據(jù)分別發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101和所述緩存模塊102。本實(shí)施例中,所述配置數(shù)據(jù)可以包括芯片表項(xiàng)和寄存器字段信息。所述硬件轉(zhuǎn)發(fā)模塊101根據(jù)該配置數(shù)據(jù)對(duì)硬件表項(xiàng)或寄存器進(jìn)行配置。所述緩存模塊102則將該配置數(shù)據(jù)進(jìn)行存儲(chǔ)備份。其中,所述配置可以包括對(duì)所述硬件表項(xiàng)或者寄存器中的配置數(shù)據(jù)進(jìn)行添加、更新或刪除等。詳細(xì)地,所述緩存模塊102對(duì)接收到的配置數(shù)據(jù)進(jìn)行解析,得到與該配置數(shù)據(jù)所對(duì)應(yīng)的硬件表項(xiàng)或寄存器的字段寬度后,進(jìn)行存儲(chǔ)地址以及存儲(chǔ)空間大小的分配,并對(duì)所述配置數(shù)據(jù)進(jìn)行存儲(chǔ)。
另外,當(dāng)所述配置單元1031檢測(cè)到所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)功能未開(kāi)啟時(shí),會(huì)將配置數(shù)據(jù)只發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101,而不會(huì)發(fā)送給所述緩存模塊102進(jìn)行存儲(chǔ)備份。所述硬件轉(zhuǎn)發(fā)模塊101可將該配置數(shù)據(jù)寫(xiě)入所述硬件轉(zhuǎn)發(fā)模塊101的硬件表項(xiàng)或者寄存器。當(dāng)然,對(duì)于硬件表項(xiàng)或者寄存器并不重要的配置數(shù)據(jù),為了增加配置的靈活性以及節(jié)省緩存模塊102的存儲(chǔ)空間,可以不對(duì)該配置數(shù)據(jù)進(jìn)行存儲(chǔ)。
所述硬件轉(zhuǎn)發(fā)模塊101對(duì)接收到的配置數(shù)據(jù)進(jìn)行奇偶校驗(yàn)錯(cuò)誤檢測(cè),當(dāng)檢測(cè)到所述配置數(shù)據(jù)發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),向所述奇偶校驗(yàn)錯(cuò)誤接收單元1032發(fā)送中斷通知。所述奇偶校驗(yàn)錯(cuò)誤接收單元1032將接收到的中斷通知及時(shí)轉(zhuǎn)發(fā)給所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033,以避免因?yàn)槠媾夹r?yàn)錯(cuò)誤沒(méi)有及時(shí)恢復(fù)導(dǎo)致業(yè)務(wù)中斷時(shí)間過(guò)長(zhǎng)的現(xiàn)象發(fā)生。另外,當(dāng)檢測(cè)到所述配置數(shù)據(jù)未發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),根據(jù)所述配置數(shù)據(jù)對(duì)所述硬件轉(zhuǎn)發(fā)模塊101的硬件表項(xiàng)或者寄存器進(jìn)行配置。
本實(shí)施例中,所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033根據(jù)接收到的中斷通知獲取在所述緩存模塊102中備份的配置數(shù)據(jù),完成對(duì)所述硬件轉(zhuǎn)發(fā)模塊101中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。詳細(xì)地,所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033首先獲取存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)的位置信息。其中,所述位置信息可以包括硬件表項(xiàng)或寄存器的索引號(hào)或者起始地址等。另外,所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033根據(jù)所述位置信息在所述緩存模塊102中查詢對(duì)應(yīng)的存儲(chǔ)位置,并將所述緩存模塊102中的配置數(shù)據(jù)調(diào)用出來(lái),對(duì)所述硬件轉(zhuǎn)發(fā)模塊101中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。
可選地,當(dāng)所述奇偶校驗(yàn)錯(cuò)誤接收單元1032檢測(cè)到所述配置數(shù)據(jù)存在奇偶校驗(yàn)錯(cuò)誤時(shí),將該奇偶校驗(yàn)錯(cuò)誤信息發(fā)送給所述記錄單元1034,該記錄單元1034對(duì)所述奇偶校驗(yàn)錯(cuò)誤信息進(jìn)行記錄并存儲(chǔ)。另外,當(dāng)所述奇偶校驗(yàn)錯(cuò)誤恢復(fù)單元1033對(duì)存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)進(jìn)行校正時(shí),將該奇偶校驗(yàn)校正信息發(fā)送給所述記錄單元1034,該記錄單元1034則對(duì)該奇偶校驗(yàn)校正信息進(jìn)行記錄并存儲(chǔ)。
為了對(duì)網(wǎng)絡(luò)設(shè)備100的奇偶校驗(yàn)錯(cuò)誤恢復(fù)能力進(jìn)行有效的模擬和測(cè)試,在向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送配置數(shù)據(jù)之前,所述配置單元1031將首先向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送一去使能控制指令,所述硬件轉(zhuǎn)發(fā)模塊101在所述去使能控制指令的作用下禁用所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。然后,所述配置單元1031向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送使能控制指令,所述硬件轉(zhuǎn)發(fā)模塊101根據(jù)接收到的使能控制指令觸發(fā)所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。并通過(guò)外部事件(例如:打流或讀取配置數(shù)據(jù)等)觸發(fā)所述配置數(shù)據(jù)的奇偶校驗(yàn)錯(cuò)誤。再間隔一預(yù)設(shè)時(shí)間(例如5秒或10秒等)后,所述驗(yàn)證單元1035在所述奇偶校驗(yàn)功能被使能之后進(jìn)行配置數(shù)據(jù)的查詢,判斷該奇偶校驗(yàn)錯(cuò)誤是否被恢復(fù)。詳細(xì)地,當(dāng)查詢出的配置數(shù)據(jù)依然存在奇偶校驗(yàn)錯(cuò)誤時(shí),判斷該奇偶校驗(yàn)錯(cuò)誤未被校正恢復(fù)。當(dāng)查詢出的配置數(shù)據(jù)并不存在奇偶校驗(yàn)錯(cuò)誤時(shí),判斷該奇偶校驗(yàn)錯(cuò)誤被校正恢復(fù)。
如圖3所示,是本發(fā)明實(shí)施例提供的一種奇偶校驗(yàn)糾錯(cuò)方法的流程圖。該方法可應(yīng)用于網(wǎng)絡(luò)設(shè)備100。請(qǐng)?jiān)俅螀㈤唸D1,所述網(wǎng)絡(luò)設(shè)備100可以包括硬件轉(zhuǎn)發(fā)模塊101、緩存模塊102和處理器模塊103。其中,所述方法可包括以下步驟:
步驟S101:所述處理器模塊103下發(fā)配置數(shù)據(jù)到硬件轉(zhuǎn)發(fā)模塊101,并將所述配置數(shù)據(jù)發(fā)送給所述緩存模塊102進(jìn)行備份。
其中,當(dāng)所述處理器模塊103檢測(cè)到所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能開(kāi)啟時(shí),則將配置數(shù)據(jù)分別發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101和所述緩存模塊102。本實(shí)施例中,所述配置數(shù)據(jù)可以包括硬件表項(xiàng)和寄存器字段信息。
步驟S102:所述處理器模塊103根據(jù)所述配置數(shù)據(jù)對(duì)硬件轉(zhuǎn)發(fā)模塊101中對(duì)應(yīng)的硬件表項(xiàng)或者寄存器進(jìn)行配置。
本實(shí)施例中,所述處理器模塊103根據(jù)該配置數(shù)據(jù)對(duì)硬件表項(xiàng)或寄存器進(jìn)行配置。所述緩存模塊102則將該配置數(shù)據(jù)進(jìn)行存儲(chǔ)備份。其中,所述配置可以包括對(duì)所述硬件表項(xiàng)或者寄存器中的配置數(shù)據(jù)進(jìn)行添加、更新或刪除等。詳細(xì)地,所述緩存模塊102對(duì)接收到的配置數(shù)據(jù)進(jìn)行解析,得到與該配置數(shù)據(jù)所對(duì)應(yīng)的硬件表項(xiàng)或寄存器的字段寬度后進(jìn)行存儲(chǔ)地址以及存儲(chǔ)空間大小的分配,并對(duì)所述配置數(shù)據(jù)進(jìn)行存儲(chǔ)。
步驟S103:所述硬件轉(zhuǎn)發(fā)模塊101對(duì)配置后的所述硬件表項(xiàng)或者寄存器的值進(jìn)行奇偶校驗(yàn)錯(cuò)誤檢測(cè),當(dāng)檢測(cè)到發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),向所述處理器模塊103發(fā)送中斷通知。
所述硬件轉(zhuǎn)發(fā)模塊101對(duì)接收到的配置數(shù)據(jù)進(jìn)行奇偶校驗(yàn)錯(cuò)誤檢測(cè),當(dāng)檢測(cè)到所述配置數(shù)據(jù)發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),向所述處理器模塊103發(fā)送中斷通知。所述處理器模塊103對(duì)接收到的中斷通知進(jìn)行及時(shí)響應(yīng),以避免因?yàn)槠媾夹r?yàn)錯(cuò)誤沒(méi)有及時(shí)恢復(fù)導(dǎo)致業(yè)務(wù)中斷時(shí)間過(guò)長(zhǎng)的現(xiàn)象發(fā)生。另外,當(dāng)檢測(cè)到所述配置數(shù)據(jù)未發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),根據(jù)所述配置數(shù)據(jù)對(duì)所述硬件轉(zhuǎn)發(fā)模塊101的硬件表項(xiàng)或者寄存器進(jìn)行配置。
步驟S104:所述處理器模塊103接收到所述中斷通知后根據(jù)在所述緩存模塊102中的配置數(shù)據(jù),對(duì)所述硬件轉(zhuǎn)發(fā)模塊101中發(fā)生奇偶校驗(yàn)錯(cuò)誤的硬件表項(xiàng)或者寄存器進(jìn)行校正和恢復(fù)。
本實(shí)施例中,所述處理器模塊103根據(jù)接收到的中斷通知獲取在所述緩存模塊102中備份的配置數(shù)據(jù),完成對(duì)所述硬件轉(zhuǎn)發(fā)模塊101中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。詳細(xì)地,所述處理器模塊103首先獲取存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)的位置信息。其中,所述位置信息可以包括硬件表項(xiàng)或寄存器的索引號(hào)或者起始地址等。另外,所述處理器模塊103根據(jù)所述位置信息在所述緩存模塊102中查詢對(duì)應(yīng)的存儲(chǔ)位置,并將所述緩存模塊102中的配置數(shù)據(jù)調(diào)用出來(lái),對(duì)所述硬件轉(zhuǎn)發(fā)模塊101中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù)。
可選地,當(dāng)所述處理器模塊103檢測(cè)到所述配置數(shù)據(jù)存在奇偶校驗(yàn)錯(cuò)誤時(shí),對(duì)所述奇偶校驗(yàn)錯(cuò)誤信息進(jìn)行記錄并存儲(chǔ)。另外,當(dāng)所述處理器模塊103對(duì)存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)進(jìn)行校正時(shí),將該奇偶校驗(yàn)校正信息進(jìn)行記錄并存儲(chǔ)。
如圖4所示,在步驟S101之前,所述方法還包括以下步驟。
步驟S201:所述處理器模塊103檢測(cè)所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器是否使能奇偶校驗(yàn)糾錯(cuò)功能。
本實(shí)施例中,在所述處理器模塊103將配置數(shù)據(jù)發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101之前,該處理器模塊103首先將使能控制指令發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101,以觸發(fā)所述硬件轉(zhuǎn)發(fā)模塊101開(kāi)啟奇偶校驗(yàn)糾錯(cuò)功能。然后,間隔一預(yù)設(shè)時(shí)間(例如:3秒或5秒等)對(duì)所述硬件轉(zhuǎn)發(fā)模塊101進(jìn)行檢測(cè),得出該硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)功能的開(kāi)啟關(guān)閉狀態(tài)。
步驟S202:當(dāng)檢測(cè)到所述配置數(shù)據(jù)對(duì)應(yīng)的硬件表項(xiàng)或者寄存器的奇偶校驗(yàn)糾錯(cuò)功能被使能時(shí),才將所述配置數(shù)據(jù)發(fā)送給緩存模塊102進(jìn)行備份。。
本實(shí)施例中,所述硬件轉(zhuǎn)發(fā)模塊101根據(jù)該配置數(shù)據(jù)對(duì)硬件表項(xiàng)或寄存器進(jìn)行配置。所述緩存模塊102則將該配置數(shù)據(jù)進(jìn)行存儲(chǔ)備份。其中,所述配置可以包括對(duì)所述硬件表項(xiàng)或者寄存器中的配置數(shù)據(jù)進(jìn)行添加、更新或刪除等。詳細(xì)地,所述緩存模塊102對(duì)接收到的配置數(shù)據(jù)進(jìn)行解析,得到與該配置數(shù)據(jù)所對(duì)應(yīng)的硬件表項(xiàng)或寄存器的字段寬度后進(jìn)行存儲(chǔ)地址以及存儲(chǔ)空間大小的分配,并對(duì)所述配置數(shù)據(jù)進(jìn)行存儲(chǔ)。
另外,當(dāng)所述處理器模塊103檢測(cè)到所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)功能未開(kāi)啟時(shí),會(huì)將配置數(shù)據(jù)只發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101,而不會(huì)發(fā)送給所述緩存模塊102進(jìn)行存儲(chǔ)備份。所述硬件轉(zhuǎn)發(fā)模塊101可將該配置數(shù)據(jù)寫(xiě)入所述硬件轉(zhuǎn)發(fā)模塊101的硬件表項(xiàng)或者寄存器。當(dāng)然,對(duì)于硬件表項(xiàng)或者寄存器并不重要的配置數(shù)據(jù),為了增加配置的靈活性以及節(jié)省緩存模塊102的存儲(chǔ)空間,可以不對(duì)該配置數(shù)據(jù)進(jìn)行存儲(chǔ)。
為了對(duì)網(wǎng)絡(luò)設(shè)備100的奇偶校驗(yàn)錯(cuò)誤恢復(fù)能力進(jìn)行有效的模擬和測(cè)試,如圖5所示,所述方法還包括以下步驟。
步驟S301:所述處理器模塊103將去使能控制指令發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101,以禁用所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。
在向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送配置數(shù)據(jù)之前,所述處理器模塊103將首先向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送一去使能控制指令,所述硬件轉(zhuǎn)發(fā)模塊101在所述去使能控制指令的作用下禁用所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。
步驟S302:所述處理器模塊103將存在奇偶校驗(yàn)錯(cuò)誤的配置數(shù)據(jù)發(fā)送給所述硬件轉(zhuǎn)發(fā)模塊101。
步驟S303:所述處理器模塊103向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送使能控制指令,以使能所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。
所述處理器模塊103向所述硬件轉(zhuǎn)發(fā)模塊101發(fā)送使能控制指令,所述硬件轉(zhuǎn)發(fā)模塊101根據(jù)接收到的使能控制指令觸發(fā)所述硬件轉(zhuǎn)發(fā)模塊101的奇偶校驗(yàn)糾錯(cuò)功能。并通過(guò)外部事件(例如:打流和讀取配置數(shù)據(jù)等)觸發(fā)所述配置數(shù)據(jù)的奇偶校驗(yàn)錯(cuò)誤。
步驟S304:所述處理器模塊103根據(jù)所述硬件轉(zhuǎn)發(fā)模塊101在奇偶校驗(yàn)糾錯(cuò)功能被使能之后的配置數(shù)據(jù)驗(yàn)證該奇偶校驗(yàn)錯(cuò)誤是否被校正修復(fù)。
再間隔一預(yù)設(shè)時(shí)間(例如5秒或10秒等)后,所述處理器模塊103在所述奇偶校驗(yàn)功能被使能之后進(jìn)行配置數(shù)據(jù)的查詢,判斷該奇偶校驗(yàn)錯(cuò)誤是否被恢復(fù)。詳細(xì)地,當(dāng)查詢出的配置數(shù)據(jù)依然存在奇偶校驗(yàn)錯(cuò)誤時(shí),判斷該奇偶校驗(yàn)錯(cuò)誤未被校正恢復(fù)。當(dāng)查詢出的配置數(shù)據(jù)并不存在奇偶校驗(yàn)錯(cuò)誤時(shí),判斷該奇偶校驗(yàn)錯(cuò)誤被校正恢復(fù)。
本發(fā)明實(shí)施例提供的一種奇偶校驗(yàn)糾錯(cuò)方法及網(wǎng)絡(luò)設(shè)備,通過(guò)處理器模塊103將配置數(shù)據(jù)發(fā)送給硬件轉(zhuǎn)發(fā)模塊101,同時(shí)發(fā)送給緩存模塊102進(jìn)行備份,當(dāng)所述硬件轉(zhuǎn)發(fā)模塊101檢測(cè)到所述配置數(shù)據(jù)發(fā)生奇偶校驗(yàn)錯(cuò)誤時(shí),發(fā)送一中斷通知給所述處理器模塊103,以觸發(fā)所述處理器模塊103調(diào)用備份在所述緩存模塊102中的配置數(shù)據(jù)對(duì)硬件轉(zhuǎn)發(fā)模塊101中的配置數(shù)據(jù)進(jìn)行校正和恢復(fù),從而有效提高對(duì)奇偶校驗(yàn)錯(cuò)誤進(jìn)行恢復(fù)的有效性和可靠性。
本發(fā)明實(shí)施例中,處理器模塊103和硬件轉(zhuǎn)發(fā)模塊101可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的硬件芯片來(lái)實(shí)現(xiàn)(例如處理器模塊103功能由CPU來(lái)實(shí)現(xiàn),硬件轉(zhuǎn)發(fā)模塊101由交換芯片來(lái)實(shí)現(xiàn)),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)(例如處理器103模塊功能由CPU及相關(guān)指令來(lái)實(shí)現(xiàn),硬件轉(zhuǎn)發(fā)模塊101由交換芯片及相關(guān)指令來(lái)實(shí)現(xiàn))。
需要說(shuō)明的是,在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的物品或者設(shè)備中還存在另外的相同要素。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(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)。