硬盘参数获取方法
【技术领域】
[0001]本发明涉及一种硬盘参数获取方法。
【背景技术】
[0002]目前,硬盘是计算机中主要的信息存储介质之一,在日常应用中往往需要多块硬盘与计算机相连接来加大信息存储量,为了大幅度提高硬盘的读写性能,便需要通过RAID卡将多块硬盘与计算机相连接从而组成硬盘冗余阵列。
[0003]然而,在现有技术中,通过计算机直接读取与RAID卡相连接的硬盘参数却成为了困难,在计算机的操作系统中无法直接获取硬盘的参数便无法得到硬盘的使用状况和可靠性信息。
【发明内容】
[0004]本发明是为了解决上述问题而进行的,目的在于提供一种硬盘参数获取方法。
[0005]本发明提供了一种硬盘参数获取方法,通过操作终端对与RAID卡相连接的至少两个硬盘的参数分别进行获取,其特征在于,具体包括以下步骤:(I)操作终端基于DCDB发送方式发送硬盘查询命令至RAID卡中的硬盘控制器中;(2)硬盘控制器基于硬盘查询命令查询每个硬盘的接口型号和设备ID号;(3)基于预定规则通过查询到的硬盘的接口型号和设备ID号判断出硬盘是否支持SCSI协议;(4)当判断为是时,操作终端基于SCSI协议通过RAID卡发送参数查询命令至硬盘;(5)硬盘响应参数查询命令从而向操作终端反馈参数包;以及(6)解析参数包从而得到参数。
[0006]在本发明提供的硬盘参数获取方法中,还可以具有这样的特征,其中,硬盘为SAS硬盘或者支持SCSI协议的SATA硬盘。
[0007]在本发明提供的硬盘参数获取方法中,还可以具有这样的特征,其中,参数包含:硬盘缺陷数目、硬盘读写次数、硬盘读写的可恢复数和不可恢复错误数。
[0008]在本发明提供的硬盘参数获取方法中,还可以具有这样的特征,还包括以下步骤:
(7)操作终端保存参数,作为第一对比参数。(8)预定间隔时间再次获取参数作为第二对比参数。(9)通过将第一对比参数与第二对比参数进行对比,得到对比信息,基于对比信息对硬盘进行可靠性评价。
[0009]发明的作用和效果
[0010]根据本发明所涉及的硬盘参数获取方法,操作终端向RAID卡的硬盘控制器发送查询命令,通过硬盘控制器查询每个硬盘,并将每个硬盘所响应的查询命令结果传输至操作终端从而判断出每个硬盘的接口型号和设备ID号,依据接口型号和设备ID号判断出每个硬盘是否支持SCSI协议,操作终端向支持SCSI协议的硬盘发送参数查询命令,硬盘响应参数查询命令从而向操作终端反馈参数包,通过对参数包进行解析进而得到硬盘的参数,所以,本发明的硬盘参数获取方法实现了在操作终端上直接获取与RAID卡相连接的硬盘的参数。
【附图说明】
[0011]图1是本发明的实施例中操作终端、RAID卡以及硬盘的连接关系图;
[0012]图2是本发明的实施例中硬盘参数获取方法的流程图。
【具体实施方式】
[0013]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明硬盘参数获取方法作具体阐述。
[0014]图1是本发明的实施例中操作终端、RAID卡以及硬盘的连接关系图。
[0015]如图1所示,在本实施例中,硬盘参数获取方法用于获取通过RAID卡20与操作终端10相连接的两个硬盘30的参数,包含:硬盘缺陷数目、硬盘读写次数、硬盘读写的可恢复数以及不可恢复错误数。本实施例所涉及的RAID卡20包含:应用程序编程接口 21和硬盘控制器22,并且只针对于LSI公司生产的RAID卡,本实施例所涉及的硬盘,包括所有SAS硬盘和支持SCSI协议的SATA硬盘。
[0016]图2是本发明的实施例中硬盘参数获取方法的流程图。
[0017]如图2所示,本实施例中的硬盘参数获取方法包括以下步骤:
[0018]步骤SI,操作终端10动态调用RAID卡20内的应用程序编程接口 21,并将应用程序编程接口 21初始化,然后进入步骤S2。
[0019]步骤S2,操作终端10基于DCMD发送方式将硬盘查询命传输到应用程序编程接口21,然后进入步骤S3。
[0020]步骤S3,硬盘控制器22基于应用程序编程接口 21接收到的硬盘查询命令查询两个硬盘30的接口型号和设备ID号,然后进入步骤S4。
[0021]步骤S4,两个硬盘30响应硬盘查询命令,从而通过RAID卡20将相应的接口型号和设备ID号传输至操作终端10,然后进入步骤S5。
[0022]步骤S5,操作终端10,通过接收到的两个硬盘30的接口型号和设备ID号,判断两个硬盘30是否支持SCSI协议,当判断为是时,进入步骤S6 ;当判断为否时,进入到步骤S7。
[0023]步骤S6,硬盘30发送错误代码至操作终端10,然后进入结束状态。
[0024]步骤S7,操作终端10向RAID卡20发送参数查询命令,然后进入步骤S8。
[0025]步骤S8,通过RAID卡20将参数查询命令发送至硬盘30,然后进入步骤S9。
[0026]步骤S9,硬盘30响应参数查询命令,从而发送参数包至操作终端10,然后进入步骤 SlO0
[0027]步骤S10,操作终端10通过查阅SCSI指令的数据格式对接收到的参数包进行解析,得到硬盘30的参数,然后进入步骤SI I。
[0028]步骤S11,将上述参数进行保存作为第一对比参数,然后进入步骤S12。
[0029]步骤S12,在预定间隔时间再次获取硬盘30当前的参数作为第二对比参数,然后进入步骤S13。
[0030]步骤S13,通过将第一对比参数和第二对比参数进行对比,得到对比信息,从而对硬盘30进行可靠性评价,然后进入结束状态。
[0031]实施例的作用与效果
[0032]根据本实施例所涉及的硬盘参数获取方法,操作终端向RAID卡的硬盘控制器发送查询命令,通过硬盘控制器查询每个硬盘,并将每个硬盘所响应的查询命令结果传输至操作终端从而判断出每个硬盘的接口型号和设备ID号,依据接口型号和设备ID号判断出每个硬盘是否支持SCSI协议,操作终端向支持SCSI协议的硬盘发送参数查询命令,硬盘响应参数查询命令从而向操作终端反馈参数包,通过对参数包进行解析进而得到硬盘的参数,所以,本发明的硬盘参数获取方法实现了在操作终端上直接获取通过RAID卡所连接的硬盘的参数。
[0033]在本实施例中的硬盘参数获取方法中,由于将保存的第一对比参数与在预定间隔时间后再次获取的第二对比参数进行对比,因此可以得到硬盘的可靠性评价。
[0034]上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
[0035]在本实施例中的硬盘参数获取方法中,硬盘是SAS硬盘,在本发明所提供的硬盘参数获取方法,所涉及到的硬盘还可以是支持SCSI协议的SATA硬盘。
[0036]在本实施例中的硬盘参数获取方法中,硬盘为两个,在本发明所提供的硬盘参数获取方法,还适用于两个以上的硬盘。
【主权项】
1.一种硬盘参数获取方法,通过操作终端对与RAID卡相连接的至少两个硬盘的参数分别进行获取,其特征在于,具体包括以下步骤: (1)所述操作终端基于DCDB发送方式发送硬盘查询命令至所述RAID卡中的硬盘控制器中; (2)所述硬盘控制器基于所述硬盘查询命令查询每个所述硬盘的接口型号和设备ID号; (3)基于预定规则通过查询到的所述硬盘的接口型号和设备ID号判断出所述硬盘是否支持SCSI协议; (4)当判断为是时,所述操作终端基于所述SCSI协议通过所述RAID卡发送参数查询命令至所述硬盘; (5)所述硬盘响应所述参数查询命令从而向所述操作终端反馈参数包;以及 (6)解析所述参数包从而得到所述参数。
2.根据权利要求1所述的硬盘参数查询方法,其特征在于 其中,所述硬盘为SAS硬盘或者支持所述SCSI协议的SATA硬盘。
3.根据权利要求1所述的硬盘参数查询方法,其特征在于: 其中,所述参数包含:硬盘缺陷数目、硬盘读写次数、硬盘读写的可恢复数和不可恢复错误数。
4.根据权利要求1所述的硬盘参数查询方法,其特征在于,还包括以下步骤: (7)所述操作终端保存所述参数,作为第一对比参数。 (8)预定间隔时间再次获取所述参数作为第二对比参数。 (9)通过将所述第一对比参数与所述第二对比参数进行对比,得到对比信息,基于所述对比信息对所述硬盘进行可靠性评价。
【专利摘要】本发明提供了一种硬盘参数获取方法,通过操作终端对与RAID卡相连接的至少两个硬盘的参数分别进行获取,其特征在于,具体包括以下步骤:(1)操作终端基于DCDB发送方式发送硬盘查询命令至RAID卡中的硬盘控制器中;(2)硬盘控制器基于硬盘查询命令查询每个硬盘的接口型号和设备ID号;(3)基于预定规则通过查询到的硬盘的接口型号和设备ID号判断出硬盘是否支持SCSI协议;(4)当判断为是时,操作终端基于SCSI协议通过RAID卡发送参数查询命令至硬盘;(5)硬盘响应参数查询命令从而向操作终端反馈参数包;以及(6)解析参数包从而得到参数。
【IPC分类】G06F11-22
【公开号】CN104536857
【申请号】CN201410817512
【发明人】任少华
【申请人】上海理工大学
【公开日】2015年4月22日
【申请日】2014年12月19日