本發(fā)明涉及計算機硬件,尤其涉及一種bmc總線數(shù)據(jù)緩沖裝置、bmc總線及基板管理控制器。
背景技術(shù):
1、在硬件結(jié)構(gòu)中,基板管理控制器(baseboard?management?controller,bmc)是一種嵌入式管理微控制器,通常集成在服務器主板上,用于監(jiān)控、管理和維護服務器硬件和系統(tǒng)。bmc具備自己的處理器、內(nèi)存和存儲,能夠獨立于服務器的主處理器運行。bmc總線通過與不同模塊的數(shù)據(jù)傳輸,允許系統(tǒng)監(jiān)控各種硬件狀態(tài),包括但不限于溫度、電壓、電流、風扇轉(zhuǎn)速等關鍵參數(shù)。同時提供高性能的網(wǎng)絡互連解決方案,支持系統(tǒng)中的高速數(shù)據(jù)傳輸。
2、在現(xiàn)有的總線方案中,一般采用線性架構(gòu)。在這種架構(gòu)中,每個數(shù)據(jù)源通過bmc總線模連接處理器,bmc總線模塊會為每個數(shù)據(jù)源分配一條數(shù)據(jù)傳輸通道,每條數(shù)據(jù)傳輸通道互不影響,后續(xù)由bmc總線模塊為數(shù)據(jù)分配總線通道輸入處理器進行數(shù)據(jù)處理。
3、在這種常規(guī)的處理中,各個模塊的數(shù)據(jù)包通過哪條bmc總線傳輸給處理器是預先設定好的,方式簡單,但擴展性較差。這種數(shù)據(jù)傳輸策略下,可能會出現(xiàn)部分通道長時間占用,處于繁忙狀態(tài),容易出現(xiàn)通道堵塞。而部分通道堵塞,會造成數(shù)據(jù)無法及時傳輸出現(xiàn)卡頓。并且,bmc芯片需要處理器一直高頻率運行,功耗較高。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種bmc總線數(shù)據(jù)緩沖裝置、bmc總線及基板管理控制器,用以解決現(xiàn)有技術(shù)中容易出現(xiàn)卡頓,處理器功耗高的缺陷,實現(xiàn)減少卡頓,降低處理器功耗。
2、本發(fā)明提供一種bmc總線數(shù)據(jù)緩沖裝置,包括:預處理模塊、地址寄存模塊以及多條鏈式緩沖結(jié)構(gòu),所述鏈式緩沖結(jié)構(gòu)的數(shù)據(jù)輸出端分別連接bmc總線的數(shù)據(jù)傳輸通道,所述鏈式緩沖結(jié)構(gòu)的數(shù)據(jù)輸入端分別連接所述預處理模塊的數(shù)據(jù)輸出端,所述鏈式緩沖結(jié)構(gòu)包括多個鏈式緩沖模塊,所述鏈式緩沖模塊包括鏈式緩沖區(qū)及緩沖處理模塊,所述鏈式緩沖結(jié)構(gòu)中的所述鏈式緩沖模塊的所述鏈式緩沖區(qū)構(gòu)成鏈式存儲結(jié)構(gòu),所述緩沖處理模塊分別與所述地址寄存模塊通信連接;其中:所述預處理模塊用于接收各個數(shù)據(jù)源的數(shù)據(jù)包,并在同一數(shù)據(jù)源的數(shù)據(jù)包發(fā)往同一所述數(shù)據(jù)傳輸通道的基礎上,根據(jù)bmc總線的占用情況分配所述數(shù)據(jù)包至所述鏈式緩沖結(jié)構(gòu);其中,所述數(shù)據(jù)包的數(shù)據(jù)信息包括數(shù)據(jù)包地址;所述緩沖處理模塊用于接收所述數(shù)據(jù)包,并將所述數(shù)據(jù)包地址發(fā)送給所述地址寄存模塊;所述地址寄存模塊用于獲取所述數(shù)據(jù)包地址在所述鏈式緩沖模塊對應的地址存儲空間中的地址存儲信息,并將所述地址存儲信息發(fā)送給所述緩沖處理模塊;所述緩沖處理模塊還用于根據(jù)所述地址存儲信息確定所述數(shù)據(jù)包在對應的所述鏈式緩沖區(qū)的緩存位置,根據(jù)所述緩存位置對所述數(shù)據(jù)包進行緩存處理,以使得相同數(shù)據(jù)源的數(shù)據(jù)包靠近。
3、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,所述地址存儲信息包括所述數(shù)據(jù)包地址在所述鏈式緩沖模塊對應的所述地址存儲空間中不存在的第一信息;所述地址寄存器模塊還用于:在獲取到所述第一信息后,將所述數(shù)據(jù)包地址在所述地址存儲空間中進行存儲,并將所述數(shù)據(jù)包地址的計數(shù)由0變?yōu)?;所述緩沖處理模塊還用于:在接收到所述第一信息后,將所述數(shù)據(jù)包存儲在對應的所述鏈式緩沖區(qū)中數(shù)據(jù)包隊列的隊尾。
4、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,所述地址存儲信息包括所述數(shù)據(jù)包地址在所述鏈式緩沖模塊對應的所述地址存儲空間中存在的第二信息;所述地址寄存器模塊還用于:在獲取到所述第二信息后,將所述數(shù)據(jù)包地址的計數(shù)加1;所述緩沖處理模塊還用于:在接收到所述第二信息后,將所述數(shù)據(jù)包地址與對應的所述鏈式緩沖區(qū)中當前處于數(shù)據(jù)包隊列的隊尾的數(shù)據(jù)包的地址進行比較;若兩個數(shù)據(jù)包的地址相同,則將當前接收的所述數(shù)據(jù)包存儲在所述鏈式緩沖區(qū)中數(shù)據(jù)包隊列的隊尾。
5、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,所述緩沖處理模塊還用于:若所述兩個數(shù)據(jù)包的地址不同,則將當前接收的所述數(shù)據(jù)包存儲在當前處于數(shù)據(jù)包隊列的隊尾的數(shù)據(jù)包的前面。
6、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,所述緩沖處理模塊在用于將當前接收的所述數(shù)據(jù)包存儲在當前處于數(shù)據(jù)包隊列的隊尾的數(shù)據(jù)包的前面時,具體用于:將當前處于數(shù)據(jù)包隊列的隊尾的數(shù)據(jù)包移出所述數(shù)據(jù)包隊列,并存儲入到預設的暫存空間;將當前接收的所述數(shù)據(jù)包存儲到所述數(shù)據(jù)包隊列的隊尾后,再將所述暫存空間的所述數(shù)據(jù)包存儲入所述數(shù)據(jù)包隊列的隊尾。
7、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,所述數(shù)據(jù)包隊列遵循先入先出的原則。
8、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,對于連接所述數(shù)據(jù)輸出端的鏈式緩沖模塊,所述鏈式緩沖模塊中的所述緩沖處理模塊還用于:將所述鏈式緩沖模塊中的所述鏈式緩沖區(qū)中數(shù)據(jù)包隊列的隊首的數(shù)據(jù)包通過所述bmc總線傳輸?shù)剿鎏幚砥?,并將所述?shù)據(jù)包隊列中的其他數(shù)據(jù)包往前移動一個位置;對于連接所述數(shù)據(jù)輸出端的鏈式緩沖模塊之外的其他鏈式緩沖模塊,所述鏈式緩沖模塊中的所述緩沖處理模塊還用于:沿數(shù)據(jù)包的傳輸方向,在前面的鏈式緩沖模塊中的數(shù)據(jù)包移動位置后,將所述鏈式緩沖模塊中的所述鏈式緩沖區(qū)中數(shù)據(jù)包隊列隊首的數(shù)據(jù)包傳輸給下一鏈式緩沖模塊,并將所述數(shù)據(jù)包隊列中的其他數(shù)據(jù)包往前移動一個位置;所述地址寄存模塊還用于:對于移出所述鏈式緩沖區(qū)的數(shù)據(jù)包,將對應的所述鏈式緩沖模塊的地址存儲空間中相應所述數(shù)據(jù)包的地址的計數(shù)減1。
9、根據(jù)本發(fā)明提供的一種bmc總線數(shù)據(jù)緩沖裝置,各條bmc總線對應的所述鏈式緩沖結(jié)構(gòu)中所述鏈式緩沖模塊的數(shù)量相同。
10、本發(fā)明還提供一種bmc總線,包括上述任一所述的bmc總線數(shù)據(jù)緩沖裝置。
11、本發(fā)明還提供一種基板管理控制器,包括上述bmc總線。
12、本發(fā)明提供的bmc總線數(shù)據(jù)緩沖裝置、bmc總線及基板管理控制器,通過利用預處理模塊根據(jù)總線占用情況分配數(shù)據(jù)包至鏈式緩沖結(jié)構(gòu),充分利用了數(shù)據(jù)總線的帶寬,減少了不同數(shù)據(jù)源數(shù)據(jù)處理的等待時間,通過鏈式存儲模塊根據(jù)數(shù)據(jù)包地址存儲信息確定數(shù)據(jù)包在對應的鏈式緩沖區(qū)的緩存位置,根據(jù)緩存位置對數(shù)據(jù)包進行緩存處理,以使得相同數(shù)據(jù)源的數(shù)據(jù)包靠近,提高了數(shù)據(jù)包的處理速度,有效減少bmc系統(tǒng)在運行中的卡頓現(xiàn)象,增強了系統(tǒng)的響應能力和穩(wěn)定性,并且,由于可以協(xié)調(diào)各個通道處理數(shù)據(jù)包,避免了處理器持續(xù)高頻率運行,降低了處理器的功耗。
1.一種bmc總線數(shù)據(jù)緩沖裝置,其特征在于,包括:預處理模塊、地址寄存模塊以及多條鏈式緩沖結(jié)構(gòu),所述鏈式緩沖結(jié)構(gòu)的數(shù)據(jù)輸出端分別連接bmc總線的數(shù)據(jù)傳輸通道,所述鏈式緩沖結(jié)構(gòu)的數(shù)據(jù)輸入端分別連接所述預處理模塊的數(shù)據(jù)輸出端,所述鏈式緩沖結(jié)構(gòu)包括多個鏈式緩沖模塊,所述鏈式緩沖模塊包括鏈式緩沖區(qū)及緩沖處理模塊,所述鏈式緩沖結(jié)構(gòu)中的所述鏈式緩沖模塊的所述鏈式緩沖區(qū)構(gòu)成鏈式存儲結(jié)構(gòu),所述緩沖處理模塊分別與所述地址寄存模塊通信連接;其中:
2.根據(jù)權(quán)利要求1所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,所述地址存儲信息包括所述數(shù)據(jù)包地址在所述鏈式緩沖模塊對應的所述地址存儲空間中不存在的第一信息;
3.根據(jù)權(quán)利要求1所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,所述地址存儲信息包括所述數(shù)據(jù)包地址在所述鏈式緩沖模塊對應的所述地址存儲空間中存在的第二信息;
4.根據(jù)權(quán)利要求3所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,所述緩沖處理模塊還用于:
5.根據(jù)權(quán)利要求4所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,所述緩沖處理模塊在用于將當前接收的所述數(shù)據(jù)包存儲在當前處于數(shù)據(jù)包隊列的隊尾的數(shù)據(jù)包的前面時,具體用于:
6.根據(jù)權(quán)利要求2或3所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,所述數(shù)據(jù)包隊列遵循先入先出的原則。
7.根據(jù)權(quán)利要求6所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,對于連接所述數(shù)據(jù)輸出端的鏈式緩沖模塊,所述鏈式緩沖模塊中的所述緩沖處理模塊還用于:將所述鏈式緩沖模塊中的所述鏈式緩沖區(qū)中數(shù)據(jù)包隊列的隊首的數(shù)據(jù)包通過所述bmc總線傳輸?shù)剿鎏幚砥?,并將所述?shù)據(jù)包隊列中的其他數(shù)據(jù)包往前移動一個位置;
8.根據(jù)權(quán)利要求1所述的bmc總線數(shù)據(jù)緩沖裝置,其特征在于,各條bmc總線對應的所述鏈式緩沖結(jié)構(gòu)中所述鏈式緩沖模塊的數(shù)量相同。
9.一種bmc總線,其特征在于,包括權(quán)利要求1至8任一所述的bmc總線數(shù)據(jù)緩沖裝置。
10.一種基板管理控制器,其特征在于,包括權(quán)利要求9所述的bmc總線。