一种硬盘节能的方法及装置的制作方法

文档序号:6468775阅读:183来源:国知局
专利名称:一种硬盘节能的方法及装置的制作方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种硬盘节能的方法及装置。
背景技术
随着科学技术与计算机技术的飞速发展,信息技术的重要性越来越受到 重视。例如,企业越来越依赖于海量的数据。为了更好、更快地存储这些海 量数据,数据存储:忮术也有了前所未有的发展。
但是,作为数据存储技术的载体,硬盘造成了巨大的能源消耗。硬盘节 能成为数据存储技术面临的新课题。
现有实现硬盘节能的方法主要包括磁盘冗余阵列(RAID, Redundant Arrays of Independent/ Inexpensive Disks )组所包含的石更盘中,在一定时间内没 有接收到读/写请求的硬盘均进入休眠状态。当某个进入休眠状态的硬盘接收 到读/写请求时,所有进入休眠状态的硬盘均恢复到正常工作状态,该进入休
眠状态的硬盘才能根据接收到的读/写请求执行操作。
发明人在研究过程中,发现上述实现硬盘节能的方法至少存在以下缺点 为了可以快速响应请求, 一个磁盘冗余阵列组所包含的硬盘不能全部进入休 眠状态,而没有进入休眠状态的硬盘在等待请求的过程中则会不断的消耗能 量,造成了能量的浪费。

发明内容
有鉴于此,本发明实施例提供了一种硬盘节能的方法及装置,以在实现 硬盘节能的前提下,快速响应读/写请求。
一种硬盘节能的方法,所述方法包括
若第一硬盘在预设的时间内未接收到读/写请求,判断当前处于未激活状 态的硬盘个数是否大于允许处于未激活状态的硬盘的最大未激活个数M,所 述M为大于等于1的自然数;
若当前处于未激活状态的硬盘个数大于所述M,命令所述第一硬盘进入
4待机状态。
一种硬盘节能的装置,所述装置包括
确定单元,用于确定允许处于未激活状态的^:盘的最大未激活个lt M, 所述M为大于等于1的自然数;
第一判断单元,用于在预设时间内,若第一硬盘未接收到读/写请求,判 断当前处于未激活状态的硬盘个数是否大于所述确定单元确定的所述M;
命令单元,用于当所述第一判断单元判断出当前处于未激活状态的硬盘 个数大于所述M时,命令所述第一硬盘进入待机状态。
可以看出,为了实现硬盘节能,RAID组计算自身在不失效情况下最多允 许处于未激活状态的硬盘个数。若RAID组中第一硬盘在预设时间内没有接收 到读/写请求,RAID组判断此时处于未激活状态的硬盘个数是否小于自身在不 失效情况下最多允许处于未激活状态的硬盘个数,若小于,则使该第一硬盘 进入休眠状态,否则,使该硬盘待机。
在实现硬盘节能的前提下,当RAID组内的硬盘在预定时间内未接收到读/ 写请求时,即会进入待机状态,此时由于处于所述待机状态的硬盘仅仅是磁 头移位,或转速降低,因此仍可以快速响应读/写请求,且耗能较小。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例硬盘节能方法流程图2为本发明实施例硬盘节能具体方法流程图3为本发明实施例使硬盘快速响应请求方法流程图4为本发明实施例使硬盘快速响应请求具体方法流程图5为本发明实施例硬盘节能的装置结构框5图6为本发明实施例硬盘结构框图。
具体实施例方式
为了使本发明的技术特征、有益效果更加明显易懂,下面结合具体实施 方式对本发明进行详细i兌明。
首先,在本发明实施例中,硬盘的节能模式的状态分为三个级别第一 级别的第一待机状态、第二级别的第二待机状态、第三级别的休眠状态。其 中,第一待机状态和第二待机状态中的硬盘的磁头均被卸载,第一待机状态 的盘片不降速,第二降速状态的盘片转速降低。在本发明实施例中,所述第 一待机状态、第二待机状态、及休眠状态的具体参数如下
第一待机状态,硬盘的磁头卸载,即磁头从高速运转的盘片上移出到一 个特有位置,节能15%-20%,小于10秒的恢复时间;
第二待机状态,硬盘的磁头卸载,盘片的每分钟旋转次数(RPM, rotations-per-minute)降为4000RPM,节能35%-45%, 15秒的恢复时间;
休眠状态,硬盘的马达停止旋转,节能50%-70%, 30秒的恢复时间。
易于理解的是,所述第一待机状态、第二待机状态、及休眠状态的具体 状态参数可以根据需要进行调整。
下面以RAID组中任意一个硬盘为例对本发明实施例进行说明。为描述 方便,任意一个硬盘记为第一硬盘。
请参考图l,为本发明实施例硬盘节能方法流程图,可以包括以下步骤
步骤101:若第一硬盘在预"i殳的时间内未接收到读/写请求,判断当前处 于未激活状态的硬盘个数是否大于允许处于未激活状态的硬盘的最大未激活 个数M,所述M为大于等于1的自然数;
其中,在本发明实施例中,所述未激活状态包括硬盘损坏等造成硬盘无 法正常工作的状态、以及休眠状态。所述最大未激活个数是指在保证RAID 组能正常工作的前提下RAID组所能容忍的处于未激活状态的硬盘的最大数 量。步骤102:若当前处于未激活状态的硬盘个数大于所述M,命令所述第一 硬盘进入待机状态。
下面对图1所示步骤进行详细说明。请参考图2,为本发明实施例的硬盘 节能具体方法流程图,可以包括以下步骤
步骤201: RAID组判断是否允许第一硬盘处于节能模式,如果是,进入 步骤202,否则,流程结束;
步骤202:该RAID组根据自身类型,确定该RAID组中允许处于未激活状 态的硬盘的最大未激活个数M;
其中,在本发明实施例中,所述未激活状态包括硬盘损坏等造成硬盘无 法正常工作的状态、以及休眠状态。所述最大未激活个数是指在保证RAID组 能正常工作的前提下RAID组所能容忍的处于未激活状态的硬盘的最大数量。
步骤203:该RAID组判断该第一硬盘在预设时间内是否接收到读/写请求, 如果接收到,流程结束,否则,进入步骤204;
预设时间是用户根据需要进行设定的。
步骤204:该RAID组判断当前处于未激活状态的硬盘个数是否小于等于 M,若是,进入步骤205,否则,进入步骤206;
步骤205:该RAID组所属的存储控制器向该第 一硬盘发送马达停止旋转 命令,使该第一硬盘进入休眠状态,并计算当前处于未激活状态的硬盘个数, 流程结束。
步骤206:该RAID组根据用户设置判断用户是否要求该第一硬盘快速恢 复,如果是,进入步骤207,否则,进入步骤208;
步骤207:该RAID组所属的存储控制器向该第一硬盘发送第一待机命令, 使该第 一硬盘进入第 一待机状态,流程结束;
步骤208:该RAID组所属的存储控制器向该第 一硬盘发送第二待机命令, 使该第一硬盘进入第二待机状态,流程结束。易于理解的是,当需要硬盘进入待机状态时,可根据具体的状况,比如
历史读写请求产生的频率或预设的RAID组的工作模式(加快、普通等),来
判断是否需要或是否可以进入第二待机状态。
至此,该第一硬盘进入了待机状态或者休眠状态。当该第一硬盘接收到 读/写请求时,该第一硬盘要对接收到的读/写请求进行响应,从待机状态或者 休眠状态恢复到正常工作状态。
请参考图3,为本发明实施例4吏硬盘快速响应请求方法流程图,可以包括 以下步骤
步骤301:所述^_盘接收到读/写请求;
步骤302:若所述硬盘处于休眠状态,接收启动马达命令,按照RAID组 的降级方式执行读/写操作,执行完成后,流程结束;
在本发明实施例中,降级方式是RAID组的一种工作状态。该第一硬盘按 照该RAID组的降级方式执行读操作时,通常,通过冗余方式读取该RAID组中 其它硬盘上对应于读操作的数据。该第一硬盘按照该RAID组的降级方式执行 写操作时,通常通过冗余方式将写操作的数据写入该RAID组的其它硬盘,再 复制到该第一硬盘。不同类型的RAID组按照降级方式执行读/写操作各有不 同。
为描述方便,假设RAID组中的其它硬盘还可以包括第二硬盘、第三硬盘 以及第四硬盘。
以RAID IO为例,RAID IO是通过镜像方式进行冗余的一种RAID组类型。 RAID IO中进入未激活状态的硬盘不能属于同一个镜像对,镜像对上的数据完 全一致。假设RAID IO由该第一硬盘、第二硬盘、第三硬盘以及第四硬盘组成。 其中,该第一硬盘与第二硬盘属于一个镜像对,第三硬盘与第四硬盘属于一 个镜像对。若该第一硬盘需要按照RAID IO的降级方式执行读操作,则通过第 二硬盘执行读操作。若该第一硬盘需要按照RAID IO的降级方式执行写操作, 则RAID IO所属的存储控制器先将数据写入第二硬盘,待该第一硬盘从休眠状 态恢复到正常工作状态后,再将第二硬盘写入的数据复制到自身。以RAID 5为例,假设该第一硬盘、第二硬盘、第三硬盘以及第四硬盘组 成RAID5。若该第一硬盘需要按照RAID5的降级方式执行读操作,则RAID5 所属的存储控制器读出第二硬盘、第三硬盘以及第四硬盘相应位置的数据, 再对读出的数据进行异或运算,计算出该第一硬盘对应位置的数据。若该第 一硬盘需要按照RAID 5的降级方式执行写操作,则RAID 5所属的存储控制器 先将数据写入第二硬盘、第三硬盘以及第四硬盘,待该第一硬盘从休眠状态 恢复到正常工作状态后,该第一硬盘再读出第二硬盘、第三硬盘以及第四硬 盘上写入的数据,进行异或后,"写入该第一硬盘。
该第一硬盘按照RAID组的降级方式执行读/写操作时,该RAID组中的 其它硬盘先对读/写请求进行响应。因此,读/写请求不用等待该第一硬盘从休 眠状态恢复就可以得到快速响应。
步骤303:若所述硬盘处于待机状态,所述硬盘的磁头归位,所述硬盘执 行读/写操作。
请参考图4,为本发明实施例使硬盘快速响应请求具体方法流程图,仍以 图2所示步骤中的第一硬盘以及RAID组为例,在本发明实施例中,所述第一 硬盘处于休眠状态或待机状态,所述快速响应请求方法包括以下步骤
步骤401:该第一硬盘接收到读/写请求;
步骤402:该第一硬盘判断自身是否处于休眠状态,如果是,进入步骤403, 否则,进入步骤406;
易于理解的是,在本发明实施例中,若该第一硬盘判断出自身没有处于 休眠状态,则该第一硬盘处于待机状态。
步骤403:该第 一硬盘向该RAID组所属的存储控制器发送启动马达请求;
步骤404:该RAID组所属的存储控制器接收到来自该第一硬盘的请求后, 向该第 一硬盘发送启动马达命令;
步骤405:该第一硬盘按照该RAID组的降级方式执行读/写操作,执行完 成后,流禾呈结束;步骤406:该第一硬盘的磁头归位,该第一硬盘执行读/写操作,并计算单 位时间内接收到的读/写请求个数;
步骤407:该第一硬盘判断单位时间内接收到的读/写请求个数是否大于用 户设定的门限值,如果是,进入步骤408,否则,继续执行读/写操:作,并且重 复步骤406和步骤407, 4丸行完成后,流程结束;
步骤408:该第一硬盘提高转速,并继续执行读/写操作,操作完成后,流 程结束。
步骤408中,该第一硬盘从第一待机状态或者第二待机状态恢复到正常工 作模式。
综上,本发明实施例中,为了实现硬盘节能,RAID组计算自身在不失效 情况下最多允许处于未激活状态的硬盘个数。若RAID组中的第一硬盘在预设 时间内没有接收到读/写请求,RAID组判断此时处于未激活状态的硬盘个数是 否小于自身在不失效情况下最多允许处于未激活状态的硬盘个数,若小于, 则使该第一硬盘进入休眠状态,否则,使该硬盘进入待机状态。
在实现硬盘节能的前提下,当RAID组中某个硬盘接收到读/写请求后,该 硬盘判断自身是否处于未激活状态,若是,则启动马达,按照RAID组的降级 方式执行读/写操作,否则,说明该硬盘处于第一待机状态或者第二待机状态, 其磁头归位后,该硬盘执行读/写操作,并按照用户设定的门限值,提高转速。 综上,本发明实施例通过设定硬盘的待机状态来降低硬盘处于等待时间内的 能量消耗,而当接受到请求后,处于待机状态的硬盘也可以对读/写请求快速 响应,减少了对硬盘性能的影响。
请参考图5,为本发明实施例硬盘节能的装置结构框图,可以包括
确定单元501,用于确定允许处于未激活状态的硬盘的最大未激活个数 M,所述M为大于等于1的自然数;
第一判断单元502,用于在预设时间内,若第一硬盘未接收到读/写请求, 判断当前处于未激活状态的硬盘个数是否大于所述确定单元501确定的所述 M;命令单元503,用于若所述第一判断单元502判断出当前处于未激活状态 的硬盘个数大于所述M,命令所述第一硬盘进入待机状态。
当前处于未激活状态的硬盘个数小于或等于M,则所述命令单元命令所 述第 一硬盘进入休眠状态。
所述装置还可以包括
计算单元,用于计算当前进入未激活状态的硬盘个数。
下面结合图2所示步骤对上述装置各单元执行的操作进行说明。
确定单元501确定允许处于未激活状态的硬盘的最大未激活个数M。在预 设时间内,若第一硬盘未接收到读/写请求,第一判断单元502判断当前处于未 激活状态的硬盘个数是否大于确定单元501确定的M。若当前处于未激活状态 的硬盘个数小于等于M,则命令单元503命令第一硬盘进入休眠状态,计算单 元计算当前进入未激活状态的硬盘个数。若当前处于未激活状态的硬盘个数
大于M,则命令单元503命令第一硬盘进入待机状态。
请参考图6,为本发明实施例硬盘结构框图,可以包括 接收单元601,用于接收读/写请求;
第一执行单元602,用于若所述硬盘处于休眠状态,接收启动马达命令, 按照RAID组的降级方式执行所述接收单元601接收到的所述读/写操作;
第二执行单元603,用于若所述硬盘处于待机状态,使所述硬盘的^f兹头归 位,执行所述接收单元601接收到的所述读/写操作。
所述硬盘还可以包括
计数单元,用于计算单位时间内接收到的读/写请求个数,若所述单位时 间内接收到的读/写请求个数大于用户设定的门限值,则提高转速。
下面结合图4所示步骤对硬盘各单元执行的操作进行说明。
第一硬盘的接收单元601接收读/写请求。该第一硬盘判断自身是否处于休 眠状态。当该第一硬盘处于休眠状态时,第一执行单元602接收启动马达命令, 按照RAID组的降级方式执行读/写操作。若该第一硬盘处于待机状态,第二执
ii行单元603使该第一硬盘的磁头归位,并执行读/写请求,在此过程中,计数单 元计算单位时间内接收到的读/写请求个数,若单位时间内接收到的读/写请求 个数大于用户设定的门限值,则提高转速。
可以看出,在实现硬盘节能的前提下,当RAID组中某个硬盘接收到读/ 写请求后,该硬盘判断自身是否处于休眠状态,若是,则启动马达,按照RAID 组降级的方式执行读/写操作,否则,说明该硬盘处于第一待机状态或者第二 待机状态,其磁头归位后,该硬盘执行读/写操作,在此过程中,可以按照用 户设定的门限值,提高转速。由此,可以对读/写请求快速响应,减少了对硬 盘性能的影响。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术 语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定
且,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含, 从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、 物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一 个......"限定的要素,并不排除在包括所述要素的过程、方法、物品或者
设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬 件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发 明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式 体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁 碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分 所述的方法。
以上对本发明所提供的一种硬盘节能的方法及装置进行了详细介绍, 例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均 会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种硬盘节能的方法,其特征在于,所述方法包括若第一硬盘在预设的时间内未接收到读/写请求,判断当前处于未激活状态的硬盘个数是否大于允许处于未激活状态的硬盘的最大未激活个数M,所述M为大于等于1的自然数;若当前处于未激活状态的硬盘个数大于所述M,命令所述第一硬盘进入待机状态。
2、 根据权利要求1所述的方法,其特征在于,在所述判断当前处于未激活状态的^:盘个数是否大于允许处于未激活状态的^f更盘的最大未激活个lt M之前,所述方法还包括判断出允许所述第 一硬盘处于节能模式。
3、 根据权利要求1所述的方法,其特征在于,所述方法还包括,若当前处于未激活状态的硬盘个数小于或等于所述M,则命令所述第一 硬盘进入休眠状态。
4、 根据权利要求1所述的方法,其特征在于,处于所述待机状态的第一 硬盘的磁头离开所述第一硬盘的盘片。
5、 根据权利要求4所述的方法,其特征在于,处于所述待机状态的第一 硬盘的盘片的转速降低。
6、 一种硬盘节能的装置,其特征在于,所述装置包括确定单元,用于确定允许处于未激活状态的硬盘的最大未激活个数M, 所述M为大于等于1的自然数;第一判断单元,用于在预设时间内,若第一硬盘未接收到读/写请求,判 断当前处于未激活状态的硬盘个数是否大于所述确定单元确定的所述M;命令单元,用于当所述第一判断单元判断出当前处于未激活状态的硬盘 个数大于所述M时,命令所述第一硬盘进入待机状态。
7、 根据权利要求6所述的装置,其特征在于,当前处于未激活状态的硬盘个数小于或等于所述M,则所述命令单元命令所述第一硬盘进入休眠状态。
8、根据权利要求6所述的装置,其特征在于,所述装置还包括计算单元,用于计算当前进入未激活状态的硬盘个数。
全文摘要
本发明公开了一种硬盘节能的方法及装置。本发明公开的硬盘节能的方法包括若第一硬盘在预设的时间内未接收到读/写请求,判断当前处于未激活状态的硬盘个数是否大于允许处于未激活状态的硬盘的最大未激活个数M,所述M为大于等于1的自然数;若当前处于未激活状态的硬盘个数大于所述M,命令所述第一硬盘进入待机状态。通过本发明,可以在实现硬盘节能的前提下,对读/写请求快速响应。
文档编号G06F1/32GK101446857SQ20081018653
公开日2009年6月3日 申请日期2008年12月25日 优先权日2008年12月25日
发明者巍 张 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1