本發明涉及服務器領域,尤其是一種硬盤控制系統。
背景技術:
當前,在一個服務器內同時連接多個硬盤,而且隨著計算機技術的不斷更新換代,在一個服務器內連接的硬盤的個數越來越多。通常,在每個硬盤上設置有一LED燈,當某個硬盤發生故障需要更換或者修理時,就將該硬盤上的LED燈點亮,使得操作人員能夠方便快速的從多個硬盤中找出發生故障的硬盤。
一般的,對于設有固態硬盤的服務器而言,需要CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)從所述服務器的系統端修改PCH(Platform Controller Hub,網絡控制中心)的GSX(GPIO Serial eXpander,GPIO串口擴展器)對應的南橋的Output Level Register來實現對硬盤的操作。
現有的Output Level Register在系統中共占用固定數量的數據位,其中Output Level Register中的低8位會被BIOS(Basic Input Output System,基本輸入輸出系統)占用,而采用海明校驗碼還會占用其6位數據表示驗證碼以驗證硬盤的識別碼,此外,剩余的數據則被分配為表示硬盤的控制碼及識別碼。在通常情況下,系統中一個硬盤的控制碼會用兩位數字位表示,而硬盤的定位操作代碼與重設操作代碼,則通過該兩位代表控制碼的數字位的高低位情況來識別,其中,高位表示LOCATE操作,低位表示RESET操作。
進一步而言,現有南橋的Output Level Register中每兩位數據與一個硬盤對應以表示該硬盤的控制碼,這使得南橋內可控制的硬盤數量因南橋在系統中共占用數據位的數量限制而偏少,若南橋在系統中占用64bits,去除BIOS所占用的8位及6位驗證碼,則以每兩位表示一個硬盤的控制碼的方式,南橋內只能存儲25個硬盤的控制碼,從而限制了服務器內可控的硬盤數量,當其中一個硬盤發生故障時,需要對所述南橋中的所有數據進行重新改以確認有硬盤的狀態,這極有可能對其他未發生故障的硬盤造成誤操作。
技術實現要素:
本發明的目的在于提供一種硬盤控制系統,以解決服務器內可控制的硬盤數量偏少的問題。
為了達到上述目的,本發明提供了一種硬盤控制系統,用于服務器,所述服務器包括復數個固態硬盤,每一所述固態硬盤設有硬盤識別碼,所述硬盤控制系統包含:
南橋,存儲有N位數據位,所述N位數據位包括代表硬盤控制代碼的第一數據位與代表所述硬盤識別碼的第二數據位,其中,N為正整數;
復雜邏輯可編輯模組,電性連接所述南橋,當所述復雜邏輯可編輯模組接收到一硬盤控制指令時,通過所述第一數據位獲取所述硬盤控制代碼并判斷所述硬盤控制代碼,所述復雜邏輯可編輯模組判斷所述硬盤控制代碼為定位代碼、解除代碼或重設代碼其中之一時,所述復雜邏輯可編輯模組根據所述硬盤控制指令通過所述第二數據位獲取所述硬盤識別碼以與所述硬盤控制碼對應生成硬盤狀態信號;
硬盤狀態顯示模組,電性連接所述復雜邏輯可編輯模組,并接收所述硬盤狀態信號以根據所述硬盤狀態信號對應顯示所述硬盤識別碼所表示所述固態硬盤的不同工作狀態,所述定位代碼對應顯示定位狀態、所述解除代碼對應顯示解除定位狀態,所述重設代碼對應顯示重置狀態。
在上述的硬盤控制系統中,所述南橋存儲有兩位第一數據位以代表所述硬盤控制代碼。
所述南橋存儲有復數位第二數據位以代表復數個所述固態硬盤所對應的所述硬盤識別碼,所述第二數據位的不同數值對應于不同的固態硬盤。
所述N位數據位還包括代表驗證碼的第三數據位,所述第三數據位與不同的所述第二數據位組合并存儲于所述南橋內,所述復雜邏輯可編輯模組通過所述第三數據位碼獲取所述驗證碼以校核與所述第三數據位組合的所述第二數據位所代表的所述硬盤識別碼。所述驗證碼采用奇偶驗證碼。
所述N個數據位還包括代表有基本輸入輸出系統運行數據代碼的第四數據位,所述第二數據位的數量小于或等于N減去所述第一數據位與所述第四數據位的數量所計算而得的數據值。
所述硬盤狀態顯示模組采用LED狀態燈以顯示定位狀態、解除定位狀態及重置狀態。
在上述的硬盤控制系統中,還包括一系統處理模組,電性連接于所述復雜邏輯可編輯模組,所述系統處理模組接收所述復數個固態硬盤對應的所述硬盤識別碼并存儲至所述南橋,并根據所述硬盤識別碼產生對應的所述硬盤控制指令。
所述南橋包括寄存器及GPIO串行擴展卡,所述N位數據存儲于所述寄存器存儲上,所述系統處理模組通過所述GPIO串行擴展卡電性連接所述南橋。
所述復雜邏輯可編輯模組判斷出所述硬盤控制代碼為定位代碼并與所述硬盤識別碼對應時,所述復雜邏輯可編輯模組以一設定頻率持續輸出一時鐘信號,直至所述復雜邏輯可編輯模組再次獲取到與同一所述硬盤識別碼所對應的所述硬盤控制代碼且該硬盤控制代碼被判斷為所述解除代碼時,所述復雜邏輯可編輯模組停止輸出所述時鐘信號。
在本發明提供的硬盤控制系統中,所述南橋中存儲有N位數據位,且所述N位數據位包括代表硬盤控制代碼的第一數據位與代表所述硬盤識別碼的第二數據位,N為正整數。復雜邏輯可編輯模組通過所述第一數據位獲取所述硬盤控制代碼并判斷所述硬盤控制代碼,所述復雜邏輯可編輯模組判斷所述硬盤控制代碼為定位代碼、解除代碼或重設代碼其中之一時,所述復雜邏輯可編輯模組根據所述硬盤控制指令通過所述第二數據位獲取所述硬盤識別碼以與所述硬盤控制碼對應生成硬盤狀態信號,硬盤狀態顯示模組根據所述硬盤狀態信號對應顯示所述硬盤識別碼所表示所述固態硬盤的不同工作狀態。因此,當修改南橋中的N位數據位時,只會修改一個硬盤的狀態,而與其他硬盤的狀態無關,且經由硬盤識別碼配合硬盤控制代碼的硬盤狀態識別方式,可有效增加服務器內可控制的硬盤數量。
附圖說明
圖1為本發明實施例中硬盤控制系統的結構示意圖;
其中,101-南橋;102-復雜邏輯可編輯模組;103-硬盤狀態顯示模組;104-系統處理模組。
具體實施方式
下面將結合示意圖對本發明的具體實施方式進行更詳細的描述。根據下列描述和權利要求書,本發明的優點和特征將更清楚。需說明的是,附圖均采用非常簡化的形式且均使用非精準的比例,僅用以方便、明晰地輔助說明本發明實施例的目的。
本實施例提供了一種硬盤控制系統,用于服務器,服務器包括復數個固態硬盤,每一固態硬盤設有硬盤識別碼。硬盤控制系統包括:南橋101、復雜邏輯可編輯模組102以及硬盤狀態顯示模組103。
其中,南橋101存儲有N位數據位,N位數據位包括代表硬盤控制代碼的N1位第一數據位與代表硬盤識別碼的N2位第二數據位,N、N1以及N2為正整數。復雜邏輯可編輯模組102電性連接南橋101,當復雜邏輯可編輯模組102接收到一硬盤控制指令時,通過第一數據位獲取硬盤控制代碼并判斷硬盤控制代碼,復雜邏輯可編輯模組102判斷硬盤控制代碼為定位代碼、解除代碼或重設代碼其中之一時,復雜邏輯可編輯模組102根據硬盤控制指令通過第二數據位獲取硬盤識別碼以與硬盤控制碼對應生成硬盤狀態信號。硬盤狀態顯示模組103電性連接復雜邏輯可編輯模組102,接收硬盤狀態信號以根據硬盤狀態信號對應顯示硬盤識別碼所表示固態硬盤的不同工作狀態,定位代碼對應顯示定位狀態、解除代碼對應顯示解除定位狀態,重設代碼對應顯示重置狀態。
進一步的,南橋101包括寄存器,N位數據存儲于寄存器存儲上。具體而言,南橋101存儲有兩位第一數據位以代表硬盤控制代碼。硬盤控制代碼包括:定位代碼、解除代碼以及重設代碼。也就是說通過兩位第一數據位來描述硬盤控制代碼是定位代碼,還是解除代碼,亦或是重設代碼。同時還可以通過硬盤狀態顯示模組以顯示硬盤控制代碼所代表的狀態,對應的,硬盤狀態顯示模組采用LED狀態燈以顯示定位狀態、解除狀態以及重置狀態。
具體的,兩位第一數據位中的01表示定位代碼,硬盤處于定位狀態,LED狀態燈被點亮;10表示解除代碼,硬盤處于解除狀態,LED狀態燈關閉;11表示重置代碼,硬盤處于重置狀態。當然,在本發明的其他實施例中,硬盤的狀態還可以是用其他的形式來描述,例如,兩位第一數據位設置為10以表示定位代碼,此時,硬盤處于定位狀態,LED狀態被點亮;01表示解除代碼,此時硬盤處于解除狀態,LED狀態燈關閉;11表示重置代碼,此時硬盤處于重置狀態。或者兩位第一數據位設置為10以表示定位代碼,此時,硬盤處于定位狀態,LED狀態燈被點亮;11表示解除代碼,此時硬盤處于解除狀態,LED狀態燈關閉;01表示重置代碼,此時硬盤處于重置狀態。或者兩位第一數據位設置為01以表示定位代碼,11此時硬盤處于定位狀態,LED狀態燈被點亮;11表示解除代碼,此時硬盤處于解除狀態,LED狀態燈關閉;10表示重置代碼,此時硬盤處于重置狀態。或者兩位第一數據位設置為11以表示定位代碼,此時硬盤處于定位狀態,LED狀態燈被點亮;01表示解除代碼,此時硬盤處于解除狀態,LED狀態燈關閉;此時硬盤處于10表示重置代碼,此時硬盤處于重置狀態。還或者,兩位第一數據位設置為11以表示定位代碼,此時硬盤處于定位狀態,LED狀態燈被點亮;10表示解除代碼,此時硬盤處于解除狀態,LED狀態燈關閉;01表示重置代碼,此時硬盤處于重置狀態。
第一數據位和第二數據位對應組合以表示一個硬盤的一個狀態。因此,當修改南橋中存儲的第一數據位和第二數據位時,只會修改一個硬盤的狀態,而與其他硬盤的狀態無關。
進一步的,復雜邏輯可編輯模組102判斷出硬盤控制代碼為定位代碼并與硬盤識別碼對應時,復雜邏輯可編輯模組102以一設定頻率持續輸出一時鐘信號,直至復雜邏輯可編輯模組再次獲取到與同一硬盤識別碼所對應的硬盤控制代碼且該硬盤控制代碼被判斷為解除代碼時,復雜邏輯可編輯模組停止輸出時鐘信號。
在一些實施例中,南橋101上的寄存器中存儲的N位數據位還可以包括N3位的第三數據位,第三數據位用于代表驗證碼。驗證碼可以為奇偶驗證碼,更進一步的,驗證碼也可以為海明碼。且第三數據位與不同的第二數據位組合并存儲于南橋內,復雜邏輯可編輯模組通過第三數據位碼獲取驗證碼以校核與第三數據位組合的第二數據位所代表的硬盤識別碼,N和N3為正整數。如采用奇偶驗證碼對第二數據位所代表的硬盤的狀態進行校驗,可快速確定第二數據位所代表的硬盤是否出現故障,并且,在故障發生時,能對出現故障的硬盤進行快速定位。
南橋101上的寄存器中存儲的N為數據還包括一N4的第四數據位,第四數據位代表有基本輸入輸出系統運行數據代碼,且第二數據位的數量小于或等于N減去第一數據位與第四數據位的數量所計算而得的數據值,N和N4均為正整數,在一些實施例中,當N位數據位由代表硬盤控制代碼的N1位第一數據位、代表硬盤識別碼的N2位第二數據位及代表基本輸入輸出系統運行數據代碼的N4位第四數據位組成,N、N1、N2、N4為正整數,N2等于N減去N1和N4所得的數據值,當N位數據位由代表硬盤控制代碼的N1位第一數據位、代表硬盤識別碼的N2位第二數據位、代表驗證碼的N3位第三數據位及代表基本輸入輸出系統運行數據代碼的N4位第四數據位組成時,N、N1、N2、N3、N4為正整數,N2小于N減去N1和N4所得的數據值。
硬盤控制系統還包括一系統處理模組104,系統處理模組104電性連接于復雜邏輯可編輯模組102,系統處理模組104接收復數個固態硬盤對應的硬盤識別碼并存儲至南橋101,并根據硬盤識別碼產生對應的硬盤控制指令。進一步的,南橋上還設置有GPIO串行擴展卡,系統處理模組104通過GPIO串行擴展卡電性連接南橋101。所述系統處理模組104包括但不限于CPU。
一般的,硬盤的狀態包括定位狀態、解除狀態以及重置狀態。在一些實施例中,當南橋上設置的寄存器的存儲空間為64位時,其中2位用來描述硬盤的狀態,剩余還有62位,所需要的海明碼的位數為6位,代表有基本輸入輸出系統運行數據代碼的第四數據位的位數N4一般為8位方可滿足服務器運行,此時,能用來描述多個硬盤的數據位為48位(64-2-6-8=48),而48位數據位每組成一組數據組就表示一個硬盤,當48位數據位分別指代不同數據組成不同數據組合時,能控制的硬盤的個數最多可以達到248個,遠遠大于目前的25個,或者采用奇偶驗證碼時,需要的位數為1位,則如上同理,能用來描述多個硬盤的數據位為53位(64-2-1-8=53),能控制的硬盤的個數最多可以達到253個。
具體的,第三數據位位于南橋上設置的寄存器的低位,第一數據位位于南橋上設置的寄存器中的最高位,第二數據位和第四數據位位于二者之間。當然,在其他實施例中,第三數據位、第二數據位、第一數據位以及第四數據位還可以以其他的存儲順序存儲于南橋中。例如,還可以是第二數據位于南橋中寄存器的低位,而第三數據位位于南橋的最高位,第一數據位和第四數據位位于二者之間。以及其他的存儲順序,在此不再贅述。
較優的,本發明中的硬盤控制系統可適用于Linux系統。
綜上,在本發明實施例提供的硬盤控制系統中,南橋中存儲有N位數據為,且N位數據位包括代表硬盤控制代碼的第一數據位與代表硬盤識別碼的第二數據位,N為正整數。復雜邏輯可編輯模組通過第一數據位獲取硬盤控制代碼并判斷硬盤控制代碼,復雜邏輯可編輯模組判斷硬盤控制代碼為定位代碼、解除代碼或重設代碼其中之一時,復雜邏輯可編輯模組根據硬盤控制指令通過第二數據位獲取硬盤識別碼以與硬盤控制碼對應生成硬盤狀態信號,硬盤狀態顯示模組根據硬盤狀態信號對應顯示硬盤識別碼所表示固態硬盤的不同工作狀態。因此,當修改南橋中的N位數據時,只會修改一個硬盤的狀態,而與其他硬盤的狀態無關,更可有效增加服務器內可控制的硬盤數量。
上述僅為本發明的優選實施例而已,并不對本發明起到任何限制作用。任何所屬技術領域的技術人員,在不脫離本發明的技術方案的范圍內,對本發明揭露的技術方案和技術內容做任何形式的等同替換或修改等變動,均屬未脫離本發明的技術方案的內容,仍屬于本發明的保護范圍之內。