[0055]
[0057] 对当前工作模式信息进行海明校验时,需要加入海明校验码。海明校验码的编码 规则是在正常的数据位中插入校验码,分别放在2 n位,n = 0,l,2,3,4……,海明校验码的长 度与数据位的长度关系如表2所示。
[0058] 表2、海明校验码的长度与数据位的长度关系
[0059]
[0060] 由于只需要24位即可表示12颗硬盘的两个控制位,所以只需要5个校验码。校验码 和数据位组合后的排列关系如表3所示,其中,数据位用Di表示,校验位用Pj表示。
[0061 ]表3、校验码和数据位组合后的排列关系
[0062]
[0063].~由表3可知:^' ' ' '
' ' ' ' ' ' '
[0064]整个校验数据长度为29位,校验位P1是从第0位开始,每隔一位校验,即校验第0 位,2位,4位,6位,8位……
[0065] 校验位P2是从第1位开始,连续校验两位,间隔两位,再校验两位,即校验第1、2位, 第5、6位,第9、10位……
[0066] 校验位P3是从第3位开始,连续校验四位,间隔四位,再校验四位,即校验第3、4、5、 6 位,第11、12、13、14位,第19、20、21、22位……
[0067] 校验位P4是从第7位开始,连续校验八位,间隔八位,再校验八位,即校验第7、8、9、 10、11、12、13、14位,第23、24、25、26、27、28位。
[0068] 校验位P5是从第15位开始,连续校验十六位,间隔十六位,再校验十六位,即校验 第15、16、17、18、19、20、21、22、23、24、25、26、27、28位。
[0069] 因为对于12颗硬盘数量的背板,只需要一共29位数据位和校验位,超出的部分不 再校验。如果是24颗硬盘数量的场景,就需要6个校验码。程序需要进行相应调整。
[0070] 下面使用偶校验来生成校验码,即每个校验码所需要校验的数据位连同校验码本 身,包含"1 "的个数为偶数,具体校验关系如表4所示。
[0071 ]表4、校验码和数据位的校验关系 [0072]
[UU/J」 将有双数聒怔取置到止佛的拇明妈怔置。很聒原妬綱妈与拇明妈怔置的天糸的代 码如下:
[0076] 将有效数据位放置到正确位置后,生成校验数据的代码如下:
[0077]
[0078] 由于数据位加校验位需空出被BIOS使用的低8位,故传输的数据总和会从GSX的输 出寄存器〇的32位中溢出。
[0079]
[0080]最后将运算后的数据写回GSX的输出电平寄存器,同样由于数据从GSX输出寄存器 0中溢出,所以要把溢出的数据存储到GSX输出寄存器1中。
[0081] *((unsigned int*)addr_olvll) =gsx0ut0;
[0082] *((unsigned int*)addr_olvl2)=gsx0utl;
[0083] 并且开启序列号进程。
[0084] addr_CMD = gsx_base+0x40;
[0085] *((unsigned int*)addr_CMD) = l;
[0086] 对于硬件复位的调用,在发送完数据后,需要将原数据复位,因为复位操作只是一 次性的,不需要保持。
[0087]
[0088] 最后终止发送
[0089] *((unsigned int*)addr_CMD)=0;
[0090] 参照图4,本发明的PCIE硬盘状态灯的控制系统包括判断模块1、第一发送模块2、 第二发送模块3和控制模块4。
[0091 ]判断模块1用于判断PCIE硬盘的当前工作模式。
[0092]其中,PCIE硬盘的工作模式包括硬盘复位模式和硬盘定位模式。相较于现有技术, 本发明增加了硬盘复位模式,从而可以根据状态灯的显示及时判断PCIE硬盘的使用状态。 [0093]第一发送模块2与判断模块1相连,用于通过CPU将所述当前工作模式信息发送至 PCH〇
[0094]其中,将当前工作模式信息发送至PCH时,从系统端修改南桥芯片的GPI0串口扩展 器(GPIO Serial eXpander,GSX)对应的输出电平寄存器(Output Level Register)以记录 当前工作模式信息。输出电平寄存器共占64bits,其中低8位被BIOS占用,用两位表示一个 硬盘的工作模式。其中,高位表示硬盘定位模式,低位表示硬盘复位模式。
[0095]第二发送模块3与第一发送模块2相连,用于通过PCH将当前工作模式信息发送至 复杂可编程逻辑控制器。
[0096] 其中,第二发送模块3通过以下步骤来发送当前工作模式信息:
[0097] 31)对当前工作模式信息进行海明校验,生成海明校验编码数据。
[0098] 其中,海明码可以纠正一位错,检测两位错,降低传输中的误码率。通过利用海明 校验,能够保证当前工作模式信息能够准确地进行传输,以保证对LED状态灯的准确显示。 [0099] 32)将生成的海明校验编码数据发送至CPLD。
[0100]控制模块4与第二发送模块3相连,用于根据当前工作模式信息,通过复杂可编程 逻辑控制器控制当前工作模式对应的状态灯的显示。
[0101] 具体地,CPLD解析接收到的数据,获取当前工作模式信息,并输出信号到对应的 LED状态灯,以控制相应的LED状态灯的显示。
[0102] 综上所述,本发明的PCIE硬盘状态灯的控制方法及系统CPU通过南桥芯片对CPLD 进行控制,进而实现对PCIE硬盘的复位和定位操作所对应状态灯的显示控制;能够及时判 断PCIE硬盘的使用状态;通过对当前工作模式信息进行海明校验,保证了状态灯的准确显 示。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0103]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟 悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因 此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完 成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1. 一种PCIE硬盘状态灯的控制方法,其特征在于:包括以下步骤: 判断PCIE硬盘的当前工作模式; CPU将所述当前工作模式信息发送至南桥芯片; 所述南桥芯片将所述当前工作模式信息发送至复杂可编程逻辑控制器; 根据所述当前工作模式信息,所述复杂可编程逻辑控制器控制所述当前工作模式对应 的状态灯的显示。2. 根据权利要求1所述的PCIE硬盘状态灯的控制方法,其特征在于:PCIE硬盘的工作模 式包括硬盘复位模式和硬盘定位模式。3. 根据权利要求1所述的PCIE硬盘状态灯的控制方法,其特征在于:将所述当前工作模 式信息发送至所述南桥芯片时,通过所述南桥芯片的GPIO串口扩展器对应的输出电平寄存 器来记录所述当前工作模式信息。4. 根据权利要求3所述的PCIE硬盘状态灯的控制方法,其特征在于:所述输出电平寄存 器共占64比特,低8位由BIOS占用,用两位表示PCIE硬盘的工作模式。5. 根据权利要求1所述的PCIE硬盘状态灯的控制方法,其特征在于:所述南桥芯片将所 述当前工作模式信息发送至所述复杂可编程逻辑控制器时,包括以下步骤: 对所述当前工作模式信息进行海明校验,生成海明校验编码数据; 将生成的海明校验编码数据发送至所述复杂可编程逻辑控制器。6. -种PCIE硬盘状态灯的控制系统,其特征在于:包括判断模块、第一发送模块、第二 发送模块和控制模块; 所述判断模块用于判断PCIE硬盘的当前工作模式; 所述第一发送模块与所述判断模块相连,用于通过CPU将所述当前工作模式信息发送 至南桥芯片; 所述第二发送模块与所述第一发送模块相连,用于通过所述南桥芯片将所述当前工作 模式信息发送至复杂可编程逻辑控制器; 所述控制模块与所述第二发送模块相连,用于根据所述当前工作模式信息,通过所述 复杂可编程逻辑控制器控制所述当前工作模式对应的状态灯的显示。7. 根据权利要求6所述的PCIE硬盘状态灯的控制系统,其特征在于:PCIE硬盘的工作模 式包括硬盘复位模式和硬盘定位模式。8. 根据权利要求6所述的PCIE硬盘状态灯的控制系统,其特征在于:所述第一发送模块 将所述当前工作模式信息发送至所述南桥芯片时,通过所述南桥芯片的GPI0串口扩展器对 应的输出电平寄存器来记录所述当前工作模式信息。9. 根据权利要求8所述的PCIE硬盘状态灯的控制系统,其特征在于:所述输出电平寄存 器共占64比特,低8位由BIOS占用,用两位表示PCIE硬盘的工作模式。10. 根据权利要求6所述的PCIE硬盘状态灯的控制系统,其特征在于:所述平台南桥芯 片将所述当前工作模式信息发送至所述复杂可编程逻辑控制器时,包括以下步骤: 对所述当前工作模式信息进行海明校验,生成海明校验编码数据; 将生成的海明校验编码数据发送至所述复杂可编程逻辑控制器。
【专利摘要】本发明提供一种PCIE硬盘状态灯的控制方法及系统,包括以下步骤:判断PCIE硬盘的当前工作模式;CPU将所述当前工作模式信息发送至南桥芯片;所述南桥芯片将所述当前工作模式信息发送至复杂可编程逻辑控制器;根据所述当前工作模式信息,所述复杂可编程逻辑控制器控制所述当前工作模式对应的状态灯的显示。本发明的PCIE硬盘状态灯的控制方法及系统CPU通过南桥芯片对CPLD进行控制,进而实现对PCIE硬盘的复位和定位操作所对应状态灯的显示控制;能够及时判断PCIE硬盘的使用状态;通过对当前工作模式信息进行海明校验,保证了状态灯的准确显示。
【IPC分类】G06F11/32
【公开号】CN105512007
【申请号】CN201510954770
【发明人】赵卫国
【申请人】英业达科技有限公司, 英业达股份有限公司
【公开日】2016年4月20日
【申请日】2015年12月17日