控制硬盘阵列中硬盘上电的方法和系统的制作方法

文档序号:6370658阅读:159来源:国知局
专利名称:控制硬盘阵列中硬盘上电的方法和系统的制作方法
技术领域
本发明涉及存储技术,尤其涉及一种控制硬盘阵列中硬盘上电的方法和系统。
背景技术
随着对存储空间的需求越来越庞大,硬盘阵列应运而生。硬盘阵列通常作为独立系统在主机外直连或通过网络与主机相连,其内部由多个硬盘组成,所有的硬盘通常会由一个或多个电源模块对其提供电源。机械硬盘内部通常有一个电动马达,用以驱动硬盘内部磁盘的转动,在上电时由于硬盘内部的马达起转,会产生冲击电流。如果硬盘阵列的所有磁盘同时上电,则产生的巨大的冲击电流很可能超过电源模块的最大输出能力,造成电源输出过流、被关断等异常情况,降低硬盘阵列的可靠性。
为了规避硬盘阵列中的所有硬盘同时上电可能造成的问题,现有技术中通常采用分组上电的方式。该方式下,将硬盘阵列中的硬盘分为多组,依次对每组的硬盘进行上电,当一组硬盘上电完成后等待一段时间再对另一组硬盘进行上电。但是,如果将两组硬盘之间的时间设置的过短或过长,可能会造成电流超标,或者硬盘阵列的累加的上电时间很长,影响用户体验。

发明内容
本发明实施例提供一种控制硬盘阵列中硬盘上电的方法和系统,用以在硬盘阵列上电时控制上电冲击电流不超过电源输出极限,又使得整个硬盘阵列的上电时间较短。本发明实施例提供了一种控制硬盘阵列中硬盘上电的方法,包括实时检测电源模块的输出电流;将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。本发明实施例提供了一种硬盘阵列中硬盘上电的控制系统,包括电流检测模块,用于实时检测电源模块的输出电流;控制模块,用于将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。由上述技术方案可知,本发明实施例通过检测电源模块的输出电流,当输出电流较小时采用较小的时间间隔对硬盘进行上电,可以尽量降低累加的上电时间,当输出电流较大时采用较大的时间间隔对硬盘进行上电,可以避免冲击电流多大,避免超出电源输出极限,这样就可以在上电时使得冲击电流不超出电源输出极限又使得整个硬盘阵列的上电时间较短。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明控制硬盘阵列中硬盘上电的方法一实施例的流程示意图;图2为本发明控制硬盘阵列中硬盘上电的方法另一实施例的流程示意图;图3中本发明实施例中第一阈值和第二阈值的示意图;图4为本发明实施例中硬盘阵列的示意图;图5为本发明实施例中系统的一种结构示意图;图6为本发明实施例中系统的另一种结构示意图;图7为本发明硬盘阵列中硬盘上电的控制系统一实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明控制硬盘阵列中硬盘上电的方法一实施例的流程示意图,包括步骤11 :实时检测电源模块的输出电流。步骤12 :将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。其中,第一阈值小于第二阈值,第一时间间隔小于第二时间间隔,这样就可以实现在输出电流较小时,尽快的上电,在输出电流较大时,降低上电速度以避免电流超标。另外,可选的,本发明实施例还可以包括将所述硬盘阵列划分为至少两个的组;此时,对所述每个硬盘进行上电包括每次上电时,以每个组为单位,上电对应组内所有的硬盘,如同时上电两个或更多个硬盘。本实施例通过检测电源模块的输出电流,当输出电流较小时采用较小的时间间隔对硬盘进行上电,可以尽量降低累加的上电时间,当输出电流较大时采用较大的时间间隔对硬盘进行上电,可以避免冲击电流多大,避免超出电源输出极限,这样就可以在上电时使得冲击电流不超出电源输出极限又使得整个硬盘阵列的上电时间较短。图2为本发明控制硬盘阵列中硬盘上电的方法另一实施例的流程示意图,本实施例以依次对每个硬盘进行上电为例,本实施例包括步骤21 :控制模块设置第一阈值和第二阈值。其中,控制模块可以是系统单板管理软件或SCSI箱体服务(SCSI EnclosureServices,简称SES)或者单片机等。参见图3,控制模块设置的第一阈值和第二阈值可以分别表示为A阈值和B阈值,B的值大于A的值。
A和B的值可以根据电源模块的输出规格进行设置,B的值为电源模块的最大过流输出值,本领域技术人员可以理解的是B的值比最大过流输出值略大或者略小,都在本发明实施例的范围以内,A的值为略小于B的值,例如,对于额定输出51. 7A的电源模块,其设置的标称过流点为76A,则A的值可以为70A,B值设置为76A。步骤22 :控制模块以较短的时间间隔对硬盘阵列中的硬盘进行依次上电,并且电流检测模块实时检测电源模块的输出电流。其中,较短的时间间隔可以称为第一时间间隔,对应的,较长的时间间隔可以称为第二时间间隔。具体的,第一时间间隔可以为1ms,较长的时间间隔可以为Is。参见图4,本实施例以硬盘阵列包括12个硬盘、将所有硬盘划分为12个组,每组包括一个硬盘,或者也可以理解为没有进行分组,就是依次对每个硬盘进行上电为例,控制模块可以从I号盘开始依次上电,例如,首先对I号盘进行上电,间隔Ims后对2号盘进行上电,在2号盘上电之后Ims再对3号盘进行上电。又例如,可以将12个硬盘划分为4个组,每组3个硬盘,例如,硬盘f硬盘3为第一个组,硬盘硬盘6为第二个组,硬盘r硬盘9为第三个组,硬盘1(T硬盘12为第四个组,此时,首先对第一个组进行上电,也就是硬盘广硬盘3都进行上电,间隔Ims后对第二个组进行上电,也就是硬盘硬盘6都进行上电,在第二个上电之后Ims再对第三个组进行上电,依此类推。需要说明的是,本发明实施例中的依次对硬盘阵列中的每个硬盘进行上电可以是以个为单位依次对每个硬盘进行上电,也可以是以组为单位依次对每组硬盘进行上电。另外,在上电过程中,电流检测模块一直在实时检测电源模块的输出电流。参见图5和图6,电流检测模块可以位于电源模块外部,也可以位于电源模块内部,电源模块为硬盘提供电源输入。当电流检测模块位于电源模块外部时,电流检测模块从电源模块检测得到电源模块的输出电流,之后将输出电流通知给控制模块,控制模块根据该输出电流控制硬盘上电;当电流检测模块位于电源模块内部时,电源模块通过电流检测模块检测到输出电流后,将输出电流通知给控制模块,控制模块根据该输出电流控制硬盘上电。步骤23 :控制模块判断输出电流是否达到A阈值,若是,执行步骤24,否则重复执行步骤22及其后续步骤。其中,当输出电流小于设定的A的值时,表明未达到A阈值,否则为达到A阈值。另外,电源模块可以是一个,也可以是多个。当电源模块为一个时,则上述设置的A点和B点是针对单个电源模块的保护点;当电源模块为多个时,该多个电源模块间实现了均流,系统对多个电源模块进行统一控制,上述的A点和B点分别是多个电源模块电流点相加之和。步骤24 :控制模块以较长的时间间隔对硬盘阵列中的硬盘进行依次上电,并且电流检测模块实时检测电源模块的输出电流。例如,当对6号盘(即第六组)进行上电后,检测到输出电流超过A阈值,则需要间隔较长的时间间隔,如Is再对7号盘(即第七组)进行上电,而不是再间隔1ms,之后在7号盘(即第七组)上电后再间隔Is对8号盘(即第八组)进行上电。同样,在这个上电过程中也需要实时检测电源的输出电流。
步骤25 :控制模块判断输出电流是否达到B阈值,若是,执行步骤26,否则执行步骤27。其中,当输出电流小于设定的B的值时,表明未达到B阈值,否则为达到B阈值。步骤26 :暂停对硬盘的上电一段时间。该暂停的时间可以预先设置,例如,设置为5s,那么假设9号盘(即第九组)上电后检测的输出电流大于B的值,那么为了避免过流,就需要暂停上电5s,等待已经上电的硬盘的电流恢复到正常值,避免继续上电引起的电源过流的问题。步骤27 :控制模块判断所有硬盘是否都已经上电,若是,执行步骤28,否则重复执行步骤22及其后续步骤。也就是说,当硬盘没有全部上电完毕时,实时检测电源模块的输出电流,当输出电流小于A的值时,采用较短的时间间隔对未上电的硬盘依次上电,当输出电流等于或大于A的值且小于B的值时,采用较长的时间间隔对未上电的硬盘依次上电,当输出电流超过B的值时,暂停一段时间再对未上电的硬盘进行上电。重复上述流程直至所有的硬盘都完成上电。步骤28:上电结束。本实施例以每组硬盘包括I个硬盘为例,也可以是每组硬盘包括多个硬盘,例如,每组硬盘包括两个硬盘,那么每次上电则同时对这两个硬盘进行上电,如果输出电流小于A,则以第一时间间隔继续上电下一组的两个硬盘,如果输出电流大于A小于B,则以第二时间间隔继续上电下一组的两个硬盘,如果输出电流大于B,则停止上电一段时间。其中,可以预先将硬盘划分为多个组。本实施例通过检测电源模块的输出电流,当输出电流较小时采用较小的时间间隔对硬盘进行上电,可以尽量降低累加的上电时间,当输出电流较大时采用较大的时间间隔对硬盘进行上电,可以避免冲击电流多大,避免超出电源输出极限,这样就可以在上电时使得冲击电流不超出电源输出极限又使得整个硬盘阵列的上电时间较短。另外,本实施例逐个上电每个硬盘,可以使得上电电流更平滑,每个硬盘的上电时间更短。图7为本发明硬盘阵列中硬盘上电的控制系统一实施例的结构示意图,包括电流检测模块71和控制模块72 ;电流检测模块71用于实时检测电源模块的输出电流;控制模块72用于将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。可选的,所述控制模块72还用于当所述输出电源大于或等于所述第二阈值时,在预设的时间内停止对所述每个硬盘进行上电。
在本发明实施例中,电流检测模块71可以是电源模块内部的具有检测功能的装置,而本发明实施例中的电源模块既包含能够提供电流的电源,也包括用于检测电流的检测模块;本发明实施例中的控制模块可以是CPU也可以是SES芯片。可选的,所述硬盘阵列预先被划分为至少两个的组,所述控制模块72具体用于在每次上电时,以每个组为单位,上电对应组内所有的硬盘电流检测模块。可选的,当所述电源模块为至少两个时,所述电流检测模块71具体用于将所有电源模块的输出电流之和确定为通知给所述控制模块的输出电流。可选的,所述控制模块72还用于对每组硬盘进行上电之后,判断是否还存在没有上电的硬盘,当存在没有上电的硬盘时,重复执行上述流程直至所有硬盘都已经上电。在本发明实施例中,电流检测模块可以是集成在电源内部的电路,控制模块可以是CPU芯片、单板管理控制芯片或者单片机。其中,电流检测系统和控制模块可以位于同一个物理设备中,也可以位于不同的物理设备中,当电流检测系统和控制模块独立设置时,电流检测系统可以位于电源模块中,也可以位于电源模块的外部。本实施例通过检测电源模块的输出电流,当输出电流较小时采用较小的时间间隔对硬盘进行上电,可以尽量降低累加的上电时间,当输出电流较大时采用较大的时间间隔对硬盘进行上电,可以避免冲击电流多大,避免超出电源输出极限,这样就可以在上电时使得冲击电流不超出电源输出极限又使得整个硬盘阵列的上电时间较短。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种控制硬盘阵列中硬盘上电的方法,其特征在于,包括 实时检测电源模块的输出电流; 将所述输出电流与设定的第一阈值进行比较; 当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电; 当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较; 当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。
2.根据权利要求I所述的方法,其特征在于,所述方法还包括 当所述输出电源大于或等于所述第二阈值时,在预设的时间内停止对所述每个硬盘进行上电。
3.根据权利要求I或2所述的方法,其特征在于,还包括 将所述硬盘阵列划分为至少两组; 对所述每个硬盘进行上电包括 以每组为单位,分别对所有的硬盘进行上电。
4.根据权利要求I或2所述的方法,其特征在于,当所述电源模块为至少两个时,所述输出电流为所有电源模块的输出电流之和。
5.根据权利要求I或2所述的方法,其特征在于,对每个硬盘进行上电之后,所述方法还包括 判断是否还存在没有上电的硬盘,当存在没有上电的硬盘时,重复执行上述流程直至所有硬盘都已经上电。
6.一种硬盘阵列中硬盘上电的控制系统,其特征在于,包括 电流检测模块,用于实时检测电源模块的输出电流; 控制模块,用于将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。
7.根据权利要求6所述的系统,其特征在于,所述控制模块还用于 当所述输出电源大于或等于所述第二阈值时,在预设的时间内停止对所述每个硬盘进行上电。
8.根据权利要求6或7所述的系统,其特征在于,所述硬盘阵列预先被划分为至少两组,所述控制模块具体用于,以每组为单位,分别对所有的硬盘进行上电。
9.根据权利要求7或8所述的系统,其特征在于,当所述电源模块为至少两个时,所述电流检测模块具体用于将所有电源模块的输出电流之和确定为通知给所述控制模块的输出电流。
10.根据权利要求7或8所述的系统,其特征在于,所述控制模块还用于对每组硬盘进行上电之后,判断是否还存在没有上电的硬盘,当存在没有上电的硬盘时,重复执行上述流程直至所有硬盘都已经上电。··
全文摘要
本发明提供一种控制硬盘阵列中硬盘上电的方法和系统。该方法包括实时检测电源模块的输出电流;将所述输出电流与设定的第一阈值进行比较;当所述输出电流小于设定的第一阈值时,采用预设的第一时间间隔依次对硬盘阵列中的每个硬盘进行上电;当所述输出电流大于设定的第一阈值时,将所述输出电流与设定的第二阈值进行比较;当所述输出电流大于或等于所述第一阈值且小于第二阈值时,采用预设的第二时间间隔依次对所述每个硬盘进行上电,其中所述第二阈值大于所述第一阈值,所述第二时间间隔大于所述第一时间间隔。本发明实施例可以在硬盘阵列上电时控制上电冲击电流不超过电源输出极限,又使得整个硬盘阵列的上电时间较短。
文档编号G06F1/26GK102749981SQ201210175470
公开日2012年10月24日 申请日期2012年5月31日 优先权日2012年5月31日
发明者廖良 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1