硬盘故障处理方法、阵列控制器及硬盘技术

技术编号:26375655 阅读:19 留言:0更新日期:2020-11-19 23:44
本发明专利技术实施例提供一种硬盘故障处理方法。所述方法由存储阵列的阵列控制器执行。所述存储阵列包括多个硬盘,每个硬盘被划分多个存储块,位于不同硬盘的多个存储块通过冗余算法构成存储块组。所述方法包括:获取第一硬盘中发生故障的故障区的故障信息;当所述故障信息指示所述故障区有数据丢失时,则确定丢失数据所在的故障存储块;利用所述故障存储块所归属的存储块组中的其他存储块恢复所述故障存储块的数据;将所恢复的数据存储至恢复存储块,所述恢复存储块位于第二硬盘,所述第二硬盘为除所述存储块组所在的硬盘以外的硬盘;记录所述故障存储块中的数据在所述第一硬盘中的地址与所述恢复数据块在所述第二硬盘中的地址的对应关系。

【技术实现步骤摘要】
硬盘故障处理方法、阵列控制器及硬盘
本专利技术涉及存储
,特别涉及在硬盘中的存储区发生故障后的处理方法及执行所述处理方法的阵列控制器及硬盘。
技术介绍
由于固态硬盘的不能原地写,只能异地写,所以在固态硬盘中必须留出一部分冗余空间作为固态硬盘的数据写入的腾挪空间以提升固态硬盘的性能。固态硬盘对外提供的标称容量不包括所述冗余空间的容量。当固态硬盘中出现部分区域故障后(例如die故障,以下简称故障区)时,为了使所述标称容量不减少,就需要通过冗余空间的容量进行补偿所述故障区,这样将导致冗余空间的容量减少。冗余空间的减少会导致固态硬盘的磨损度增加,从而影响固态硬盘的性能。
技术实现思路
本专利技术实施例提供在硬盘中出现的故障区后的处理方法,使用所述处理方法,在硬盘出现故障区后,不会使硬盘的冗余空间减少,从而不会导致硬盘的磨损度增加。本专利技术实施例第一方面提供一种硬盘故障处理方法,所述方法由存储阵列的阵列控制器执行。所述存储阵列包括多个硬盘,每个硬盘被划分多个存储块,位于不同硬盘的多个存储块通过冗余算法构成存储块组。所述方法包括:获取第一硬盘中发生故障的故障区的故障信息;当所述故障信息指示所述故障区有数据丢失时,则确定丢失数据所在的故障存储块;利用所述故障存储块所归属的存储块组中的其他存储块恢复所述故障存储块的数据;将所恢复的数据存储至恢复存储块,所述恢复存储块位于第二硬盘,所述第二硬盘为除所述存储块组所在的硬盘以外的硬盘;记录所述故障存储块中的数据在所述第一硬盘中的地址与所述恢复数据块在所述第二硬盘中的地址的对应关系。通过将第一硬盘中故障存储块中丢失的数据恢复至第二硬盘的恢复存储块中,并记录故障存储块在第一硬盘中的地址与恢复存储块在第二硬盘中的地址的对应关系,这样,即不会减少第一硬盘中的冗余空间,从而保障了第一硬盘的性能。在第一方面的实施例中,提供了两种获取第一硬盘中发生故障的故障区的故障信息的方式,第一种为所述阵列控制器接收所述第一硬盘上报的所述故障信息;第二种为所述阵列控制器发送故障查询命令至所述第一硬盘;然后接收所述第一硬盘根据所述故障查询命令上报的所述故障信息。可选地,所述故障信息包括指示数据是否丢失的标识,根据所述标识确定所述故障区有数据丢失。在第一方面的实施例中,提供了两种确定丢失数据所在的故障存储块的方式,第一种为所述阵列控制器获取所述第一硬盘中的第一存储块在所述第一硬盘中的地址;发送数据丢失查询命令至所述第一硬盘,所述查询命令中携带所述第一存储块在所述第一硬盘中的地址;在所述第一硬盘接收到所述查询指令后,会确定所述查询指令中携带的地址是否包括所述故障区的部分或者全部地址,如果包括则所述第一硬盘在所述查询指令的返回消息中携带指示所述第一存储块包括所述丢失数据的指示信息,否则,则在所述查询指令的返回消息中携带指示所述第一存储块不包括所述丢失数据的指示信息。在接收到所述第一硬盘返回的指示所述第一存储块是否包括所述丢失数据的指示信息后,所述阵列控制器若判断所述指示信息指示所述第一存储块包括所述丢失数据,则确定所述第一存储块为所述故障存储块;然后生成新的数据丢失查询命令,所述新的数据丢失查询命令中携带所述第一硬盘的第二存储块在所述第一硬盘中的地址。第二种确定丢失数据所在的故障存储块的方式为发送故障区查询命令至所述第一硬盘;接收所述第一硬盘返回的包括所述故障区的地址的信息;根据所述故障区的地址确定所述故障存储块。可选地,所述故障信息包括所述故障区的容量,所述方法还包括:获取所述故障信息中的故障区的容量,将所述故障区的容量累加至所述第一硬盘的故障总容量中;当判断所述故障总容量大于预设值,则提示用户替换所述第一硬盘。通过硬盘损失的总容量确定是否更换硬盘,跟现有技术中检测硬盘的磨损度相比,检测的方式更方便,且更准确。本专利技术第二方面提供一种硬盘故障处理方法,所述方法由存储阵列的阵列控制器执行,所述存储阵列中包括第一硬盘,所述第一硬盘中包括故障区。所述方法包括获取所述故障区的故障信息;根据所述故障信息确定所述故障区的容量;根据所述容量大小将所述第一硬盘中的部分数据迁移至第二硬盘;记录所迁移数据在所述第一硬盘中的地址与在所述第二硬盘中的地址的映射关系。可选地,所述第一硬盘与所述存储阵列中的其他硬盘根据冗余算法构成逻辑磁盘。所述方法还包括根据所述故障信息判断所述第一硬盘是否有数据丢失;若所述第一硬盘有数据丢失,则通过所述冗余算法恢复所述第一硬盘中的数据。通过获取硬盘中数据丢失的信息及硬盘之间的冗余算法,可以及时恢复硬盘中丢失的数据。本专利技术第三方面提供一种硬盘故障处理方法,由硬盘执行。所述方法包括侦测所述硬盘中的故障区;确定所述故障区是否有数据丢失;根据确定结果设置所述故障区是否有数据丢失的标记;将所述硬盘中包括故障区的标记及所述故障区是否有数据丢失的标记作为故障信息上报至阵列控制器。可选地,所述硬盘还会记录所述故障区的容量,并将所述故障区的容量作为故障信息上报至阵列控制器。通过上报硬盘的故障区的容量,可以使阵列控制器感知故障区丢失的容量,从而在阵列接收到写请求时,能将写请求分配到剩余容量比较大的硬盘中,从而更好的控制硬盘。可选地,所述方法还包括判断所述故障区的容量是否大于预设值,当所述故障区的容量大于预设值时,上报所述故障信息至所述阵列控制器。在故障区的容量大于预设值时,再上报故障信息,可以避免频繁的上报故障信息对存储阵列的性能的影响。在所述第三方面的实现方式中,当硬盘与阵列控制器的通信协议不同时,硬盘记录和上报所述故障信息的方式也有所不同。当所述硬盘与所述阵列控制器之间的通信协议为SCSI协议时,则所述故障信息记录在所述SCSI协议中的信息异常日志页中;在SCSI协议中,上报所述故障信息的方式又有两种,第一种为:接收所述阵列控制器发送的输入输出IO请求;将所述信息异常日志页携带在所述IO请求的响应信息中,通过所述响应信息上报所述故障信息至所述阵列控制器;第二种为:接收阵列控制器发送的故障信息查询请求;将所述信息异常日志页携带在所述故障信息查询请求的响应信息中,通过所述响应信息上报所述故障信息。当所述硬盘与所述阵列控制器之间的通信协议为ATA协议时,所述故障信息记录在ATA协议中的盘内信息统计页中;则上报所述故障信息的方式为:接收所述阵列控制器发送的故障信息查询请求;将所述盘内信息统计页携带在所述故障信息查询请求的响应信息中,通过所述响应信息上报所述故障信息。当所述硬盘与所述阵列控制器之间的通信协议为NVMe协议时,所述故障信息记录在NVMe协议中的健康信息日志中;则上报所述故障信息的方式为:将所述盘内信息统计页携带在异步事件请求的响应信息中,通过所述响应信息上报所述故障信息。本专利技术第四方面提供一种硬盘故障处理方法,第四方面提供的硬盘处理方法与第一方面提供的硬盘故障处理方法的区别仅在于,在将所恢复的数据存储至恢复存储块后,用恢复存储块代替所述存储块组中的故障存储块,而不需要记录恢本文档来自技高网...

【技术保护点】
1.一种存储阵列,包括非易失性存储器标准NVMe硬盘及控制器,所述NVMe硬盘和所述控制器通过NVMe协议通信,所述控制器通过逻辑地址管理及访问所述NVMe硬盘中的数据,其特征在于,/n所述控制器用于发送查询指令至所述NVMe硬盘;/n所述NVMe硬盘用于检查所述NVMe硬盘中出现故障的逻辑地址,并记录出现故障的逻辑地址,以及根据所述查询指令上报所述NVMe硬盘中出现故障的逻辑地址。/n

【技术特征摘要】
20180905 CN 20181102893171.一种存储阵列,包括非易失性存储器标准NVMe硬盘及控制器,所述NVMe硬盘和所述控制器通过NVMe协议通信,所述控制器通过逻辑地址管理及访问所述NVMe硬盘中的数据,其特征在于,
所述控制器用于发送查询指令至所述NVMe硬盘;
所述NVMe硬盘用于检查所述NVMe硬盘中出现故障的逻辑地址,并记录出现故障的逻辑地址,以及根据所述查询指令上报所述NVMe硬盘中出现故障的逻辑地址。


2.如权利要求1所述的存储阵列,其特征在于,所述控制器还用于在接收到所述NVMe硬盘上报的所述出现故障的逻辑地址之后,对所述出现故障的逻辑地址对应的数据进行恢复。


3.如权利要求1或2所述的存储阵列,其特征在于,所述NVMe硬盘还用于发送异步告警信息,所述异步告警信息用于通知所述控制器所述NVMe硬盘包括所述出现故障的逻辑地址。


4.如权利要求3所述的存储阵列,其特征在于,
所述NVMe硬盘用于当所述出现故障的逻辑地址所表示的地址空间的大小超过预设值时,发送异步告警信息。


5.一种非易失性存储器标准NVMe硬盘的故障处理方法,其特征在于,所述方法包括:
所述NVMe硬盘检查所述NVMe硬盘中出现故障的逻辑地址,并记录出现故障的逻辑地址;
所述NVMe硬盘发送异步告警信息,所述异步告警信息用于指示所述NVMe硬盘包括出现故障的逻辑地址。


6.如权利要求5所述的方法,其特征在于,
所述NVMe硬盘发送异步告警信息包括:
当所述出现故障的逻辑地址所表示的地址空间的大小超过预设值时,所述NVMe硬盘发送异步告警信息。


7.如权利要求5或6所述的方法,其特征在于,还包括:
所述NVMe硬盘接收查询指令;
所述NVMe硬盘根据所述查询指令上报所述出现故障的逻辑地址。


8.一种非易失性存储器标准NVMe硬盘,其特征在于,所述硬盘包括:
识别模块,用于识别所述NVMe硬盘中出现故障的逻辑地址,并记录出现故障的逻辑地址;
上报模块,用于上报异步告警信息,所述异步告警信息用于指示所述NVMe硬盘包括出现故障的逻辑地址。


9.如权利要求8所述的NVMe硬盘,其特征在于,
所述上报模块具体用于:
当所述出现故障的逻辑...

【专利技术属性】
技术研发人员:刘国霞吴黎明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1