CN104599718B - 一种硬盘的处理方法及装置 - Google Patents

一种硬盘的处理方法及装置 Download PDF

Info

Publication number
CN104599718B
CN104599718B CN201410784276.3A CN201410784276A CN104599718B CN 104599718 B CN104599718 B CN 104599718B CN 201410784276 A CN201410784276 A CN 201410784276A CN 104599718 B CN104599718 B CN 104599718B
Authority
CN
China
Prior art keywords
data block
hard disk
bad track
bad
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410784276.3A
Other languages
English (en)
Other versions
CN104599718A (zh
Inventor
王键
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410784276.3A priority Critical patent/CN104599718B/zh
Publication of CN104599718A publication Critical patent/CN104599718A/zh
Application granted granted Critical
Publication of CN104599718B publication Critical patent/CN104599718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开一种硬盘的处理方法及装置,涉及通信网络技术领域,可以解决发现硬盘坏道的效率低的问题。本发明实施例通过确定扫描硬盘的起始数据块;从起始数据块开始对硬盘进行跳跃扫描操作;发现第一坏道,暂停跳跃扫描操作;对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,顺序扫描操作为按照从前到后的顺序扫描数据块的剩余部分的操作,直至完成对数据块的扫描;从第一坏道所属数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中的数据块的扫描。本发明实施例提供的方案适于扫描硬盘坏道时采用。

Description

一种硬盘的处理方法及装置
技术领域
本发明涉及通信网络技术领域,尤其涉及一种硬盘的处理方法及装置。
背景技术
随着硬盘的存储阵列的发展,硬盘的容量也越来越大,虽然硬盘的制作工艺已经达到了很高的水平,但是依然不能避免硬盘中产生LSE(Latent Sector Error,潜在扇区错误)。当硬盘中出现LSE时,硬盘不会主动上报扇区中的坏道,只有在主机读到硬盘中产生坏道的位置的时候,才会发现硬盘坏道,因为不能及时发现硬盘坏道,导致存储阵列的可靠性很低。
为了发现硬盘中的坏道,通常采用全盘扫描的方法,按从前到后的顺序对硬盘中的每个LBA(Logical Block Address,逻辑区块地址)逐一扫描,在扫描过程中如果发现硬盘坏道,则对坏道进行修复。然而,随着硬盘容量的增大,按照全盘扫描的方法发现坏道则需要消耗较长的时间,导致发现硬盘坏道的效率低。
发明内容
本发明的实施例提供一种硬盘的处理方法及装置,可以解决发现硬盘坏道的效率低的问题。
第一方面,本发明的实施例提供一种硬盘的处理方法,所述硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成,所述方法包括:
确定扫描所述硬盘的起始数据块;
从所述起始数据块开始对所述硬盘进行跳跃扫描操作,所述跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,所述预设值的区间为所述跳跃扫描操作扫描数据块的间隔区间;
发现第一坏道,暂停所述跳跃扫描操作;
对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照预定顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复;
从与所述第一坏道所属数据块间隔预设值的区间的数据块开始继续进行所述跳跃扫描操作,直至完成所述硬盘的最后一个区域中的数据块的扫描及修复。
在第一种可能的实施例中,结合第一方面,所述对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照从前到后的顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复,包括:
对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作;
对所述第一坏道所属数据块的剩余部分进行所述顺序扫描操作的过程中,发现第N坏道,N为大于1的整数,则对所述第N坏道进行修复,同时对所述数据块的剩余部分进行所述顺序扫描操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复。
在第二种可能的实施例中,结合第一方面或者第一方面中第一种可能的实施例,在所述对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照从前到后的顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复之后,所述方法还包括:
对所述第一坏道所属数据块前后预设范围内的数据块进行所述顺序扫描操作。
在第三种可能的实施例中,结合第一方面中第二种可能的实施例,在所述确定扫描所述硬盘的起始数据块之前,所述方法还包括:
确定所述硬盘中已分配数据的区域;
所述从所述起始数据块开始对所述硬盘进行跳跃扫描操作,包括:
从所述起始数据块开始对所述硬盘中已分配数据的区域进行所述跳跃扫描操作。
在第四种可能的实施例中,结合第一方面或第一方面中第三种可能的实施例,所述预设值为一个区域的容量与两个数据块的容量的差值。
第二方面,本发明实施例提供一种硬盘的处理装置,所述硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成,所述装置包括:
第一确定单元,用于确定扫描所述硬盘的起始数据块;
跳跃扫描单元,用于从所述第一确定单元确定的起始数据块开始对所述硬盘进行跳跃扫描操作,所述跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,所述预设值的区间为所述跳跃扫描操作扫描数据块的间隔区间;发现第一坏道,暂停所述跳跃扫描操作;
修复单元,用于对所述第一坏道进行修复;
顺序扫描单元,用于对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照预定顺序扫描所述数据块的剩余部分的操作;
所述跳跃扫描单元,还用于从与所述第一坏道所属数据块间隔预设值的区间的数据块开始继续进行所述跳跃扫描操作,直至完成所述硬盘的最后一个区域中的数据块的扫描。
在第一种可能的实施例中,结合第二方面,
所述顺序扫描单元,还用于对所述第一坏道所属数据块的剩余部分进行所述顺序扫描操作的过程中,发现第N坏道,N为大于1的整数;
所述修复单元,还用于对所述顺序扫描单元发现的所述第N坏道进行修复。
在第二种可能的实施例中,结合第二方面或第二方面中的第一种可能的实施例,
所述顺序扫描单元,还用于对所述第一坏道所属数据块前后预设范围内的数据块进行所述顺序扫描操作。
在第三种可能的实施例中,结合第二方面中第二种可能的实施例,所述装置还包括:第二确定单元;
第二确定单元,用于确定所述硬盘中已分配数据的区域;
所述跳跃扫描单元,还用于从所述第一确定单元确定的所述起始数据块开始对所述硬盘中已分配数据的区域进行所述跳跃扫描操作。
在第四种可能的实施例中,结合第二方面或第二方面中第三种可能的实施例,所述预设值为一个区域的容量与两个数据块的容量的差值。
本发明实施例提供的硬盘的处理方法及装置,通过确定起始数据块,从起始数据块开始对硬盘进行跳跃扫描操作;发现第一坏道,暂停跳跃扫描操作,然后对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复,然后从第一坏道所属数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中数据块的扫描及修复。采用跳跃扫描的方法不需要对全盘进行扫描,与顺序扫描相比缩短了发现坏道的时间。且坏道的产生具有一定的规律,当硬盘中出现一个坏道后,在该坏道附近产生坏道的可能性会增高,所以发现第一坏道后,第一坏道所属数据块中出现坏道的可能性增高,顺序扫描第一坏道所属数据块的剩余部分,可以使发现坏道的速度更快,提高了发现硬盘坏道的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种硬盘的处理方法的流程图;
图2为本发明实施例提供的一种硬盘的处理方法的示意图;
图3为本发明实施例提供的另一种硬盘的处理方法流程图;
图4为本发明实施例提供的一种数据块的示意图;
图5为本发明实施例提供的又一种硬盘的处理方法流程图;
图6为本发明实施例提供的另一种硬盘的处理方法的示意图;
图7为本发明实施例提供的一种硬盘的处理装置的逻辑结构示意图;
图8为本发明实施例提供的另一种硬盘的处理装置的逻辑结构示意图;
图9为本发明实施例提供的硬盘的处理方法中处理设备的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明适用于可以对硬盘进行处理的处理设备,每个硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成,本发明提供一种硬盘的处理方法,该方法可以应用于RAID(Redundant Arrays of Independent Disks,磁盘阵列)1.0阵列、RAID2.0阵列等阵列中,如图1所示,该方法包括:
101、确定扫描硬盘的起始数据块。
102、从起始数据块开始对硬盘进行跳跃扫描操作,跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,预设值的区间为跳跃扫描操作扫描数据块的间隔区间。
其中,预设值的大小根据一个区域的容量确定,对于每个区域,每次可以仅扫描其中一个数据块,或者每次可以扫描一个区域中的多个数据块,但不需要每次扫描一个区域中的全部数据块。
跳跃扫描的操作如图2所示,图2中以处理设备每次扫描一个区域中的一个数据块为例,即预设值为一个区域的容量与一个数据块的容量的差值。
值得说明的是,区域的大小可以根据硬盘的容量以及磁头移动等因素来确定,区域大小可以与硬盘容量大小成正比,与磁头移动的区间大小值成正比,区域的大小可以为10M~2014M。数据块的大小可以根据区域的大小以及扫描速率来确定,可以为1M~10M。
可以理解的是,为了不占用后端带宽,本发明中处理设备可以利用verify(校验)命令对硬盘进行扫描,利用verify命令对硬盘进行扫描过程中不需要读写硬盘中的数据,对硬盘正常的读写操作影响很小。
103、发现第一坏道,暂停跳跃扫描操作。
104、对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,顺序扫描操作为按照预定顺序扫描该数据块的剩余部分的操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。
其中,预定顺序为数据块中的记录排列的顺序。
图2中阴影部分对应的数据块为第一坏道所属数据块,扫描到第一坏道后,需暂停跳跃扫描操作,直至完成对该数据块的剩余部分的扫描以及完成对该数据块中所有坏道的修复,才能继续执行下述步骤105,继续跳跃扫描操作。
105、从与第一坏道所属数据块间隔预设值的区间的数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中的数据块的扫描及修复。
本发明实施例提供的硬盘的处理方法,通过确定起始数据块,从起始数据块开始对硬盘进行跳跃扫描操作;发现第一坏道,暂停跳跃扫描操作,然后对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复,然后从第一坏道所属数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中数据块的扫描及修复。采用跳跃扫描的方法不需要对全盘进行扫描,与顺序扫描相比缩短了发现坏道的时间。且坏道的产生具有一定的规律,当硬盘中出现一个坏道后,在该坏道附近产生坏道的可能性会增高,所以发现第一坏道后,第一坏道所属数据块中出现坏道的可能性增高,顺序扫描第一坏道所属数据块的剩余部分,可以使发现坏道的速度更快,提高了发现硬盘坏道的效率。
结合图1,本发明还提供一种硬盘的处理方法,如图3所示,在该方法中对第一坏道所属数据块的具体操作方法为:
1041、对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作。
图2中的第一坏道所属数据块如图4所示,图4中阴影部分为坏道。
1042、对第一坏道所属数据块的剩余部分进行顺序扫描操作的过程中,发现第N坏道,N为大于1的整数,则对第N坏道进行修复,同时对该数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。
值得说明的是,一个数据块中可能只存在一个坏道(如第一坏道),也可能存在多个坏道(如第一坏道、第二坏道、……、第N坏道),在对第一坏道所属数据块的剩余部分进行顺序扫描操作的过程中,如果发现还存在坏道,则对该坏道进行修复,同时对该数据块的剩余部分进行顺序扫描操作,顺序扫描操作过程中可能还会发现坏道,则继续按照上述方法修复坏道,同时对该数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。
如图4所示,图4中以该数据块中存在3个坏道为例,发现第一坏道,修复第一坏道,同时对对该数据块中I1部分进行顺序扫描操作,对I1部分顺序扫描操作过程中发现第二坏道,修复第二坏道,同时对I2部分进行顺序扫描操作,对I2部分顺序扫描操作的过程中发现第三坏道,修复第三坏道,同时对I3部分进行顺序扫描操作,扫描完I3部分,没有发现其他坏道,且第一坏道、第二坏道、第三坏道均已修复完成,则继续进行后续步骤。
可选的,本发明还提供一种硬盘的处理方法,如图5所示,该方法包括:
501、确定硬盘中已分配数据的区域。
其中,硬盘中的区域包括已分配数据的区域和未分配数据的区域。如图6所示,斜线部分(区域3)为未分配数据的区域,区域n为该硬盘的最后一个区域,区域n中的η1、η2、……η64仅为对数据块的编号,不代表区域的数量。
值得说明的是,Raid1.0阵列与Raid2.0阵列分配数据的规则不同,对于Raid1.0阵列,数据被连续的分配在硬盘中,例如一个硬盘的容量为600G,已分配的数据占用了400G,这400G数据占用的是硬盘中从第0G开始连续的400G容量,需要说明的是,在Raid1.0阵列中,硬盘本身没有被分为多个区域,而使用本发明的硬盘处理的方法时才需要对硬盘进行分区域以及分数据块扫描;在Raid2.0阵列中,硬盘被分为多个大小相同的chunk(块),Raid2.0阵列的chunk即为本发明中的区域,一般为64M,每个区域作为一个独立的空间被分配数据,数据不一定被分配在连续的区域。
结合图6,对于Raid1.0阵列,硬盘中已分配的区域为从区域1开始连续的区域,例如区域1至区域50为已分配数据的区域,区域51至区域n为未分配数据的区域;而对于Raid2.0阵列,硬盘中已分配的区域可能为硬盘中不连续的区域,例如区域1、区域3、区域n为未分配数据的区域,其余区域均为已分配数据的区域。
502、确定扫描硬盘的起始数据块。
值得说明的是,起始数据块为硬盘中第一个已分配数据的区域中的数据块,处理设备对硬盘进行多轮扫描,每轮扫描可以选取不同的起始数据块。
503、从起始数据块开始对硬盘中已分配数据的区域进行跳跃扫描操作,跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,预设值为一个区域的容量与两个数据块的容量的差值。
例如,一个区域的容量为64M,一个数据块的容量为1M,则预设值为62M。
值得说明的是,在处理设备进行跳跃扫描的过程中,本发明可以只对已分配数据的区域进行扫描,因为未分配数据的区域即使出现坏道也不会对数据产生影响,且在系统下次分配数据前,未分配数据的区域会被格式化,如果有坏道也会被格式化操作修复。
504、发现第一坏道,暂停跳跃扫描操作。
505、对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作。
506、对第一坏道所属数据块的剩余部分进行顺序扫描操作的过程中,发现第N坏道,N为大于1的整数,则对第N坏道进行修复,同时对该数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。
507、对第一坏道所属数据块前后预设范围内的数据块进行顺序扫描操作。
按照坏道出现的规律,对于Raid1.0阵列,由于硬盘并没有真正的分区域存储数据,所以一般对该数据块前后40M范围内的数据块进行顺序扫描操作;
对于Raid2.0阵列,由于硬盘被分为多个区域,结合图6,假设区域4的D1中存在坏道,而区域3未被分配数据,所以存在第一坏道所属数据块前40M未被分配数据的情况,所以对于Raid2.0阵列,对第一坏道所属数据块所在的区域进行顺序扫描操作。
值得说明的是,本步骤中的预设范围是根据历史坏道出现的规律而定的,一般为40M,可根据实际情况调整,如30M、35M、45M、50M等均可。而对于Raid2.0阵列,预设范围就是第一坏道所属数据块所在的区域。
508、从与第一坏道所属数据块间隔预设值的区间的数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个已分配数据区域中的数据块的扫描及修复。
图6中以只有区域3为未分配数据的区域为例,图6中显示的区域1、区域2、区域4至区域n均为已分配数据的区域,在实际情况中,图6中省略号部分可能还存在未分配数据的区域。以下结合图6说明对硬盘的处理方法,首先处理设备确定本轮扫描操作的起始数据块为区域1中的数据块A1,从区域1中的数据块A1开始扫描,然后间隔62M扫描区域1中的数据块A64,然后处理设备扫描区域2中的数据块B63,在数据块B63中发现一个坏道,对该坏道进行修复,同时扫描数据块B63的剩余部分,直到完成对数据块B63的扫描以及修复。
处理设备完成对数据块B63的扫描以及修复之后,对数据块B63的前后40M范围内的数据块进行顺序扫描操作,并修复这些数据块中的坏道。
之后处理设备从数据块B63开始间隔62M继续进行跳跃扫描,由于区域3是未分配数据的区域,所以忽略区域3,扫描区域4的数据块D62,扫描区域4的数据块D62没有发现坏道,则继续进行跳跃扫描操作,如果发现坏道,则暂停跳跃扫描操作,按照处理数据块B63的方法处理该坏道所属数据块,之后继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中数据块的扫描,然后可以从区域1中的数据块A2开始进行第二轮扫描。
本发明实施例提供的硬盘的处理方法,只对已分配数据的区域进行扫描,对于一个容量为600G的硬盘,只有300M的区域被分配了数据,按照1M/S的速度扫描,现有技术中全盘扫描该硬盘需要大约1周左右的时间,而本发明扫描完这300M的区域只需5分钟。而如果该硬盘的所有区域均已被分配数据,按照本发明的跳跃扫描的方法,每间隔预设值的区间扫描一个数据块,由于坏道不是均匀的分布在每个区域的同一个数据块中,所以将预设值设为一个区域的容量与两个数据块的容量的差值,每次扫描不同区域中的不同位置,更符合坏道出现的规律,从而可以更快的发现坏道。对坏道所属数据块的前后预设范围内的数据块进行顺序扫描,能够更精确的发现坏道周围的潜在坏道,进一步提高了发现坏道的效率。
结合上述图1至图6,本发明实施例提供一种硬盘的处理装置,硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成如图7所示,该装置包括:第一确定单元71,跳跃扫描单元72,修复单元73,顺序扫描单元74。
第一确定单元71,用于确定扫描硬盘的起始数据块。
跳跃扫描单元72,用于从第一确定单元71确定的起始数据块开始对硬盘进行跳跃扫描操作,跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,预设值的区间为跳跃扫描操作扫描数据块的间隔区间;发现第一坏道,暂停跳跃扫描操作。
修复单元73,用于对跳跃扫描单元72发现的第一坏道进行修复。
顺序扫描单元74,用于对第一坏道所属数据块的剩余部分进行顺序扫描操作,顺序扫描操作为按照预定顺序扫描数据块的剩余部分的操作。
在修复单元73对跳跃扫描单元72发现的第一坏道进行修复的同时,顺序扫描单元74对第一坏道所属数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。
跳跃扫描单元72,还用于在顺序扫描单元74完成对第一坏道所属数据块的扫描以及修复单元73完成对第一坏道所属数据块中所有坏道的修复后,从与第一坏道所属数据块间隔预设值的区间的数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中的数据块的扫描。
本发明实施例提供的硬盘的处理装置,通过第一确定单元确定起始数据块,跳跃扫描单元从起始数据块开始对硬盘进行跳跃扫描操作;发现第一坏道,暂停跳跃扫描操作,然后修复单元对第一坏道进行修复,同时顺序扫描单元对第一坏道所属数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复,然后跳跃扫描单元从第一坏道所属数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中数据块的扫描及修复。采用跳跃扫描的方法不需要对全盘进行扫描,与顺序扫描相比缩短了发现坏道的时间。且坏道的产生具有一定的规律,当硬盘中出现一个坏道后,在该坏道附近产生坏道的可能性会增高,所以发现第一坏道后,第一坏道所属数据块中出现坏道的可能性增高,顺序扫描单元顺序扫描第一坏道所属数据块的剩余部分,可以使发现坏道的速度更快,提高了发现硬盘坏道的效率。
进一步的,结合图7,本发明还提供一种硬盘的处理装置,如图8所示,该装置还包括:第二确定单元75。
顺序扫描单元74,还用于对第一坏道所属数据块的剩余部分进行顺序扫描操作的过程中,发现第N坏道,N为大于1的整数。
修复单元73,还用于对顺序扫描单元74发现的第N坏道进行修复。
值得说明的是,在修复单元73对第一坏道进行修复的同时,顺序扫描单元74对第一坏道所属数据块的剩余部分进行顺序扫描操作,在顺序扫描单元74对第一坏道所属数据块的剩余部分进行顺序扫描的过程中,发现第N坏道,则修复单元73对第N坏道进行修复,同时顺序扫描单元74对该数据块的剩余部分进行顺序扫描操作,直至顺序扫描单元74完成对该数据块的扫描以及修复单元73完成对该数据块中所有坏道的修复。
进一步的,顺序扫描单元74,还用于对第一坏道所属数据块前后预设范围内的数据块进行顺序扫描操作。
第二确定单元75,用于确定硬盘中已分配数据的区域。
跳跃扫描单元72,还用于从第一确定单元71确定的起始数据块开始对硬盘中已分配数据的区域进行跳跃扫描操作,第一确定单元71确定的起始数据块为第二确定单元75确定的硬盘中第一个已分配数据的区域中的数据块。
其中,跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,预设值的区间为跳跃扫描操作扫描数据块的间隔区间,预设值为一个区域的容量与两个数据块的容量的差值。
本发明实施例提供的硬盘的处理装置,只对第二确定单元确定的已分配数据的区域进行扫描,对于一个容量为600G的硬盘,只有300M的区域被分配了数据,按照1M/S的速度扫描,现有技术中全盘扫描该硬盘需要大约1周左右的时间,而本发明扫描完这300M的区域只需5分钟。而如果该硬盘的所有区域均已被分配数据,按照本发明的跳跃扫描的方法,跳跃扫描单元每间隔预设值的区间扫描一个数据块,由于坏道不是均匀的分布在每个区域的同一个数据块中,所以将预设值设为一个区域的容量与两个数据块的容量的差值,每次扫描不同区域中的不同位置,更符合坏道出现的规律,从而可以更快的发现坏道。对坏道所属数据块的前后预设范围内的数据块进行顺序扫描,能够更精确的发现坏道周围的潜在坏道,进一步提高了发现坏道的效率。
如图9所示,图9为可以对图1至图5描述的硬盘进行处理的处理设备的硬件结构示意图。其中,每个硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成。处理设备可包括存储器91、收发器92、处理器93和总线94,其中,存储器91、收发器92、处理器93通过总线94通信连接。
存储器91可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器91可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器91中,并由处理器93来执行。
收发器92用于装置与其他设备或通信网络(例如但不限于以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Network,WLAN)等)之间的通信。
处理器93可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
总线94可包括一通路,在装置各个部件(例如存储器91、收发器92和处理器93)之间传送信息。
应注意,尽管图9所示的硬件仅仅示出了存储器91、收发器92和处理器93以及总线94,但是在具体实现过程中,本领域的技术人员应当明白,该终端还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,还可包含实现其他功能的硬件器件。
具体的,图9所示的处理设备用于实现图7-图8实施例所示的装置时,该装置中的处理器93,与存储器91和收发器92耦合,用于控制程序指令的执行,具体用于确定扫描硬盘的起始数据块;从起始数据块开始对硬盘进行跳跃扫描操作,跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,预设值的区间为跳跃扫描操作扫描数据块的间隔区间。
可选的,预设值可以为一个区域的容量与两个数据块的容量的差值。
收发器92,用于向硬盘发送verify(校验)命令,并接收硬盘根据verify命令反馈的错误提示或者正确提示,并将错误提示提供给处理器93。
处理器93,还用于通过收发器92接收到的错误指示,发现第一坏道,暂停跳跃扫描操作;对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,顺序扫描操作为按照预定顺序扫描该数据块的剩余部分的操作,直至完成对该数据块的扫描以及完成对数据块中所有坏道的修复;然后从与第一坏道所属数据块间隔预设值的区间的数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中的数据块的扫描及修复。
在处理器93发现第一坏道,暂停跳跃扫描之后,处理器93,具体用于对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作;对第一坏道所属数据块的剩余部分进行顺序扫描操作的过程中,发现第N坏道,N为大于1的整数,则对第N坏道进行修复,同时对该数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复。之后对第一坏道所属数据块前后预设范围内的数据块进行顺序扫描操作。
在处理器93确定扫描硬盘的起始数据块之前,处理器93,还用于确定硬盘中已分配数据的区域。
其中,扫描硬盘的起始数据块为硬盘中第一个已分配数据的区域中的数据块。
进一步的,处理器93,具体还用于从起始数据块开始对硬盘中已分配数据的区域进行跳跃扫描操作。
本发明实施例提供的硬盘的处理装置,通过处理器确定起始数据块,从起始数据块开始对硬盘进行跳跃扫描操作;发现第一坏道,暂停跳跃扫描操作,然后对第一坏道进行修复,同时对第一坏道所属数据块的剩余部分进行顺序扫描操作,直至完成对该数据块的扫描以及完成对该数据块中所有坏道的修复,然后从第一坏道所属数据块开始继续进行跳跃扫描操作,直至完成硬盘的最后一个区域中数据块的扫描及修复。采用跳跃扫描的方法不需要对全盘进行扫描,与顺序扫描相比缩短了发现坏道的时间。且坏道的产生具有一定的规律,当硬盘中出现一个坏道后,在该坏道附近产生坏道的可能性会增高,所以发现第一坏道后,第一坏道所属数据块中出现坏道的可能性增高,顺序扫描第一坏道所属数据块的剩余部分,可以使发现坏道的速度更快,提高了发现硬盘坏道的效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种硬盘的处理方法,其特征在于,所述硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成,所述方法包括:
确定扫描所述硬盘的起始数据块;
从所述起始数据块开始对所述硬盘进行跳跃扫描操作,所述跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,所述预设值的区间为所述跳跃扫描操作扫描数据块的间隔区间;
发现第一坏道,暂停所述跳跃扫描操作;
对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照预定顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复;
从与所述第一坏道所属数据块间隔预设值的区间的数据块开始继续进行所述跳跃扫描操作,直至完成所述硬盘的最后一个区域中的数据块的扫描及修复;
所述对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照从前到后的顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复,包括:
对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作;
对所述第一坏道所属数据块的剩余部分进行所述顺序扫描操作的过程中,发现第N坏道,N为大于1的整数,则对所述第N坏道进行修复,同时对所述数据块的剩余部分进行所述顺序扫描操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复。
2.根据权利要求1所述的硬盘的处理方法,其特征在于,在所述对所述第一坏道进行修复,同时对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照从前到后的顺序扫描所述数据块的剩余部分的操作,直至完成对所述数据块的扫描以及完成对所述数据块中所有坏道的修复之后,所述方法还包括:
对所述第一坏道所属数据块前后预设范围内的数据块进行所述顺序扫描操作。
3.根据权利要求2所述的硬盘的处理方法,其特征在于,在所述确定扫描所述硬盘的起始数据块之前,所述方法还包括:
确定所述硬盘中已分配数据的区域;
所述从所述起始数据块开始对所述硬盘进行跳跃扫描操作,包括:
从所述起始数据块开始对所述硬盘中已分配数据的区域进行所述跳跃扫描操作。
4.根据权利要求1或3所述的硬盘的处理方法,其特征在于,所述预设值为一个区域的容量与两个数据块的容量的差值。
5.一种硬盘的处理装置,其特征在于,所述硬盘包括至少两个区域,每个区域的大小相同,每个区域由大小相同的至少两个数据块组成,所述装置包括:
第一确定单元,用于确定扫描所述硬盘的起始数据块;
跳跃扫描单元,用于从所述第一确定单元确定的起始数据块开始对所述硬盘进行跳跃扫描操作,所述跳跃扫描操作为每间隔预设值的区间扫描一个数据块的操作,所述预设值的区间为所述跳跃扫描操作扫描数据块的间隔区间;发现第一坏道,暂停所述跳跃扫描操作;
修复单元,用于对所述第一坏道进行修复;
顺序扫描单元,用于对所述第一坏道所属数据块的剩余部分进行顺序扫描操作,所述顺序扫描操作为按照预定顺序扫描所述数据块的剩余部分的操作;
所述跳跃扫描单元,还用于从与所述第一坏道所属数据块间隔预设值的区间的数据块开始继续进行所述跳跃扫描操作,直至完成所述硬盘的最后一个区域中的数据块的扫描;
所述顺序扫描单元,还用于对所述第一坏道所属数据块的剩余部分进行所述顺序扫描操作的过程中,发现第N坏道,N为大于1的整数;
所述修复单元,还用于对所述顺序扫描单元发现的所述第N坏道进行修复。
6.根据权利要求5所述的硬盘的处理装置,其特征在于,
所述顺序扫描单元,还用于对所述第一坏道所属数据块前后预设范围内的数据块进行所述顺序扫描操作。
7.根据权利要求6所述的硬盘的处理装置,其特征在于,所述装置还包括:第二确定单元;
第二确定单元,用于确定所述硬盘中已分配数据的区域;
所述跳跃扫描单元,还用于从所述第一确定单元确定的所述起始数据块开始对所述硬盘中已分配数据的区域进行所述跳跃扫描操作。
8.根据权利要求5或7所述的硬盘的处理装置,其特征在于,所述预设值为一个区域的容量与两个数据块的容量的差值。
CN201410784276.3A 2014-12-16 2014-12-16 一种硬盘的处理方法及装置 Active CN104599718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410784276.3A CN104599718B (zh) 2014-12-16 2014-12-16 一种硬盘的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410784276.3A CN104599718B (zh) 2014-12-16 2014-12-16 一种硬盘的处理方法及装置

Publications (2)

Publication Number Publication Date
CN104599718A CN104599718A (zh) 2015-05-06
CN104599718B true CN104599718B (zh) 2017-11-21

Family

ID=53125433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410784276.3A Active CN104599718B (zh) 2014-12-16 2014-12-16 一种硬盘的处理方法及装置

Country Status (1)

Country Link
CN (1) CN104599718B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298979B (zh) * 2018-08-17 2022-08-12 新华三技术有限公司成都分公司 硬盘故障处理方法及装置
CN111048125B (zh) * 2018-10-15 2022-04-29 深信服科技股份有限公司 一种坏道扫描方法及系统
CN112164415A (zh) * 2020-10-15 2021-01-01 天津津航计算技术研究所 一种硬盘扫描检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729276A (zh) * 2014-01-28 2014-04-16 深圳市迪菲特科技股份有限公司 一种扫描磁盘阵列的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334312A (ja) * 1994-06-06 1995-12-22 Nec Eng Ltd ディスク記憶装置
KR100738666B1 (ko) * 2006-09-26 2007-07-11 주식회사 대우일렉트로닉스 Pⅴr tv의 hdd 오류섹터 처리방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729276A (zh) * 2014-01-28 2014-04-16 深圳市迪菲特科技股份有限公司 一种扫描磁盘阵列的方法

Also Published As

Publication number Publication date
CN104599718A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104662518B (zh) 数据迁移方法、数据迁移装置和存储设备
CN102945201B (zh) 已验证数据集合的非易失性介质日志记录
CN103955431B (zh) 一种闪存存储设备中数据管理的方法及装置
KR101623119B1 (ko) 솔리드 스테이트 드라이브의 에러 제어 방법
CN102662608B (zh) 一种降低读延时的方法及装置
US9898215B2 (en) Efficient management of page retirement in non-volatile memory utilizing page retirement classes
CN106527971B (zh) 一种提升ssd在垃圾回收期间读性能的方法
US9354973B2 (en) Data integrity management in memory systems
CN104102585A (zh) 映射信息记录方法、存储器控制器与存储器储存装置
CN105573681A (zh) 一种ssd盘片内部raid组建方法及系统
CN103631721A (zh) 一种隔离内存中坏块的方法及系统
CN104599718B (zh) 一种硬盘的处理方法及装置
CN104050097A (zh) 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择
CN106445843A (zh) 使物理页面地址相关用于软判决解码
CN103597461A (zh) 非易失性半导体存储系统
CN104407933A (zh) 一种数据的备份方法及装置
EP2927779A1 (en) Disk writing method for disk arrays and disk writing device for disk arrays
US20140173223A1 (en) Storage controller with host collaboration for initialization of a logical volume
CN110442473A (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN102915770B (zh) 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器
CN104571956A (zh) 一种数据写入方法及拆分装置
CN103544995A (zh) 一种坏道修复方法及装置
CN114924923A (zh) 一种硬盘写入点正确性验证方法、系统、设备及介质
CN102880432B (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器
CN103970512A (zh) 多核处理器及其并行重放方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211223

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: xFusion Digital Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.