硬盘阵列的读/写方法及装置、网络设备的制作方法

文档序号:6771773
专利名称:硬盘阵列的读/写方法及装置、网络设备的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种硬盘阵列的读/写方法及装置、网络设备。
背景技术
独立磁盘冗余阵列(RedundantArray of Independent Disk,简称RAID),还可以简称为硬盘阵列(Disk Array),为多块独立的硬盘(物理硬盘)按不同的方式组合起来所形成的一个硬盘组(逻辑硬盘)。硬盘阵列可以利用条带(striping)技术将数据分布到各个硬盘上,每个条带可以看作是一个逻辑单元(Logical Unit,简称LU),其可以用逻辑单元号(Logical UnitNumber,简称LUN)进行标识。每个逻辑单元被分散到连续块(block)上, 数据被分成从512字节到数兆字节的若干块之后,再分别写到各个硬盘中对应的位置上。然而,在硬盘阵列进行读/写操作时,由于所有硬盘的磁头臂的频率和相位总是相同的,所以会存在共振现象,可能会导致硬盘出现坏道,从而降低了硬盘阵列的可靠性。

发明内容
本发明实施例提供一种硬盘阵列的读/写方法及装置、网络设备,用以提高硬盘阵列的可靠性,保证硬盘阵列读/写的正常进行。本发明实施例提供了一种硬盘阵列的读/写方法,所述硬盘阵列包括至少两个硬盘,所述方法包括根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;根据读/写请求中的地址和所述每个硬盘的磁头臂的偏移地址,确定所述每个硬盘的磁头臂的实际地址;控制所述磁头臂从所述实际地址对应的位置开始,进行读/写操作。本发明实施例还提供了一种硬盘阵列的读/写装置,所述硬盘阵列包括硬盘控制器和至少两个硬盘,所述装置包括获取单元,用于根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;确定单元,用于根据读/写请求中的地址和所述每个硬盘的磁头臂的偏移地址, 确定所述每个硬盘的磁头臂的实际地址;控制单元,用于控制所述磁头臂从所述实际地址对应的位置开始,进行读/写操作。本发明实施例又提供了一种网络设备,包含上述硬盘阵列的读/写装置。由上述技术方案可知,本发明实施例通过获取每个硬盘的磁头臂的偏移地址,进而根据读/写请求中的地址和上述每个硬盘的磁头臂的偏移地址,确定上述每个硬盘的磁头臂的实际地址,使得能够控制上述磁头臂从上述实际地址对应的位置开始,进行读/写操作,由于硬盘的磁头臂的实际位置与根据读/写请求中的地址之间存在偏移,所以在硬盘阵列进行读/写操作时,会使得硬盘阵列中的部分硬盘的磁头臂的摆动方向不相同,能
3够减少共振发生的可能性,提高了硬盘阵列的可靠性,从而能够保证硬盘阵列读/写的正常进行。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的硬盘阵列的读/写方法的流程示意图;图2为本发明另一实施例提供的硬盘阵列的读/写装置的结构示意图;图3为本发明另一实施例提供的硬盘阵列的读/写装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的硬盘阵列的读/写方法的流程示意图,本实施例中的硬盘阵列可以包括至少两个硬盘。如图1所示,本实施例的硬盘阵列的读/写方法可以包括101、根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;可选地,在获取的每个硬盘的磁头臂的偏移地址中,相邻硬盘的磁头臂的偏移地址可以是不相同的。其中的相邻硬盘可以理解为相邻一个硬盘,例如,A硬盘和与其相邻的 B硬盘,共两个硬盘,或者还可以理解为相邻至少两个硬盘,例如A硬盘、与A硬盘相邻的B 硬盘、与B硬盘相邻的C硬盘,共三个硬盘;需要说明的是预先设置的偏移策略可以针对全部硬盘,也可以针对部分硬盘,本实施例对此不进行限制。例如如果是针对部分硬盘,101中,则可以相应的获取到其他部分硬盘的磁头臂的偏移地址为0,即没有发生偏移。102、根据读/写请求中的地址和上述每个硬盘的磁头臂的偏移地址,确定上述每个硬盘的磁头臂的实际地址;例如,将读/写请求中的地址加上每个硬盘的磁头臂的偏移地址,则可以确定出每个硬盘的磁头臂的实际地址;103、控制上述磁头臂从上述实际地址对应的位置开始,进行读/写操作。上述101 103的执行主体可以为硬盘阵列,具体为硬盘阵列中的硬盘控制器。需要说明的是由于读操作和写操作是有先后顺序的,所以在本实施例中,可以先执行上述101 103中的写操作,然后再执行上述101 103中的读操作。具体的,根据硬盘阵列目前的读/写情况确定。可选地,101中,硬盘阵列可以根据上述每个硬盘的绝对盘位,获得上述每个硬盘的偏移因子,进而再根据上述偏移因子,确定上述每个硬盘的磁头臂的偏移地址。
例如假设硬盘阵列中有M个硬盘,硬盘的总空间为T块(kctor),那么偏移因子可以为硬盘的总空间T除以硬盘的总个数M即T/M,继而可以根据公式(N-I) T/M,获得第N 个硬盘的磁头臂的偏移地址第一个硬盘(DISKO)的磁头臂的偏移地址为0T/M(即0),硬盘控制器则可以控制磁头臂从0块开始进行读/写操作;第二个硬盘(DISK2)的磁头臂的偏移地址为T/M块,硬盘控制器则可以控制磁头臂从T/M块开始进行读/写操作;第三个硬盘(DISK3)的磁头臂的偏移地址为2T/M块,硬盘控制器则可以控制磁头臂从2T/M块开始进行读/写操作;第四个硬盘(DISK4)的磁头臂的偏移地址为3T/M块,硬盘控制器则可以控制磁头臂从3T/M块开始进行读/写操作;依次类推,直到第M个硬盘(DISKO),第M个硬盘(DISKM)的磁头臂的偏移地址为(M-1)T/M块,从(M-I) T/M块开始进行读/写操作。例如如表1所示。表1硬盘阵列中硬盘的位置编号
权利要求
1.一种硬盘阵列的读/写方法,所述硬盘阵列包括至少两个硬盘,其特征在于,所述方法包括根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;根据读/写请求中的地址和所述每个硬盘的磁头臂的偏移地址,确定所述每个硬盘的磁头臂的实际地址;控制所述磁头臂从所述实际地址对应的位置开始,进行读/写操作。
2.根据权利要求1所述的方法,其特征在于,所述根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址,包括根据所述每个硬盘的绝对盘位,获得所述每个硬盘的偏移因子,根据所述偏移因子,确定所述每个硬盘的磁头臂的偏移地址;或根据所述每个硬盘的相对盘位,获得所述每个硬盘的偏移因子,根据所述偏移因子,确定所述每个硬盘的磁头臂的偏移地址。
3.根据权利要求1或2所述的方法,其特征在于,相邻硬盘的磁头臂的偏移地址不相同,所述相邻硬盘包括相邻一个硬盘和/或相邻至少两个硬盘。
4.一种硬盘阵列的读/写装置,所述硬盘阵列包括至少两个硬盘,其特征在于,所述装置包括获取单元,用于根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;确定单元,用于根据读/写请求中的地址和所述每个硬盘的磁头臂的偏移地址,确定所述每个硬盘的磁头臂的实际地址;控制单元,用于控制所述磁头臂从所述实际地址对应的位置开始,进行读/写操作。
5.根据权利要求4所述的装置,其特征在于,所述获取单元至少包括以下子单元中的一个第一获取子单元,用于根据所述每个硬盘的绝对盘位,获得所述每个硬盘的偏移因子, 根据所述偏移因子,确定所述每个硬盘的磁头臂的偏移地址;第二获取子单元,用于根据所述每个硬盘的相对盘位,获得所述每个硬盘的偏移因子, 根据所述偏移因子,确定所述每个硬盘的磁头臂的偏移地址。
6.根据权利要求4或5所述的装置,其特征在于,相邻硬盘的磁头臂的偏移地址不相同,所述相邻硬盘包括相邻一个硬盘和/或相邻至少两个硬盘。
7.一种网络设备,其特征在于,包括如权利要求4至6任一权利要求所述的硬盘阵列的读/写装置,所述网络设备还包括所述硬盘阵列。
全文摘要
本发明实施例提供一种硬盘阵列的读/写方法及装置、网络设备,所述硬盘阵列包括至少两个硬盘,所述方法包括根据预先设置的偏移策略,获取每个硬盘的磁头臂的偏移地址;根据读/写请求中的地址和所述每个硬盘的磁头臂的偏移地址,确定所述每个硬盘的磁头臂的实际地址;控制所述磁头臂从所述实际地址对应的位置开始,进行读/写操作。本发明实施例由于硬盘的磁头臂的实际位置与根据读/写请求中的地址之间存在偏移,所以在硬盘阵列进行读/写操作时,会使得硬盘阵列中的部分硬盘的磁头臂的摆动方向,能够减少共振发生的可能性,提高了硬盘阵列的可靠性,从而能够保证硬盘阵列读/写的正常进行。
文档编号G11B5/54GK102262882SQ20111016620
公开日2011年11月30日 申请日期2011年6月20日 优先权日2011年6月20日
发明者唐鲲, 杨天文, 黄庆成 申请人:成都市华为赛门铁克科技有限公司
...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1