检查硬盘是否支持SAS协议的方法、装置和计算机设备制造方法及图纸

技术编号:36750955 阅读:16 留言:0更新日期:2023-03-04 10:37
本申请涉及一种检查硬盘是否支持SAS协议的方法、装置、计算机设备和存储介质,其中该方法包括:组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为非0的控制字段;将组装好的CDB格式命令发送给盘片;判断所述盘片是否返回附加信息Invalid command operation code;若返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为不支持的命令;若没有返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为支持的命令。本发明专利技术可以快速判断SAS协议命令是否支持,同时又对盘片没有实质伤害,既快速又安全。既快速又安全。既快速又安全。

【技术实现步骤摘要】
检查硬盘是否支持SAS协议的方法、装置和计算机设备


[0001]本专利技术涉及硬盘
,特别是涉及一种检查硬盘是否支持SAS协议的方法、装置、计算机设备和存储介质。

技术介绍

[0002]SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。
[0003]SAS协议是标准的协议,但是对标准中定义的任何特性的支持都是可选的,每个厂家不一定都实现了所有的SAS协议功能,当我们不确定该功能是否实现的时候,又不能直接操作,特别是trim、format、sanitize等高危操作,所以需要我们检查该功能是否支持,又不真正下发命令到盘片处理。目前,现有技术并并没有对每个命令都做了开关配置项查询,所以无法直观判断,并且直接操作有可能导致盘片数据丢失,对盘片造成实质性的伤害。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种检查硬盘是否支持SAS协议的方法、装置、计算机设备和存储介质。
[0005]一种检查硬盘是否支持SAS协议的方法,所述方法包括:
[0006]组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为非0的控制字段;
[0007]将组装好的CDB格式命令发送给盘片;
[0008]判断所述盘片是否返回附加信息Invalid command operation code;
[0009]若返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为不支持的命令;
[0010]若没有返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为支持的命令。
[0011]在其中一个实施例中,所述组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为控制字段的步骤还包括:
[0012]所述CDB格式命令包括6个字节,其中,第一个字节为操作码,第六个字节控制字段为非0的数字,其他字段全部设置为0。
[0013]在其中一个实施例中,所述将组装好的CDB格式命令发送给盘片的步骤还包括:
[0014]通过工具sg_raw将组装好的6个字节CDB格式命令发送给盘片;
[0015]如果为不支持的操作码则会返回附加信息Invalid command operation code,如果为支持的操作码则会继续解析CDB格式命令的其他字段。
[0016]在其中一个实施例中,所述方法还包括:
[0017]在Linux环境下将上述规则封装脚本,通过封装后的脚本执行命令根据返回结果判断是否支持协议命令。
[0018]一种检查硬盘是否支持SAS协议的装置,所述检查硬盘是否支持SAS协议的装置包括:
[0019]组装模块,所述组装模块用于组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为非0的控制字段;
[0020]发送模块,所述发送模块用于将组装好的CDB格式命令发送给盘片;
[0021]判断模块,所述判断模块用于判断所述盘片是否返回附加信息Invalid command operation code;
[0022]第一返回模块,所述第一返回模块用于若返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为不支持的命令;
[0023]第二返回模块,所述第二返回模块用于若没有返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为支持的命令。
[0024]在其中一个实施例中,所述组装模块还用于:
[0025]所述CDB格式命令包括6个字节,其中,第一个字节为操作码,第六个字节控制字段为非0的数字,其他字段全部设置为0。
[0026]在其中一个实施例中,所述发送模块还用于:
[0027]通过工具sg_raw将组装好的6个字节CDB格式命令发送给盘片;
[0028]如果为不支持的操作码则会返回附加信息Invalid command operation code,如果为支持的操作码则会继续解析CDB格式命令的其他字段。
[0029]在其中一个实施例中,所述装置还包括:
[0030]封装模块,所述封装模块用于在Linux环境下将上述规则封装脚本,通过封装后的脚本执行命令根据返回结果判断是否支持协议命令。
[0031]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
[0032]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0033]上述检查硬盘是否支持SAS协议的方法、装置、计算机设备和存储介质,采用SAS协议中标准规则,主机和盘片通信是通过发送CDB格式命令到盘片,盘片处理后回复响应。本专利技术可以将磁盘盘符和操作码结合起来,获取协议命令支持与否的结果,可以快速判断SAS协议命令是否支持,同时又对盘片没有实质伤害,既快速又安全。
附图说明
[0034]图1为一个实施例中检查硬盘是否支持SAS协议的方法的流程示意图;
[0035]图2为另一个实施例中检查硬盘是否支持SAS协议的方法的流程示意图;
[0036]图3为再一个实施例中检查硬盘是否支持SAS协议的方法的流程示意图;
[0037]图4为一个实施例中检查硬盘是否支持SAS协议的装置的结构框图;
[0038]图5为另一个实施例中检查硬盘是否支持SAS协议的装置的结构框图;
[0039]图6为一个实施例中计算机设备的内部结构图。
具体实施方式
[0040]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0041]SAS协议是标准的协议,但是对标准中定义的任何特性的支持都是可选的,每个厂家不一定都实现了所有的SAS协议功能,当我们不确定该功能是否实现的时候,又不能直接操作,特别是trim、format、sanitize等高危操作,所以需要我们检查该功能是否支持,又不真正下发命令到盘片处理。目前,现有技术并并没有对每个命令都做了开关配置项查询,所以无法直观判断,并且直接操作有可能导致盘片数据丢失,对盘片造成实质性的伤害。
[0042]基于此,本专利技术提出一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检查硬盘是否支持SAS协议的方法,所述方法包括:组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为非0的控制字段;将组装好的CDB格式命令发送给盘片;判断所述盘片是否返回附加信息Invalid command operation code;若返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为不支持的命令;若没有返回附加信息Invalid command operation code则表示下发的所述CDB格式命令为支持的命令。2.根据权利要求1所述的检查硬盘是否支持SAS协议的方法,其特征在于,所述组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为控制字段的步骤还包括:所述CDB格式命令包括6个字节,其中,第一个字节为操作码,第六个字节控制字段为非0的数字,其他字段全部设置为0。3.根据权利要求2所述的检查硬盘是否支持SAS协议的方法,其特征在于,所述将组装好的CDB格式命令发送给盘片的步骤还包括:通过工具sg_raw将组装好的6个字节CDB格式命令发送给盘片;如果为不支持的操作码则会返回附加信息Invalid command operation code,如果为支持的操作码则会继续解析CDB格式命令的其他字段。4.根据权利要求1

3中任一项所述的检查硬盘是否支持SAS协议的方法,其特征在于,所述方法还包括:在Linux环境下将上述规则封装脚本,通过封装后的脚本执行命令根据返回结果判断是否支持协议命令。5.一种检查硬盘是否支持SAS协议的装置,其特征在于,所述检查硬盘是否支持SAS协议的装置包括:组装模块,所述组装模块用于组装用于发送给盘片的CDB格式命令,所述CDB格式命令第一个字节为操作码,最后一个字节为...

【专利技术属性】
技术研发人员:刘贵付荣耀甘金涛
申请(专利权)人:成都芯忆联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1