具体实施方式
本发明实施例提供了一种用于硬盘设备的节能方法和节能装置,可以减少硬盘在激活状态下的能量消耗,延长硬盘设备的使用寿命。
为了便于对本发明实施例进一步的理解,下面结合附图对本发明实施例进行详细的介绍。
实施例一:
请参阅图1,图1为本发明实施例一提供的一种用于硬盘设备的节能方法的流程图。如图1所示,本实施例提供的节能方法可以包括:
步骤101:在硬盘设备激活状态下,获取硬盘设备中每一行存储芯片的用于表明是否存储数据的预设标识。
所述硬盘设备中每一行存储芯片的预设标识在该行存储芯片存储数据时,被置于表明该行存储芯片存储数据;反之,若该行存储芯片没有存储数据,被置于表明该行存储芯片没有存储数据。
所述获取硬盘设备中每一行存储芯片的预设标识具体可以是:
在硬盘设备激活状态下,获取硬盘设备中每一行存储芯片的逻辑地址对应的物理地址;
根据物理地址与预设标识之间的对应关系获取每一行存储芯片的预设标识。
目前的硬盘设备中普遍存在每一行存储芯片的逻辑地址与物理地址之间的对应关系,在此基础之上,建立每一行存储芯片的物理地址与该行存储芯片的预设标识之间的对应关系,可以在硬盘设备处于激活状态时,方便地获取硬盘设备中每一行存储芯片的预设标识。
步骤102:根据每一行存储芯片的预设标识判断该行存储芯片是否存储数据,如果否,则将该行存储芯片置于休眠状态。
其中,可以根据预设标识的取值来表明该行存储芯片是否存储数据。例如,表示该行存储芯片存储数据时,预设标识可以为1;表示该行存储芯片没有存储数据时,预设标识可以为0,从而可根据预设标识判断所述的存储芯片是否存储数据,从而决定是否将该行存储芯片置于休眠状态。
也可以将预设标识取值为1时,表示该行存储芯片存储数据;预设标识取值不为1时表示该行存储芯片没有存储数据,本发明实施例在此不作限定。
所述将该行存储芯片置于休眠状态具体可以为:
将该行存储芯片的片选信号置高位,如将该行存储芯片的片选信号置1;
将该行存储芯片的写保护信号置低位,如将该行存储芯片的写保护信号置0。
其中,根据所述预设标识判断该行存储芯片是否存储数据,如果是,则将该行存储芯片置于激活状态。
所述将该行存储芯片置于激活状态具体可以为:
将该行存储芯片的片选信号置低位,如将该行存储芯片的片选信号置0;
将该行存储芯片的写保护信号置高位,如将该行存储芯片的写保护信号置1。
其中,所述存储芯片的片选信号置高位和存储芯片的写保护信号置低位可以使该行存储芯片进入休眠状态以及所述存储芯片的片选信号置低位和存储芯片的写保护信号置高位可以使该行存储芯片进入激活状态是由硬盘中存储芯片的结构布置决定的,也是本领域普通技术人员熟悉的。
举个例子,当硬盘设备处于激活状态时,主机可以往硬盘设备的每一行存储芯片存储数据(一般是按顺序方式存储)。主机根据表1所示的存储芯片的逻辑地址与物理地址对应关系,找到物理地址相应的行存储芯片,将数据存储于该行存储芯片;同时,建立表2所示的存储芯片的物理地址与预设标识的对应关系。
若主机将数据存储在硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片上,而第5行后面的各行存储芯片上没有存储任何数据。此时,在建立如表2所示的存储芯片的物理地址与预设标识的对应关系,第1行、第2行、第3行以及第4行的存储芯片的预设标识取值为1,而第5行后面的各行存储芯片的预设标识取值为0。
当硬盘设备处于激活状态下,根据表1所示的存储芯片的逻辑地址与物理地址对应关系,可以获得第1行、第2行、第3行以及第4行存储芯片的物理地址分别为:1、2、3、4;根据表2所示的存储芯片的物理地址与预设标识之间的对应关系可以获得第1行、第2行、第3行以及第4行的存储芯片的预设标识取值为1,而从第5行开始到最后的第N行的各行存储芯片的预设标识取值为0。
行号 | 逻辑地址 | 物理地址 |
1 | 1000 | 1 |
2 | 1001 | 2 |
3 | 1002 | 3 |
4 | 1003 | 4 |
5 | 1004 | 5 |
… | … | … |
N | N | N |
表1
物理地址 | 预设标识 |
1 | 1 |
2 | 1 |
3 | 1 |
4 | 1 |
5 | 0 |
… | … |
N | 0 |
表2
根据表2所示的存储芯片的物理地址与预设标识之间的对应关系可以将第1行、第2行、第3行以及第4行的存储芯片的片选信号置0;同时将第1行、第2行、第3行以及第4行的存储芯片的写保护信号置1,使第1行、第2行、第3行以及第4行的存储芯片进入激活状态。
根据表2所示的存储芯片的物理地址与预设标识之间的对应关系可以将第5行至最后的第N行的各行存储芯片的片选信号置1;同时将第5行至最后的第N行的各行存储芯片的写保护信号置0,使第5行至最后的第N行的各行存储芯片进入休眠状态。
当主机需要将数据存储于第5行至最后的第N行中的某一行存储芯片时,可以将该行存储芯片的片选信号置0;同时将该行存储芯片的写保护信号置1,使该行存储芯片进入激活状态,同时在表2中,将该行存储芯片对应的预设标识取值为1。
上述对本发明实施例提供的一种用于硬盘设备的节能方法进行了介绍,本发明实施例提供的节能方法可以根据每一行存储芯片预设标识判断该行存储芯片是否存储数据,如果否,则将该行存储芯片置于休眠状态,从而可以减少硬盘在激活状态下的能量消耗,延长硬盘设备的使用寿命。
实施例二:
请参阅图2,图2为本发明实施例二提供的一种用于硬盘设备的节能方法的流程图。在硬盘设备的运行过程中,主机往往不可能经常在整个硬盘设备的范围内操作读写数据,而是有选择性的经常在硬盘设备的某些区域块内进行操作读写数据。本实施例提供的节能方法适用于主机经常在硬盘设备的某些区域块内进行操作读写数据的情况。如图2所示,本实施例提供的节能方法可以包括:
步骤201:在硬盘设备激活状态下,统计每一行存储芯片的访问次数。
在硬盘设备激活状态下,当检测到主机访问某一行存储芯片时,记录主机访问该行存储芯片的次数。
步骤202:在硬盘设备激活状态下,获取硬盘设备中每一行存储芯片的预设标识,所述预设标识表明该行存储芯片是否存储数据。
所述获取硬盘设备中每一行存储芯片预设的读写标识具体可以是:
在硬盘设备激活状态下,获取硬盘设备中每一行存储芯片的逻辑地址对应的物理地址;
根据物理地址与预设标识之间的对应关系获取每一行存储芯片的预设标识。
步骤203:根据每一行存储芯片的预设标识判断该行存储芯片是否存储数据,如果是,则执行步骤204;如果否,则执行步骤206。
可以根据预设标识的取值来表明该行存储芯片是否存储数据。例如,表示该行存储芯片存储数据时,预设标识可以为1;表示该行存储芯片没有存储数据时,预设标识可以为0,从而可根据预设标识判断所述的存储芯片是否存储数据,从而决定是否将该行存储芯片置于休眠状态。
也可以将预设标识取值为1时,表示该行存储芯片存储数据;预设标识取值不为1时表示该行存储芯片没有存储数据,本发明实施例在此不作限定。
步骤204:比较该行存储芯片的访问次数是否大于或等于预设的阈值,如果是,则执行步骤205;如果否,则执行步骤206。
如果该存储芯片的被访问次数大于或等于预设的阈值,则说明主机经常访问该行存储芯片,将该行存储芯片置于激活状态;反之,如果该存储芯片的被访问次数小于预设的阈值,则说明主机不经常访问该行存储芯片,将该行存储芯片置于休眠状态。
步骤205:将该行存储芯片置于激活状态。
所述将该行存储芯片置于激活状态具体可以为:
将该行存储芯片的片选信号置低位,如将该行存储芯片的片选信号置0;
将该行存储芯片的写保护信号置高位,如将该行存储芯片的写保护信号置1。
步骤206:将该行存储芯片置于休眠状态。
所述将该行存储芯片置于休眠状态具体可以为:
将该行存储芯片的片选信号置高位,如将该行存储芯片的片选信号置1;
将该行存储芯片的写保护信号置低位,如将该行存储芯片的写保护信号置0。
举个例子,假如预设的阈值大小为50次,根据表3所示的存储芯片的物理地址与被访问次数的对应关系可以看出,硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片的主机访问次数大于或等于预设的阈值50,则说明主机经常访问硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片;而从第5行开始到最后的第N行的存储芯片的主机访问次数小于预设好的阈值50,则说明主机不经常访问从第5行开始到最后的第N行的存储芯片。
现有的硬盘设备中普遍存在每一行存储芯片的逻辑地址与物理地址之间的对应关系,在此基础之上,可以建立每一行存储芯片的物理地址与该行存储芯片的访问次数之间的对应关系,如表3所示。当硬盘设备处于激活状态时,可以通过表1所述的存储芯片的逻辑地址与物理地址对应关系,获取每一行存储芯片的物理地址;再根据表3所示的每一行存储芯片的物理地址与该行存储芯片的访问次数之间的对应关系,可以方便地获取每一行存储芯片的访问次数。
物理地址 | 访问次数 |
1 | 50 |
2 | 100 |
3 | 60 |
4 | 80 |
5 | 20 |
表3
根据表3所示的列表可以将第1行、第2行、第3行以及第4行的存储芯片的片选信号置0;同时将第1行、第2行、第3行以及第4行的存储芯片的写保护信号置1,使第1行、第2行、第3行以及第4行的存储芯片进入激活状态。
根据表3所示的列表可以将第5行至最后的第N行的各行存储芯片的片选信号置1;同时将第5行至最后的第N行的各行存储芯片的写保护信号置0,使第5行至最后的第N行的各行存储芯片进入休眠状态。
需要说明的是,可以根据需要设置阈值的大小,本发明实施例仅为了便于介绍取50作为预设的阈值,本发明实施例在此不作限定。
当主机需要访问第5行至最后的第N行中的某一行存储芯片时,可以将该行存储芯片的片选信号置0;同时将该行存储芯片的写保护信号置1,使该行存储芯片进入激活状态,同时在表2中,将该行存储芯片对应的预设标识取值为1,并统计主机访问该行存储芯片的次数。
上述对本发明实施例提供的一种用于硬盘设备的节能方法进行了介绍,本发明实施例可以在硬盘设备激活状态下根据每一行存储芯片预设标识判断该行存储芯片是否存储数据,若该行存储芯片存储数据,则比较该行存储芯片的访问次数是否大于或等于预设阈值,若该行存储芯片的访问次数小于预设阈值,则说明该行存储芯片不被经常访问,将该行存储芯片置于休眠状态,从而减少硬盘在激活状态下的能量消耗,延长硬盘设备的使用寿命。
实施例三:
请参阅图3,图3为本发明实施例三提供的一种节能装置的逻辑结构示意图。本实施例提供的节能装置可以包括:
获取模块301,用于在硬盘设备激活状态下,取硬盘设备中每一行存储芯片的用于表明是否存储数据的预设标识。
所述硬盘设备中每一行存储芯片的预设标识在该行存储芯片存储数据时,被置于表明该行存储芯片存储数据;反之,若该行存储芯片没有存储数据,被置于表明该行存储芯片没有存储数据。
目前的硬盘设备中普遍存在每一行存储芯片的逻辑地址与物理地址之间的对应关系,在此基础之上,建立每一行存储芯片的物理地址与该行存储芯片的预设标识之间的对应关系,可以在硬盘设备处于激活状态时,方便地获取硬盘设备中每一行存储芯片的预设标识。
所述获取模块301可以获取每一行存储芯片的逻辑地址对应的物理地址;
根据物理地址与预设标识之间的对应关系获取每一行存储芯片预设标识。
判断模块302,用于根据所述获取模块301获取的每一行存储芯片的预设标识判断该行存储芯片是否存储数据。
可以根据预设标识的取值来表明该行存储芯片是否存储数据。例如,表示该行存储芯片存储数据时,预设标识可以为1;表示该行存储芯片没有存储数据时,预设标识可以为0,从而可根据预设标识判断所述的存储芯片是否存储数据,从而决定是否将该行存储芯片置于休眠状态。
也可以将预设标识取值为1时,表示该行存储芯片存储数据;预设标识取值不为1时表示该行存储芯片没有存储数据,本发明实施例在此不作限定。
控制模块303,用于在所述判断模块302的判断结果为该行存储芯片不存储数据时,将该行存储芯片置于休眠状态。
其中,所述控制模块303可以包括:
第一片选模块3031,用于在所述判断模块302的判断结果为该行存储芯片不存储数据时,将该行存储芯片的片选信号置高位;如将该行存储芯片的片选信号置1;
第二片选模块3032,用于在所述判断模块302的判断结果为该行存储芯片不存储数据时,将该行存储芯片的写保护信号置低位,如将该行存储芯片的写保护信号置0,从而将该行存储芯片置于休眠状态。
若所述判断模块302的判断结果为该行存储芯片存储数据时,所述控制模块303的所述第一片选模块3031还用于将该行存储芯片的片选信号置低位,如将该行存储芯片的片选信号置0;
所述第二片选模块3032,用于将该行存储芯片的写保护信号置高位,如将该行存储芯片的写保护信号置1,从而将该行存储芯片置于激活状态。
举个例子,所述获取模块301从表2所示的存储芯片的物理地址与预设标识的对应关系中获取每一行存储芯片的预设标识;所述判断模块302判断所述获取模块301获取的硬盘设备中的第1行、第2行、第3行以及第4行的存储芯片的预设标识取值为1,而第5行后面的各行存储芯片的预设标识取值为0;说明硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片上存储数据,而第5行后面的各行存储芯片上没有存储任何数据。所述控制模块303的所述第一片选模块3031将第1行、第2行、第3行以及第4行的存储芯片的片选信号置0;同时,所述第二片选模块3032将第1行、第2行、第3行以及第4行的存储芯片的写保护信号置1,使第1行、第2行、第3行以及第4行的存储芯片进入激活状态;所述第一片选模块3031将第5行至最后的第N行的各行存储芯片的片选信号置1;同时,所述第二片选模块3032将第5行至最后的第N行的各行存储芯片的写保护信号置0,使第5行至最后的第N行的各行存储芯片进入休眠状态。
根据本发明实施例提供的节能装置,还可以包括:
统计模块304,用于在硬盘设备激活状态下,统计每一行存储芯片的访问次数;
比较模块305,用于在所述判断模块302的判断结果为该行存储芯片存储数据时,比较该行存储芯片的访问次数是否大于或等于预设的阈值;
所述控制模块303,用于在所述比较模块305的比较结果为该行存储芯片的访问次数小于所述预设的阈值时,将该行存储芯片置于休眠状态;反之,如果该行存储芯片的访问次数大于或等于所述预设的阈值时,将该行存储芯片置于激活状态。
在硬盘的运行过程中,主机往往不可能经常在整个硬盘设备的范围内操作读写数据,而是有选择性的经常在硬盘设备的某些区域块内进行操作读写数据。本实施例提供的节能装置同样适用于主机经常在硬盘设备的某些区域块内进行操作读写数据的情况。
举个例子,用于在硬盘设备激活状态下,所述统计模块304统计主机访问的每一行存储芯片的次数,如表3所示;所述比较模块305根据表3所示的存储芯片的物理地址与访问次数的对应关系比较硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片的主机访问次数大于或等于预先设置好的阈值50,则说明主机经常访问硬盘设备中的第1行、第2行、第3行以及第4行的某些存储芯片;比较从第5行开始到最后的第N行的存储芯片的主机访问次数小于预先设置好的阈值50,则说明主机不经常访问从第5行开始到最后的第N行的存储芯片;所述控制模块303的所述第一片选模块3031将第1行、第2行、第3行以及第4行的存储芯片的片选信号置0;同时,所述第二片选模块3032将第1行、第2行、第3行以及第4行的存储芯片的写保护信号置1,使第1行、第2行、第3行以及第4行的存储芯片进入激活状态;所述控制模块303的所述第一片选模块3031将第5行至最后的第N行的各行存储芯片的片选信号置1;同时,所述第二片选模块3032将第5行至最后的第N行的各行存储芯片的写保护信号置0,使第5行至最后的第N行的各行存储芯片进入休眠状态。
当主机需要将数据存储于第5行至最后的第N行中的某一行存储芯片时,所述控制模块303的所述第一片选模块3031将该行存储芯片的片选信号置0;同时,所述第二片选模块3032将该行存储芯片的写保护信号置1,使该行存储芯片进入激活状态,同时在表2中,将该行存储芯片对应的预设标识取值为1;同时,在表3中记录该行存储芯片的访问次数。
上述对本发明实施例三的一种节能装置进行了详细介绍,本发明实施例可以在硬盘设备激活状态下根据每一行存储芯片的预设标识判断该行存储芯片是否存储数据,若该行没有存储数据则将该行置于休眠状态;本发明实施例还可以在该行存储芯片存储数据时,进一步判断该行存储芯片的访问次数是否大于或等于预设阈值,若该行存储芯片的访问次数小于预设阈值,则说明该行存储芯片不被经常访问,将该行存储芯片置于休眠状态,从而减少硬盘在激活状态下的能量消耗,延长硬盘设备的使用寿命。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明实施例提供的一种用于硬盘设备的节能方法和节能装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。