本申請涉及通訊技術領域,尤其涉及一種記錄PCIE設備錯誤信息的方法及裝置。
背景技術:
若框式設備中單板上的PCIE設備發(fā)生錯誤(例如溫度過高,或PCIE鏈路不穩(wěn)定等原因),則會導致主控上的CPU內部寄存器產生緩存錯誤的信息。當CPU檢測到產生緩存錯誤的信息時,會對該單板進行熱插拔操作,以使得該單板上的PCIE設備繼續(xù)正常工作。
然而,當CPU產生緩存錯誤的信息時,僅僅通過對單板進行熱插拔操作來使得該單板上的PCIE設備恢復正常工作,并不能分析出該PCIE設備的錯誤發(fā)生原因。
技術實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N記錄PCIE設備錯誤信息的方法及裝置,可以記錄PCIE設備與CPU傳輸?shù)膱笪牡南嚓P信息,以供分析該PCIE設備的錯誤發(fā)生原因。
為實現(xiàn)上述目的,本申請?zhí)峁┘夹g方案如下:
根據(jù)本申請的第一方面,提出了一種記錄PCIE設備錯誤信息的方法,應用于主控板的CPU,所述CPU通過PCIE總線與單板中的PCIE設備傳輸報文;所述方法包括:
當由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時,向預配置的可編程邏輯器件下發(fā)記錄指令,以使得所述可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因;
其中,所述交互信息為所述CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息。
根據(jù)本申請的第二方面,提出了一種記錄PCIE設備錯誤信息的方法,應用于單板,所述單板中配置有可編程邏輯器件和PCIE設備,所述PCIE設備通過PCIE總線與主控板的CPU傳輸報文,所述可編程邏輯器件被裝配在所述PCIE總線上,且用于統(tǒng)計交互信息,所述交互信息為主控板的CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息;所述方法包括:
所述可編程邏輯器件通過預配置的線路接收所述CPU下發(fā)的記錄指令,所述記錄指令是在由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時下發(fā)的;
所述可編程邏輯器件根據(jù)所述記錄指令,將統(tǒng)計的所述交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因。
根據(jù)本申請的第三方面,提出了一種記錄PCIE設備錯誤信息的裝置,應用于主控板的CPU,所述CPU通過PCIE總線與單板中的PCIE設備傳輸報文;所述裝置包括:
下發(fā)單元,當由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時,向預配置的可編程邏輯器件下發(fā)記錄指令,以使得所述可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因;
其中,所述交互信息為所述CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息。
根據(jù)本申請的第四方面,提出了一種記錄PCIE設備錯誤信息的裝置,應用于單板,所述單板中配置有可編程邏輯器件和PCIE設備,所述PCIE設備通過PCIE總線與主控板的CPU傳輸報文,所述可編程邏輯器件被裝配在所述PCIE總線上,且用于統(tǒng)計交互信息,所述交互信息為主控板的CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息;所述裝置包括:
接收單元,所述可編程邏輯器件通過預配置的線路接收所述CPU下發(fā)的記錄指令,所述記錄指令是在由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時下發(fā)的;
記錄單元,所述可編程邏輯器件根據(jù)所述記錄指令,將統(tǒng)計的所述交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因。
由以上技術方案可見,本申請通過可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,后續(xù)當需要分析PCIE設備的錯誤發(fā)生原因時,提取并分析預設內存空間中的交互信息即可。
附圖說明
圖1是相關技術中框式設備的結構示意圖。
圖2是本申請一示例性實施例提供的基于主控板CPU側的一種記錄PCIE設備錯誤信息的方法的流程圖。
圖3是本申請一示例性實施例提供的基于單板側的一種記錄PCIE設備錯誤信息的方法的流程圖。
圖4是本申請一示例性實施例提供的一種記錄PCIE設備錯誤信息的方法的流程圖。
圖5是本申請一示例性實施例提供的框式設備的結構示意圖。
圖6是本申請一示例性實施例提供的另一種框式設備的結構示意圖。
圖7是本申請一示例性實施例提供的一種基于主控板的CPU側的電子設備的結構示意圖。
圖8是本申請一示例性實施例提供的一種記錄PCIE設備錯誤信息的裝置的框圖。
圖9是本申請一示例性實施例提供的一種基于單板側的電子設備的結構示意圖。
圖10是本申請一示例性實施例提供的另一種記錄PCIE設備錯誤信息的裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
圖1是相關技術中框式設備的結構示意圖。請參見圖1,框式設備包含主控板和單板,主控板上配置有CPU和傳統(tǒng)PCIE橋片a,單板上配置有PCIE設備和傳統(tǒng)PCIE橋片b,CPU通過PCIE總線與PCIE設備傳輸報文,其中,PCIE總線分為第一線路PCIE1、第二線路PCIE2、第三線路PCIE3。當單板中的PCIE設備發(fā)生錯誤(例如溫度過高、PCIE鏈路不穩(wěn)定)時,主控板上的CPU內部寄存器會產生緩存錯誤的信息(cache error),當主控板CPU檢測到產生緩存錯誤的信息時,會對該單板進行熱插拔操作,以使得該單板上的PCIE設備繼續(xù)正常工作。
可見,在相關技術中,當CPU產生緩存錯誤的信息時,僅僅通過對單板進行熱插拔操作來使得該單板上的PCIE設備恢復正常工作,并不能分析出該PCIE設備的錯誤發(fā)生原因。
圖2是本申請一示例性實施例示出的基于主控板CPU側的一種記錄PCIE設備錯誤信息的方法的流程圖,如圖2所示,該方法應用于主控板的CPU,所述CPU通過PCIE總線與單板中的PCIE設備傳輸報文,可以包括以下步驟:
步驟201,當由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時,向預配置的可編程邏輯器件下發(fā)記錄指令,以使得所述可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因。
在本實施例中,所述交互信息為所述CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息。
在本實施例中,當檢測到所述CPU產生緩存錯誤的信息時,斷開所述PCIE總線。斷開所述PCIE總線后,所述CPU與所述PCIE設備之間不能再繼續(xù)傳輸報文,所述可編程邏輯器件不會統(tǒng)計到后續(xù)傳輸?shù)膱笪牡南嚓P信息,進而使得所述可編程邏輯器件統(tǒng)計可供分析所述錯誤發(fā)生原因的交互信息不受到干擾。
在本實施例中,當所述可編程邏輯器件記錄完所述交互信息時,對所述單板進行熱插拔操作,以使得所述PCIE設備繼續(xù)正常工作。
在本實施例中,所述可編程邏輯器件可以被裝配在所述PCIE總線上,且位于所述主控板側,還可以被裝配在所述PCIE總線上,且位于所述單板側。所述CPU向預配置的可編程邏輯器件下發(fā)記錄指令的方式為:通過預配置的線路,向所述可編程邏輯器件下發(fā)所述記錄指令,其中,所述預配置的線路區(qū)別于所述PCIE總線。
相應地,圖3是本申請一示例性實施例示出的基于單板側的一種記錄PCIE設備錯誤信息的方法的流程圖,如圖3所示,該方法應用于單板,所述單板中配置有可編程邏輯器件和PCIE設備,所述PCIE設備通過PCIE總線與主控板的CPU傳輸報文,所述可編程邏輯器件被裝配在所述PCIE總線上,且用于統(tǒng)計交互信息,所述交互信息為主控板的CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息,可以包括以下步驟:
步驟301,所述可編程邏輯器件通過預配置的線路接收所述CPU下發(fā)的記錄指令。
步驟302,所述可編程邏輯器件根據(jù)所述記錄指令,將統(tǒng)計的所述交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因。
由以上技術方案可見,本申請通過可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,后續(xù)當需要分析PCIE設備的錯誤發(fā)生原因時,提取并分析預設內存空間中的交互信息即可。
為了便于理解,下面結合圖4-6,針對主控板CPU和單板中可編程邏輯器件之間的交互過程,對本申請的技術方案進行詳細說明。請參見圖4,圖4是本申請一示例性實施例的記錄PCIE設備錯誤信息的方法的流程圖。該方法可以包括以下步驟:
步驟401,主控板CPU檢測到產生緩存錯誤的信息(cache error)。
在本實施例中,當單板中的PCIE設備發(fā)生錯誤(例如溫度過高、PCIE鏈路不穩(wěn)定)時,主控板上的CPU內部寄存器就會產生緩存錯誤的信息。
步驟402,斷開PCIE總線。
在一實施例中,框式設備的結構可以為圖5所示的結構。請參見圖5,框式設備包含主控板和單板,主控板上配置有CPU,可編程邏輯器件以及預配置的內存空間(例如可以是FLASH),單板上配置有PCIE設備(例如可以是交換芯片)和傳統(tǒng)PCIE橋片,其中,可編程邏輯器件可以是FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列),也可以是其他任意除具有交換數(shù)據(jù)功能外,還具有處理數(shù)據(jù)功能的可編程邏輯器件。主控板CPU通過PCIE總線與交換芯片傳輸報文,其中,PCIE總線被分為第一線路PCIE1、第二線路PCIE2、第三線路PCIE3三部分。當單板中的交換芯片發(fā)生錯誤(例如溫度過高、PCIE鏈路不穩(wěn)定)時,主控板CPU內部寄存器會產生緩存錯誤的信息(cache error),當主控板CPU檢測到產生緩存錯誤的信息時,斷開PCIE總線中的PCIE2,以阻止主控板CPU與交換芯片繼續(xù)傳輸報文。
在另一實施例中,框式設備的結構還可以為圖6所示的結構。請參見圖6,框式設備包含主控板和單板,主控板上配置有CPU和傳統(tǒng)PCIE橋片,單板上配置有可編程邏輯器件,預配置的內存空間(例如可以是FLASH)以及PCIE設備(例如可以是交換芯片)。其中,同樣的,可編程邏輯器件可以是FPGA,也可以是其他任意除具有交換數(shù)據(jù)功能外,還具有處理數(shù)據(jù)功能的可編程邏輯器件。主控板CPU通過PCIE總線與交換芯片傳輸報文,其中,PCIE總線被分為第一線路PCIE1、第二線路PCIE2、第三線路PCIE3三部分。主控板通過區(qū)別于PCIE總線的預配置的線路(例如可以是local bus)與FPGA連接。當單板中的交換芯片發(fā)生錯誤時,主控板CPU內部寄存器會產生緩存錯誤的信息,當主控板CPU檢測到產生緩存錯誤的信息時,斷開PCIE總線中的PCIE2,以阻止主控板CPU與交換芯片繼續(xù)傳輸報文。
步驟403,主控板CPU向FPGA下發(fā)記錄指令。
在本實施例中,承接于圖5所示的結構,在斷開PCIE2之后,主控板CPU通過PCIE1向FPGA下發(fā)記錄指令。承接于圖6所示的結構,在斷開PCIE2之后,主控板CPU通過local bus向FPGA下發(fā)記錄指令。
步驟404,F(xiàn)PGA將統(tǒng)計的交互信息記錄到FLASH中。
在本實施例中,F(xiàn)PGA相對于傳統(tǒng)PCIE橋片,除具有交換數(shù)據(jù)的功能外,還具有處理數(shù)據(jù)功能。由于FPGA被裝配在PCIE總線上,主控板CPU與交換芯片傳輸?shù)乃袌笪?,F(xiàn)PGA都可以將該傳輸?shù)乃袌笪牡南嚓P信息(即交互信息)統(tǒng)計下來。而由于在步驟402中,斷開了PCIE總線,主控CPU與交換芯片之間不再傳輸報文,所以FPGA統(tǒng)計交互信息不會受到與本次交換芯片發(fā)生錯誤無關的報文信息的干擾。當FPGA接收到主控板CPU下發(fā)的記錄指令時,將該交互信息記錄到FLASH中,以供后續(xù)相關技術人員分析交換芯片的錯誤發(fā)生原因。
步驟405,主控板CPU檢測到交互信息記錄完畢。
步驟406,主控板CPU對單板進行熱插拔操作。
在本實施例中,承接于圖5所示的結構,主控板CPU通過PCIE1,監(jiān)控FPGA記錄交互信息的情況,當檢測到FPGA已經記錄完交互信息時,對單板進行熱插拔操作,以使得該單板上的PCIE設備繼續(xù)正常工作;承接于圖6所示的結構,主控板CPU通過local bus,監(jiān)控FPGA記錄交互信息的情況,當檢測到FPGA已經記錄完交互信息時,對單板進行熱插拔操作,以使得該單板上的PCIE設備繼續(xù)正常工作。
由以上技術方案可見,本申請通過可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,后續(xù)當相關技術人員需要分析PCIE設備的錯誤發(fā)生原因時,提取并分析預設內存空間中的交互信息即可。
圖7示出了根據(jù)本申請的一示例性實施例的基于主控板的CPU側電子設備的示意結構圖。請參考圖7,在硬件層面,該電子設備包括處理器702、內部總線704、網(wǎng)絡接口706、內存708以及非易失性存儲器710,當然還可能包括其他業(yè)務所需要的硬件。處理器702從非易失性存儲器710中讀取對應的計算機程序到內存702中然后運行,在邏輯層面上形成記錄PCIE設備錯誤信息的裝置。當然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。
請參考圖8,在軟件實施方式中,該記錄PCIE設備錯誤信息的裝置可以包括下發(fā)單元801。其中:
下發(fā)單元801,當由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時,向預配置的可編程邏輯器件下發(fā)記錄指令,以使得所述可編程邏輯器件將統(tǒng)計的交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因;
其中,所述交互信息為所述CPU與所述PCIE設備之間傳輸?shù)膱笪牡南嚓P信息。
可選的,還包括:
控制單元802,當檢測到所述CPU產生緩存錯誤的信息時,斷開所述PCIE總線。
可選的,還包括:
處理單元803,當所述可編程邏輯器件記錄完所述交互信息時,對所述單板進行熱插拔操作,以使得所述PCIE設備繼續(xù)正常工作。
可選的,所述可編程邏輯器件被裝配在所述PCIE總線上,且位于所述主控板側。
可選的,所述可編程邏輯器件被裝配在所述PCIE總線上,且位于所述單板側,所述下發(fā)單元801具體用于:
通過預配置的線路,向所述可編程邏輯器件下發(fā)所述記錄指令,其中,所述預配置的線路區(qū)別于所述PCIE總線。
圖9示出了根據(jù)本申請的一示例性實施例的基于單板側電子設備的示意結構圖。請參考圖9,在硬件層面,該電子設備包括處理器902、內部總線904、網(wǎng)絡接口906、內存908以及非易失性存儲器910,當然還可能包括其他業(yè)務所需要的硬件。處理器902從非易失性存儲器910中讀取對應的計算機程序到內存902中然后運行,在邏輯層面上形成記錄PCIE設備錯誤信息的裝置。當然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。
請參考圖10,在軟件實施方式中,該移動存儲設備的管控裝置可以包括接收單元1001和記錄單元1002。其中:
接收單元1001,所述可編程邏輯器件通過預配置的線路接收所述CPU下發(fā)的記錄指令,所述記錄指令是在由所述PCIE設備發(fā)生錯誤導致所述CPU產生緩存錯誤的信息時下發(fā)的;
記錄單元1002,所述可編程邏輯器件根據(jù)所述記錄指令,將統(tǒng)計的所述交互信息記錄到預設內存空間中,以供分析所述PCIE設備的錯誤發(fā)生原因。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。