一种基于双控储存的硬盘指示灯设计方法和模块技术领域
本发明涉及硬盘存储技术领域,具体涉及一种基于双控储存的硬盘指示灯设计方法和模块,无须存储控制器控制,通过存储扩展模块之间交互即可实现双控存储的硬盘指示信号正确执行。
背景技术
硬盘指示灯指示硬盘工作状态正常与否,是否有数据的写入/读取,定位硬盘,在存储功能实现中起到重要的作用,硬盘指示灯的显示准确与否,对于服务器的故障判断解决起到至关重要的作用。
硬盘指示灯通常是通过存储控制器(Storagecontroller)管理,存储控制器连接存储扩展模块(SASExpander),由存储扩展模块扩展连接更多的硬盘达到大容量存储的目的,存储控制器从SAS(SerialAttachedSCSI)信号中解析得知硬盘工作状态,通过SGPIO(SerialGeneralPurposeInput/Output串行GPIO)通知信号解析设备(CPLD&PSOC等),由解析设备连接硬盘指示灯指示硬盘工作状态。
高端多路服务器中可以采用双存储控制器、双存储扩展模块实现存储链路的冗余设计提高系统稳定性,硬盘指示灯由存储控制器控制,在实际应用设计中,往往会将存储扩展模块、硬盘、SGPIO信号解析设备一体化设计(JBOD),而存储控制器通过SAS信号连接存储扩展模块,存储链路出现问题时难以做到硬盘指示灯的正常切换。
发明内容
本发明要解决的技术问题是:为克服该问题,本发明提出一种基于双控存储的硬盘指示灯设计方法和模块。
本发明所采用的技术方案为:
一种基于双控储存的硬盘指示灯设计方法,所述方法通过应用两个存储扩展模块,两个存储扩展模块同时将SGPIO信号、Swtich_GPIO信号连接至CPLD,同时两个存储扩展器之间通过I2C/UART实现存储扩展器的心跳功能,能够及时获知对方工作状态,硬盘指示灯由存储扩展模块管理。
所述两个存储扩展模块Expander0、Expander1分别通过一个GPIO信号通知CPLD,此GPIO信号在CPLD端有上拉电阻,应用于本身存储路径发生错误时通知CPLD及时切换SGPIO信号来源,避免出现硬盘指示灯出现异常。
所述存储扩展模块Expander0将SGPIO_P信号、Swtich_GPIO_P信号连接至CPLD,所述存储扩展模块Expander1将SGPIO_S信号、Swtich_GPIO_S信号连接至CPLD,两个存储扩展模块与CPLD之间通过如下方式沟通SGPIO信号解码方式:
1)Expander0数据链路工作正常时,Swtich_GPIO_P输出0;Expander1数据链路工作正常时,Swtich_GPIO_S输出0,CPLD解码Expander0SGPIO信号;
2)Expander0数据链路工作异常时,Swtich_GPIO_P输出1;Expander1数据链路工作正常时,Swtich_GPIO_S输出0,CPLD解码Expander1SGPIO信号;
3)Expander0数据链路工作正常时,Swtich_GPIO_P输出0;Expander1数据链路工作异常时,Swtich_GPIO_S输出1,CPLD解码Expander0SGPIO信号;
4)Expander0数据链路工作异常时,Swtich_GPIO_P输出1;Expander1数据链路工作异常时,Swtich_GPIO_S输出1,代表整个存储链路均已发生异常。
一种基于双控储存的硬盘指示灯模块,所述模块包括2个SASExpander芯片固件和一个CPLD芯片固件,其中Expander芯片固件能够及时获取另外一颗Expander芯片工作状态并通过Swtich_GPIO通知CPLD;CPLD固件通过解码SGPIO信号并输出点灯,同时能够根据前段Expander芯片Swtich_GPIO电位变化调整解析信号来源。
本发明的有益效果为:
本发明无须存储控制器控制,通过存储扩展模块之间交互即可实现双控存储的硬盘指示信号正确执行,实现当存储链路出现错误时硬盘指示灯可以正常工作。
附图说明
图1为本发明基于云计算的汽车防盗方法示意图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
一种基于双控储存的硬盘指示灯设计方法,所述方法通过应用两个存储扩展模块,两个存储扩展模块同时将SGPIO信号、Swtich_GPIO信号连接至CPLD,同时两个存储扩展器之间通过I2C/UART实现存储扩展器的心跳功能,能够及时获知对方工作状态,无须由存储控制器管控,硬盘指示灯由存储扩展模块管理。
实施例2:
在实施例1的基础上,本实施例所述两个存储扩展模块Expander0、Expander1分别通过一个GPIO信号通知CPLD,此GPIO信号在CPLD端有上拉电阻,应用于本身存储路径发生错误时通知CPLD及时切换SGPIO信号来源,避免出现硬盘指示灯出现异常。
实施例3:
如图1所示,在实施例2的基础上,本实施例所述存储扩展模块Expander0将SGPIO_P信号、Swtich_GPIO_P信号连接至CPLD,所述存储扩展模块Expander1将SGPIO_S信号、Swtich_GPIO_S信号连接至CPLD,两个存储扩展模块与CPLD之间通过如下方式沟通SGPIO信号解码方式:
1)Expander0数据链路工作正常时,Swtich_GPIO_P输出0;Expander1数据链路工作正常时,Swtich_GPIO_S输出0,CPLD解码Expander0SGPIO信号;
2)Expander0数据链路工作异常时(如断电/FW宕住),Swtich_GPIO_P输出1;Expander1数据链路工作正常时,Swtich_GPIO_S输出0,CPLD解码Expander1SGPIO信号;
3)Expander0数据链路工作正常时,Swtich_GPIO_P输出0;Expander1数据链路工作异常时,Swtich_GPIO_S输出1,CPLD解码Expander0SGPIO信号;
4)Expander0数据链路工作异常时(如断电/FW宕住),Swtich_GPIO_P输出1;Expander1数据链路工作异常时,Swtich_GPIO_S输出1,代表整个存储链路均已发生异常。
实施例4:
一种基于双控储存的硬盘指示灯模块,所述模块包括2个SASExpander芯片固件和一个CPLD芯片固件,其中Expander芯片固件能够及时获取另外一颗Expander芯片工作状态并通过Swtich_GPIO通知CPLD;CPLD固件通过解码SGPIO信号并输出点灯,同时能够根据前段Expander芯片Swtich_GPIO电位变化调整解析信号来源。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。