一種基于nvme ssd硬盤的監(jiān)控系統(tǒng)、基板管理控制器和監(jiān)控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,特別涉及一種基于NVME SSD硬盤的監(jiān)控系統(tǒng)、基板管理控制器和監(jiān)控方法。
【背景技術(shù)】
[0002]目前,隨著云計算及大數(shù)據(jù)的迅猛發(fā)展,NVMe SSD硬盤以其低延遲、低功耗、高讀寫速度等優(yōu)勢受到諸多應(yīng)用領(lǐng)域的青睞,使得NVMe SSD硬盤已逐步成為服務(wù)器應(yīng)用領(lǐng)域的主流,那么,對NVMe SSD硬盤進行監(jiān)控以及時發(fā)現(xiàn)NVMe SSD硬盤故障,是保障NVMe SSD硬盤能夠完整地存儲數(shù)據(jù)的關(guān)鍵?,F(xiàn)在,對NVMe SSD硬盤監(jiān)控主要通過單片機解析硬盤中的運行狀態(tài)信息來實現(xiàn)的。但是,單片機運行的穩(wěn)定性較差,造成單片機對NVMe SSD硬盤監(jiān)控的可靠性較低。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種基于NVME SSD硬盤的監(jiān)控系統(tǒng)、基板管理控制器監(jiān)控方法,以提高對NVMe SSD硬盤監(jiān)控的可靠性。
[0004]一種基于NVME SSD硬盤的監(jiān)控系統(tǒng),包括:至少一個NVME SSD硬盤、I2C switch芯片、輸入狀態(tài)的I2C/GP1 expander芯片、基板管理控制器BMC、輸出狀態(tài)的I2C/GP1expander芯片和硬盤指示燈,其中,
[0005]所述至少一個NVME SSD硬盤中,每一個NVME SSD硬盤,與所述I2C switch芯片和所述輸入狀態(tài)的I2C/GP1 expander芯片相連,用于發(fā)送SMBUS信號、PRESENT和IFDET信號,所述SMBUS信號,包括:硬盤的溫度、VPD值、健康信息和fault信息,所述PRESENT和IFDET信號,包括:硬盤類型和驅(qū)動類型;
[0006]所述I2C switch芯片,分別與所述至少一個NVME SSD硬盤和基板管理控制器BMC相連,用于通過線路接收所述SMBUS信號,并將所述SMBUS信號轉(zhuǎn)換為第一 I2C信號,通過第一 I2C鏈路發(fā)送該第一 I2C信號;
[0007]所述輸入狀態(tài)的I2C/GP1 expander芯片,分別與所述至少一個NVME SSD硬盤和基板管理控制器BMC相連,用于接收所述PRESENT和IFDET信號,并將所述PRESENT和IFDET信號轉(zhuǎn)換為第二 I2C信號,通過第一 I2C鏈路發(fā)送該第二 I2C信號;
[0008]所述基板管理控制器BMC,通過第一 I2C鏈路分別與所述I2C switch芯片和所述輸入狀態(tài)的I2C/GP1 expander芯片相連,用于接收所述第一 I2C信號和所述第二 I2C信號,并解析和處理所述第一 I2C信號和所述第二 I2C信號,形成狀態(tài)控制信息,并以第三I2C信號的形式發(fā)送所述狀態(tài)控制信息;
[0009]所述輸出狀態(tài)的I2C/GP1 expander芯片,通過第二 I2C鏈路與所述基板管理控制器BMC相連,用于接收并解析所述狀態(tài)控制信息,形成所述硬盤指示燈的驅(qū)動信號;
[0010]所述硬盤指示燈,用于接收所述驅(qū)動信號,以提供所述至少一個NVME SSD硬盤的運行狀態(tài)。
[0011]優(yōu)選地,所述I2C switch芯片為四路轉(zhuǎn)一路的I2C switch芯片;
[0012]所述四路轉(zhuǎn)一路的I2C switch芯片通過四路線路最多接收四個所述NVME SSD硬盤發(fā)送的所述SMBUS信號,并將該最多四個所述NVME SSD硬盤發(fā)送的所述SMBUS信號轉(zhuǎn)換為一路所述第一 I2C信號。
[0013]優(yōu)選地,所述輸入狀態(tài)的I2C/GP1 expander芯片為輸入狀態(tài)的八路轉(zhuǎn)一路的I2C/GP1 expander 芯片;
[0014]所述輸入狀態(tài)的八路轉(zhuǎn)一路的I2C/GP1 expander芯片,進一步通過八路線路最多接收四個所述NVME SSD硬盤發(fā)送的所述PRESENT和IFDET信號,并將該最多接收四個所述NVME SSD硬盤發(fā)送的所述PRESENT和IFDET信號轉(zhuǎn)換為一路所述第二 I2C信號。
[0015]優(yōu)選地,所述輸出狀態(tài)的I2C/GP1 expander芯片為輸出狀態(tài)八路轉(zhuǎn)一路的I2C/GP1 expander 芯片;
[0016]所述輸出狀態(tài)八路轉(zhuǎn)一路的I2C/GP1 expander芯片,進一步通過八路線路最多與八個所述硬盤指示燈相連,并通過所述硬盤指示燈的驅(qū)動信號控制所述硬盤指示燈。
[0017]優(yōu)選地,所述基板管理控制器BMC,通過主機端屏幕顯示所述每一個NVME SSD硬盤的溫度、VPD值、健康信息、fault信息、硬盤類型和驅(qū)動類型。
[0018]優(yōu)選地,該系統(tǒng)進一步包括:第一確定模塊,其中,
[0019]所述第一確定模塊,用于根據(jù)所述NVME SSD硬盤的個數(shù),確定所述I2C switch芯片的個數(shù)以及所述輸入狀態(tài)的I2C/GP1 expander芯片的個數(shù),并確定所有I2C switch芯片的地址以及所有輸入狀態(tài)的I2C/GP1 expander芯片的地址;
[0020]所述基板管理控制器BMC,通過至少一條輸入I2C鏈路與所有所述I2C switch芯片以及所有所述輸入狀態(tài)的I2C/GP1 expander芯片相連,并進一步用于建立所述至少一條輸入I2C鏈路與所述確定的所有I2C switch芯片的地址和所有輸入狀態(tài)的I2C/GP1expander芯片的地址間的對應(yīng)關(guān)系,根據(jù)所述至少一條輸入I2C鏈路的負載,確定發(fā)送所述NVME SSD硬盤SMBUS信號、PRESENT和IFDET信號的I2C switch芯片的地址和/或?qū)?yīng)的輸入狀態(tài)的I2C/GP1 expander芯片的地址,并接收該至少一條輸入I2C鏈路發(fā)送的I2C信號。
[0021]優(yōu)選地,該系統(tǒng)進一步包括:第二確定模塊,其中,
[0022]所述第二確定模塊,用于根據(jù)所述硬盤指示燈的個數(shù),確定所述輸出狀態(tài)的I2C/GP1 expander芯片的個數(shù),并確定所有輸出狀態(tài)的I2C/GP1 expander芯片的地址以及所有輸出狀態(tài)的I2C/GP1 expander芯片的地址與所述硬盤指示燈間的對應(yīng)關(guān)系;
[0023]所述基板管理控制器BMC,通過至少一條輸出I2C鏈路與所有輸出狀態(tài)的I2C/GP1 expander芯片相連,并進一步用于建立所述至少一條輸入I2C鏈路與所述確定的所有輸出狀態(tài)的I2C/GP10 expander芯片的地址間的對應(yīng)關(guān)系,根據(jù)所述至少一條輸出I2C鏈路的負載,確定接收所述狀態(tài)控制信息的輸出狀態(tài)的12C/GP1 expander芯片的地址,并通過該至少一條輸出I2C鏈路發(fā)送所述狀態(tài)控制信息。
[0024]一種基于NVME SSD硬盤的基板管理控制器,通過I2C鏈路與I2C switch芯片、輸入狀態(tài)的I2C/GP10 expander芯片和輸出狀態(tài)的I2C/GP10 expander芯片相連,包括:
[0025]接收單元,用于接收所述I2C switch芯片通過第一 I2C鏈路發(fā)送的第一 I2C信號和所述輸入狀態(tài)的I2C/GP10 expander芯片通過第一 I2C鏈路第二 I2C信號;
[0026]解析處理單元,用于解析和處理所述第一 I2C信號和所述第二 I2C信號,形成狀態(tài)控制信息;
[0027]第一發(fā)送單元,用于以第三I2C信號的形式發(fā)送所述狀態(tài)控制信息。
[0028]優(yōu)選地,該基板管理控制器進一步包括:獲取單元和第二發(fā)送單元,其中,
[0029]所述獲取單元,用于從解析處理單元解析和處理的所述第一 I2C信號和所述第二I2C信號中獲取所述每一個NVME SSD硬盤的溫度、VPD值、健康信息、fault信息、硬盤類型和驅(qū)動類型;
[0030]第二發(fā)送單元,用于發(fā)送所述獲取單元獲取的所述每一個NVME SSD硬盤的溫度、VPD值、健康信息、fault信息、硬盤類型和驅(qū)動類型。
[0031]一種基于權(quán)利要求上述任一所述的監(jiān)控系統(tǒng)來實現(xiàn)的基于NVME SSD硬盤的監(jiān)控方法,建立硬盤指示燈與至少一個NVME SSD硬盤運行狀態(tài)的對應(yīng)關(guān)系,還包括:
[0032]所述至少一個NVME SSD硬盤發(fā)送SMBUS信號、PRESENT和IFDET信號,所述SMBUS信號,包括:硬盤的溫度、VPD值、健康信息和fault信息,所述PRESENT和IFDET信號,包括:硬盤類型和驅(qū)動類型;
[0033]通過所述I2C switch芯片接收所述SMBUS信號,并將所述SMBUS信號轉(zhuǎn)換為第一I2C信號,并通過第一 I2C鏈路發(fā)送該第一 I2C信號;
[0034]通過所述輸入狀態(tài)的I2C/GP1 expander芯片接收所述PRESENT和IFDET信號,并將所述PRESENT和IFDET信號轉(zhuǎn)換為第二 I2C信號,并通過第一 I2C鏈路發(fā)送該第二 I2C
信號;
[0035]通過所述基板管理控制器BMC接收所述第一 I2C信號和所述第二 I2C信號,并解析和處理所述第一 I2C信號和所述第二 I2C信號,形成狀態(tài)控制信息,并以第三I2C信號的形式發(fā)送所述狀態(tài)控制信息;
[0036]通過所述輸出狀態(tài)的I2C/GP1 expander芯片接收并解析所述狀態(tài)控制信息,形成所述硬盤指示燈的驅(qū)動信號,并根據(jù)所述硬盤指示燈與至少一個NVME SSD硬盤運行狀態(tài)的對應(yīng)關(guān)系,通過該驅(qū)動信號控制硬盤指示燈提供所述至少一個NVME SSD硬盤的運行狀
??τ O
[0037]優(yōu)選地,所述I2C switch芯片為四路轉(zhuǎn)一路的I2C switch芯片;
[0038]所述通過所述I2C switch芯片接收所述SMBUS信號,并將所述SMBUS信號轉(zhuǎn)換為第一 I2C信號,包括:通過四路線路最多接收四個所述NVME SSD硬盤發(fā)送的所述SMBUS信號,并將該最多四個所述NVME SSD硬盤發(fā)送的所述SMBUS信號轉(zhuǎn)換為一路所述第一 I2C信號。
[0039]優(yōu)選地,所述輸入狀態(tài)的I2C/GP1 expander芯片為輸入狀態(tài)的八路轉(zhuǎn)一路的I2C/GP1 expander 芯片;
[0040]所述通過所述輸入狀態(tài)的I2C/GP1 expander芯片接收所述PRESENT和IFDET信號,并將所述PRESENT和IFDET信號轉(zhuǎn)換為第二 I2C信號,包括:通過八路線路最多接收四個所述NVME SSD硬盤發(fā)送的所述PRESENT和IFDET信號,并將該最多接收四個