一種pcie硬盤狀態燈的控制方法及系統的制作方法
【技術領域】
[0001] 本發明涉及PCIE固態硬盤的技術領域,特別是涉及一種PCIE硬盤狀態燈的控制方 法及系統。
【背景技術】
[0002] 目前,服務器使用的大部分是SATA/SAS 6G硬盤,小部分使用SATA/SAS 12G硬盤。 如圖1所示,在控制SATA/SAS 6G/12G硬盤的狀態燈顯示時,CPU通過SAS控制器連接到SAS擴 展器(SAS Expander)上,SAS Expander將信號連接到SFF-8639連接器上,再由SFF-8639連 接器外接SATA/SAS 6G/12G硬盤,從而實現CPU對SATA/SAS 6G/12G硬盤信號燈的控制。具體 地,系統端的too 1下命令到CPU端,由CPU通過SAS控制器去控制SAS Expander發出串行輸入 輸出(Small General Purpose Input 0utput,SGPI0)信號到復雜可編程邏輯器件 (Complex Programmable Logic Device,CPLD),再由CPLD去解析SGPI0組信號并輸出到對 應硬盤的狀態燈,從而實現對SATA/SAS 6G/12G硬盤的狀態燈的控制。
[0003] 隨著PCIE固態硬盤的廣泛使用,在一些服務器上開始使用PCIE固態硬盤(PCIE SSD)。如再參照圖1所示方式連接,由于SFF-8639連接器為SATA/SAS硬盤和PCIE SSD提供了 非共用的PIN,二者互斥互斥訪問。然而,PCIE SSD現有的工作模式導致CPU無法控制PCIE SSD狀態燈,從而無法及時判斷PCIE SSD的使用狀態。
【發明內容】
[0004] 鑒于以上所述現有技術的缺點,本發明的目的在于提供一種PCIE硬盤狀態燈的控 制方法及系統,能夠實現PCIE硬盤的復位和定位操作所對應狀態燈的顯示控制,從而便于 及時判斷PCIE硬盤的使用狀態。
[0005] 為實現上述目的及其他相關目的,本發明提供一種PCIE硬盤狀態燈的控制方法, 包括以下步驟:判斷PCIE硬盤的當前工作模式;CPU將所述當前工作模式信息發送至南橋芯 片;所述南橋芯片將所述當前工作模式信息發送至復雜可編程邏輯控制器;根據所述當前 工作模式信息,所述復雜可編程邏輯控制器控制所述當前工作模式對應的狀態燈的顯示。
[0006] 于本發明的一實施例中,PCIE硬盤的工作模式包括硬盤復位模式和硬盤定位模 式。
[0007] 于本發明的一實施例中,將所述當前工作模式信息發送至所述南橋芯片時,通過 所述南橋芯片的GPI0串口擴展器對應的輸出電平寄存器來記錄所述當前工作模式信息。
[0008] 于本發明的一實施例中,所述輸出電平寄存器共占64比特,低8位由BIOS占用,用 兩位表示PCIE硬盤的工作模式。
[0009] 于本發明的一實施例中,所述南橋芯片將所述當前工作模式信息發送至所述復雜 可編程邏輯控制器時,包括以下步驟:
[0010] 對所述當前工作模式信息進行海明校驗,生成海明校驗編碼數據;
[0011]將生成的海明校驗編碼數據發送至所述復雜可編程邏輯控制器。
[0012] 同時,本發明還提供一種PCIE硬盤狀態燈的控制系統,包括判斷模塊、第一發送模 塊、第二發送模塊和控制模塊;
[0013] 所述判斷模塊用于判斷PCIE硬盤的當前工作模式;
[0014]所述第一發送模塊與所述判斷模塊相連,用于通過CPU將所述當前工作模式信息 發送至南橋芯片;
[0015] 所述第二發送模塊與所述第一發送模塊相連,用于通過所述南橋芯片將所述當前 工作模式信息發送至復雜可編程邏輯控制器;
[0016] 所述控制模塊與所述第二發送模塊相連,用于根據所述當前工作模式信息,通過 所述復雜可編程邏輯控制器控制所述當前工作模式對應的狀態燈的顯示。
[0017] 于本發明的一實施例中,PCIE硬盤的工作模式包括硬盤復位模式和硬盤定位模 式。
[0018] 于本發明的一實施例中,所述第一發送模塊將所述當前工作模式信息發送至所述 南橋芯片時,通過所述南橋芯片的GPI0串口擴展器對應的輸出電平寄存器來記錄所述當前 工作模式信息。
[0019] 于本發明的一實施例中,所述輸出電平寄存器共占 64比特,低8位由BIOS占用,用 兩位表示PCIE硬盤的工作模式。
[0020] 于本發明的一實施例中,所述平臺南橋芯片將所述當前工作模式信息發送至所述 復雜可編程邏輯控制器時,包括以下步驟:
[0021] 對所述當前工作模式信息進行海明校驗,生成海明校驗編碼數據;
[0022] 將生成的海明校驗編碼數據發送至所述復雜可編程邏輯控制器。
[0023] 如上所述,本發明的PCIE硬盤狀態燈的控制方法及系統,具有以下有益效果:
[0024] (l)CPU通過南橋芯片對CPLD進行控制,進而實現對PCIE硬盤的復位和定位操作所 對應狀態燈的顯不控制;
[0025] (2)能夠及時判斷PCIE硬盤的使用狀態;
[0026] (3)通過對當前工作模式信息進行海明校驗,保證了狀態燈的準確顯示。
【附圖說明】
[0027]圖1顯示為現有技術中SATA/SAS硬盤的狀態燈控制系統的結構示意圖;
[0028]圖2顯示為本發明的PCIE固態硬盤的狀態燈控制系統的結構示意圖;
[0029]圖3顯示為本發明的PCIE硬盤狀態燈的控制方法的流程圖;
[0030]圖4顯示為本發明的PCIE硬盤狀態燈的控制系統的結構示意圖。
[0031] 元件標號說明 [0032] 1 判斷模塊
[0033] 2 第一發送模塊
[0034] 3 第二發送模塊
[0035] 4 控制模塊
【具體實施方式】
[0036] 以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書 所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的具體實 施方式加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離 本發明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施 例中的特征可以相互組合。
[0037] 需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發明的基本構 想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸 繪制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也 可能更為復雜。
[0038] 本發明的PCIE硬盤狀態燈的控制方法及系統通過復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)來實現PCIE硬盤的復位(Reset)和定位(Locate)操作 所對應狀態燈的顯示控制。其中,本發明的PCIE硬盤狀態燈的控制方法及系統產生數據到 CPLD,而CPLD可以控制PCIE硬盤的供電,進而實現對PCIE硬盤狀態燈的控制。
[0039]參照圖2,PCIE固態硬盤的狀態燈控制系統的結構中,CPU將PCIE信號線轉成SAS信 號線直接連接到SFF-8639連接器上,再由SFF-8639連接器外接PCIE SSD。參照圖3,本發明 的PCIE硬盤狀態燈的控制方法包括以下步驟:
[0040]步驟S1、判斷PCIE硬盤的當前工作模式。
[0041 ]其中,PCIE硬盤的工作模式包括硬盤復位模式和硬盤定位模式。相較于現有技術, 本發明增加了硬盤復位模式,從而可以根據狀態燈的顯示及時判斷PCIE硬盤的使用狀態。
[0042] 步驟S2、CPU將所述當前工作模式信息發送至南橋芯片(Platform Controller Hub,PCH)〇
[0043] 其中,將當前工作模式信息發送至PCH時,從系統端修改南橋芯片的GPI0串口擴展 器(GPI0 Serial eXpander,GSX)對應的輸出電平寄存器(Output Level Register)以記錄 當前工作模式信息。輸出電平寄存器共占64bits,其中低8位被BIOS占用,用兩位表示一個 硬盤的工作模式。其中,高位表示硬盤定位模式,低位表示硬盤復位模式。
[0044] 步驟S3、PCH將當前工作模式信息發送至復雜可編程邏輯控制器。
[0045] 其中,步驟S3包括以下步驟:
[0046] 31)對當前工作模式信息進行海明校驗,生成海明校驗編碼數據。
[0047]其中,海明碼可以糾正一位錯,檢測兩位錯,降低傳輸中的誤碼率。通過利用海明 校驗,能夠保證當前工作模式信息能夠準確地進行傳輸,以保證對LED狀態燈的準確顯示。
[0048] 32)將生成的海明校驗編碼數據發送至CPLD。
[0049] 步驟S4、根據當前工作模式信息,復雜可編程邏輯控制器控制當前工作模式對應 的狀態燈的顯示。
[0050] 具體地,CPLD解析接收到的數據,獲取當前工作模式信息,并輸出信號到對應的 LED狀態燈,以控制相應的LED狀態燈的顯示。
[0051] 現有技術中,服務器中的最大應用場景包括24顆PCIE硬盤。下面基于12顆硬盤的 應用場景來描述本發明的PCIE硬盤狀態燈的控制方法。
[0052] 首先,利用MMAP函數將GSX寄存器的BASE ADDRESS(0xfed04000)映射到內存,該寄 存器共占0x400h bytes,GSX對應的輸出電平寄存器的偏移量是0x30h。由于輸出電平寄存 器的低8位被BIOS占用,故使用bit 8~bit 63。但是為了便于計算,在設計編碼時,先按bit 0~bit 55編碼,最后將終值左移8bit并與BIOS控制的低8位做或運算后再輸出。需要注明 一點,上述算法只應用在12顆硬盤的場景,24顆硬盤數的場景則需要微調代碼才可實現。
[0053]硬盤編號與各自的控制位間的分布關系下表所示。
[0054]表1、硬盤編號與各自的控制位間的分布關系