CN112540728B - 节电存储方法、装置、设备及存储介质 - Google Patents
节电存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112540728B CN112540728B CN202011416780.XA CN202011416780A CN112540728B CN 112540728 B CN112540728 B CN 112540728B CN 202011416780 A CN202011416780 A CN 202011416780A CN 112540728 B CN112540728 B CN 112540728B
- Authority
- CN
- China
- Prior art keywords
- power
- disks
- disk
- saving group
- group
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请提出一种节电存储方法、装置、设备及存储介质,根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。进一步,计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量,在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理,并在该节电组被唤醒的情况下,对该节电组进行读写操作。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种节电存储方法、装置、设备及存储介质。
背景技术
随着信息技术的不断发展,人们在工作和生活中会产生大量的数据,通常情况下会将这些大量的数据存储到存储系统,例如由多个磁盘构成的系统中。
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)可以将相同的数据存储在多个磁盘的不同的地方。并且随着技术的不断发展,RAID技术的版本也在不断更新。例如,独立磁盘冗余数组2.0(Redundant Array of Independent Disks Version2.0,RAID 2.0)是RAID技术的一种较高版本。RAID 2.0的基本思想是把大容量机械磁盘先按照固定的容量切割成多个分块(Chunk),每个磁盘上不同的分块可与其他磁盘上的分块组成不同RAID类型的分块组,这样一个磁盘上的分块可以属于多个RAID类型的多个分块组。另外,基于RAID 2.0技术的存储系统能够在一块磁盘出现故障后,通过其他磁盘进行数据重建或数据重构。
但是,由于RAID 2.0技术不具有节电功能,因此在基于RAID 2.0技术的存储系统包括大量磁盘的情况下,将导致磁盘的耗电量较大,并且影响磁盘的寿命。
发明内容
本申请实施例提供一种节电存储方法、装置、设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种节电存储方法,包括:
根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘;
计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量;
在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理;
在该节电组被唤醒的情况下,对该节电组进行读写操作。
在一种实施方式中,计算该节电组被唤醒之前的在线磁盘的第一数量,包括:
计算该节电组被唤醒之前已存在的磁盘控制对象的总数,每个磁盘控制对象用于描述一个在线磁盘;
将该总数确定为该节电组被唤醒之前的在线磁盘的第一数量。
在一种实施方式中,预测该节电组被唤醒之后的在线磁盘的第二数量,包括:
预测该节电组被唤醒之后需要启动的磁盘数量;
根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量。
在一种实施方式中,预测该节电组被唤醒之后需要启动的磁盘数量,包括:
确定该节电组对应的多个磁盘中已启动的磁盘数量;
根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量。
在一种实施方式中,确定该节电组对应的多个磁盘中已启动的磁盘数量,包括:
确定该节电组对应的多个磁盘中的每个磁盘是否存在对应的磁盘控制对象;
将该节电组对应的多个磁盘中对应有磁盘控制对象的磁盘数量确定为该节电组对应的多个磁盘中已启动的磁盘数量。
在一种实施方式中,根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量,包括:
将该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量的差值确定为该节电组被唤醒之后需要启动的磁盘数量。
在一种实施方式中,根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量,包括:
将该第一数量和该节电组被唤醒之后需要启动的磁盘数量的和值确定为该节电组被唤醒之后的在线磁盘的第二数量。
在一种实施方式中,在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理,包括:
在该第一数量小于该第二数量,且该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。
在一种实施方式中,对该节电组进行唤醒处理,包括:
确定该节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象;
在该多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建该任一磁盘对应的磁盘控制对象,并将该任一磁盘对应的引用计数设置为第二预设值;
对该任一磁盘进行唤醒处理。
在一种实施方式中,该方法还包括:
在该多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将该任一磁盘对应的引用计数增加第三预设值,该任一磁盘对应的引用计数为共用该任一磁盘的节点组的个数。
在一种实施方式中,对该节电组进行读写操作之后,该方法还包括:
对该节电组进行关闭处理。
在一种实施方式中,对该节电组进行关闭处理,包括:
将该节电组对应的多个磁盘中每个磁盘对应的引用计数减小第三预设值,得到该多个磁盘中每个磁盘对应的更新后的引用计数;
在该多个磁盘中任一磁盘对应的更新后的引用计数为0的情况下,对该任一磁盘进行下电处理,并删除该任一磁盘对应的磁盘控制对象。
在一种实施方式中,该节电组对应的多个磁盘与该节电组的相邻节电组对应的多个磁盘有一个磁盘不同。
第二方面,本申请实施例提供了一种节电存储装置,该装置包括:
确定模块,用于根据读写指令,确定需要读写的节电组,所述节电组包括多个分区,所述多个分区中的每个分区分别属于不同的磁盘;
计算模块,用于计算所述节电组被唤醒之前的在线磁盘的第一数量;
预测模块,用于预测所述节电组被唤醒之后的在线磁盘的第二数量;
唤醒处理模块,用于在所述第一数量小于所述第二数量的情况下,对所述节电组进行唤醒处理;
读写操作模块,用于在所述节电组被唤醒的情况下,对所述节电组进行读写操作。
在一种实施方式中,计算模块具体用于:计算该节电组被唤醒之前已存在的磁盘控制对象的总数,每个磁盘控制对象用于描述一个在线磁盘;将该总数确定为该节电组被唤醒之前的在线磁盘的第一数量。
在一种实施方式中,预测模块具体用于:预测该节电组被唤醒之后需要启动的磁盘数量;根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量。
在一种实施方式中,预测模块包括确定单元,确定单元用于:确定该节电组对应的多个磁盘中已启动的磁盘数量;根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量。
在一种实施方式中,确定单元具体用于:确定该节电组对应的多个磁盘中的每个磁盘是否存在对应的磁盘控制对象;将该节电组对应的多个磁盘中对应有磁盘控制对象的磁盘数量确定为该节电组对应的多个磁盘中已启动的磁盘数量。
在一种实施方式中,确定单元具体用于:将该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量的差值确定为该节电组被唤醒之后需要启动的磁盘数量。
在一种实施方式中,确定单元具体用于:将该第一数量和该节电组被唤醒之后需要启动的磁盘数量的和值确定为该节电组被唤醒之后的在线磁盘的第二数量。
在一种实施方式中,唤醒处理模块具体用于:在该第一数量小于该第二数量,且该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。
在一种实施方式中,唤醒处理模块具体用于:确定该节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象;在该多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建该任一磁盘对应的磁盘控制对象,并将该任一磁盘对应的引用计数设置为第二预设值;对该任一磁盘进行唤醒处理。
在一种实施方式中,该装置还包括:引用计数控制模块,用于在该多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将该任一磁盘对应的引用计数增加第三预设值,该任一磁盘对应的引用计数为共用该任一磁盘的节点组的个数。
在一种实施方式中,该装置还包括:关闭处理模块,用于在读写操作模块156对该节电组进行读写操作之后,对该节电组进行关闭处理。
在一种实施方式中,关闭处理模块具体用于:将该节电组对应的多个磁盘中每个磁盘对应的引用计数减小第三预设值,得到该多个磁盘中每个磁盘对应的更新后的引用计数;在该多个磁盘中任一磁盘对应的更新后的引用计数为0的情况下,对该任一磁盘进行下电处理,并删除该任一磁盘对应的磁盘控制对象。
在一种实施方式中,该节电组对应的多个磁盘与该节电组的相邻节电组对应的多个磁盘有一个磁盘不同。
第三方面,本申请实施例提供了一种节电存储设备,该设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。进一步,计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量,在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理,并在该节电组被唤醒的情况下,对该节电组进行读写操作。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例的盘柜的示意图;
图2为本申请一实施例节电组的划分示意图;
图3为本申请另一实施例节电组的划分示意图;
图4为本申请一实施例的节电存储方法流程图;
图5为本申请一实施例的节电存储装置的结构示意图;
图6为本申请另一实施例的节电存储方法流程图;
图7为本申请另一实施例的节电存储方法流程图;
图8为本申请一实施例的预测某节电组被唤醒后的在线磁盘数量的流程图;
图9为本申请一实施例的对某节电组进行读写的流程图;
图10为本申请另一实施例的节电存储方法流程图;
图11为本申请另一实施例的节电存储方法流程图;
图12为本申请一实施例的唤醒某个节电组的流程图;
图13为本申请另一实施例的节电存储方法流程图;
图14为本申请一实施例的关闭某个在线节电组的流程图;
图15为本申请另一实施例的节电存储装置的结构示意图;
图16为本申请一实施例的节电存储设备的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
大规模非活动磁盘阵列存储(Massive Arrays of Idle Disks,MAID)技术是在磁带库工作模式的基础上提出和发展起来的。全球网络存储工业协会(Storage NetworkingIndustry Association,SNIA)对MAID的定义是:包含一系列磁盘驱动器的存储系统,在不需要时单独或按组关闭。MAID存储系统可以减少存储阵列消耗的功率。
磁带库的工作原理是正常状态下所有的磁带都放置在磁带库的槽位中,需要某盘磁带时才将它放在磁带机中,然后进行数据读写。而在大部分时间,大多数磁带是处在非工作状态的。MAID应用了同样的原理,例如在需要时将一部分磁盘开机运转,而其他磁盘通常处于断电状态,就像磁带库中的磁带一样。因此,应用MAID技术的磁盘存储也可以称之为磁盘库。
MAID极大地满足了目前流行的“绿色存储”所要求的绿色、环保和节能的特点。例如,存储设备中的所有磁盘并不是每时每刻都处于激活(Active)和上电(Power ON)状态,而是大部分硬盘处于下电(Power OFF)状态,在系统需要对部分硬盘进行读写访问时,部分硬盘才会重新上电。MAID存储中串口(Serial ATA,SATA)硬盘启动时间大约为10秒。处于上电状态的硬盘经过一定空闲时间(时间段长度可根据系统的访问特点、频度来预先设定)后,根据策略重新下电,从而变成下电状态,以达到节电、环保、延长硬盘使用寿命的功能。
支持硬盘转速自动减速(SPINDOWN)技术与MAID技术类似,都是对于磁盘功耗进行控制的技术。不同之处在于,支持硬盘转速自动减速技术不停止对于磁盘的供电,而是通过关闭磁盘的马达,从而起到节电的作用。另外,支持硬盘转速自动减速技术可使得磁盘在上电和下电之间的切换(唤醒)速度相对于MAID技术会更快。
MAID技术和支持硬盘转速自动减速技术作为磁盘层面的硬件技术,在实际的工程实践中,数据的组织往往需要在磁盘之上再增加一个层次,例如增加调度单元,一个调度单元可以表示一个完整的可读写单位。另外,一个调度单元可以包括一个或多个磁盘,在实际调度过程中,一个调度单元中的一个或多个磁盘可以被同时唤醒或休眠。在以调度单元为粒度对磁盘进行划分的过程中,主流技术包括两种,一种时以磁盘为单位进行调度,另一种以独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)、副本、或纠删为单位进行调度。其中,RAID、副本、纠删分别是不同的用于组织磁盘或硬盘的方式。具体的,以磁盘为单位进行调度的方法记为“磁盘调度法”,以RAID为单位进行调度的方法记为“RAID调度法”。“磁盘调度法”的优点是:调度粒度小,在切换调度单元的过程中磁盘受到的波及小,切换时间短。“磁盘调度法”的缺点是:缺少冗余算法,单盘吞吐量小。“RAID调度法”的优点是:能够提供更高的性能和更高的冗余度。但“RAID调度法”的缺点是调度粒度大,切换时间长。
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)是把相同的数据存储在多个硬盘的不同的地方的方法。因此,RAID是一种冗余地数据存储方法。RAID技术通过把数据放在多个硬盘上,使得输入输出操作能以平衡的方式交叠,从而提高系统性能,同时增加了平均故障间隔时间(Mean Time Between Failure,MTBF)。在大多存储系统中,RAID以物理硬盘为单元。
但对于传统RAID系统而言,在有磁盘损坏的情况下,磁盘重构或重建(Rebuild)过程中数据没有可靠性保障。例如,在重构或重建还未完成的情况下,如果出现坏盘将造成数据丢失,且不可恢复。所以,对于一个存储系统而言,其可靠性的最重要标志就是其RAID重构或重建时间越小越好,从而可以降低重构或重建完成前再次坏盘的概率。早期存储系统大多使用光纤通道(Fibre Channel,FC)盘,FC盘的容量仅为几十个吉字节(Gibibyte,GB),GB可以简写为G。因此重构时间较短,重构中再次坏盘的概率低。但随着硬盘容量的快速增长,硬盘读写速度在磁盘转速等多方面因素的影响之下增长缓慢,已无法满足系统对重构时间的要求。例如,以一块2太字节(Terabyte,TB)、7.2千转每分(Kilo Revolutions Perminute,Krpm)的磁盘为例,重构时平均写入速度为30兆每秒(M/s)左右,重构的时间长达18个小时。因此,重构过程中出现新的坏盘的概率会大大增加,从而导致数据丢失的风险也大大增加。因此,传统RAID技术已无法满足在系统中使用大容量硬盘的要求。但是,随着技术的不断发展,RAID技术的版本也在不断更新。例如,独立磁盘冗余数组2.0(RedundantArray of Independent Disks Version 2.0,RAID 2.0)技术、RAID2.0+技术是RAID技术的较高版本,这些较高版本的技术不但整合了数据保护和跨磁盘规划数据分布的功能,而且充分满足了在虚拟机环境下对存储的应用需求。
具体的,RAID 2.0技术是增强型的RAID技术,有效解决了机械硬盘容量越来越大、重构一块机械硬盘所需时间越来越长、以及由于重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。RAID 2.0技术的基本思想就是把大容量机械硬盘先按照固定的容量切割成多个更小的分块(Chunk),例如分块的大小通常为64MB。RAID组建立在这些小的分块上,而不是某些硬盘上,多个小的分块可以构成分块组(Chunk Group)。此时硬盘间不再组成传统的RAID关系,而是组成更大数量的硬盘组(通常包含96块盘),每个硬盘上不同的分块可与该硬盘组中其他硬盘上的分块构成不同RAID类型的分块组,从而使得一个硬盘上的分块可以属于多个RAID类型的多个分块组。因此,基于RAID 2.0技术的存储系统能够在一块硬盘出现故障的情况下,在硬盘组上的所有硬盘上并发进行重构,而不再是在传统RAID的单个热备盘上进行重构,从而大大降低了重构时间,减少了由于重构窗口的扩大而导致的数据丢失风险。并且在硬盘容量大幅增加的同时还可以确保存储系统的性能和可靠性。
由于RAID 2.0技术并没有改变传统的各种RAID类型的算法,而是把RAID范围缩小到分块组上。因此,RAID 2.0技术具备以下几个技术特征:
1)几个、几十个甚至上百个机械硬盘组成硬盘组。
2)硬盘组中的硬盘被分割成几十兆、上百兆的分块,不同硬盘上的分块可以构成分块组(Chunk Group)。
3)RAID 2.0技术涉及到的计算过程在分块组(Chunk Group)内进行,系统不再具有热备盘,而是被同一分块组内保留的热备块所代替。
但是,由于RAID 2.0技术不具有节电功能,因此在基于RAID 2.0技术的存储系统包括大量磁盘的情况下,将导致磁盘的耗电量较大,并且影响磁盘的寿命。为了解决该问题,本申请实施例提供了一种节电存储方法。具体的,该节电存储方法可以将存储系统中的多个磁盘划分为多个节电组。下面集合具体的图示进行举例说明。
图1所示为存储系统中的多个磁盘的示意图。该存储系统可以称为盘柜。另外,每个磁盘可以包括多个分区,每个分区可以包括多个条块。可以理解的是,每个磁盘包括的分区的个数、以及每个分区包括的条块的个数可以根据具体的硬件情况进行调整。例如,此处以每个磁盘包括4个分区,每个分区包括n个条块为例,该盘柜中包括8个磁盘。其中,盘柜中磁盘的数量大于一个磁盘中分区的数量。此外,条块的概念与上述内容中分块(chunk)的概念相同。
本申请实施例可以将如图1所示的多个磁盘划分为多个节电组,如图2所示为多个磁盘划分为多个节电组的示意图。例如,磁盘1的分区1、磁盘2的分区2、磁盘3的分区3、磁盘4的分区4可以构成节电组1。磁盘2的分区1、磁盘3的分区2、磁盘4的分区3、磁盘5的分区4可以构成节电组2,以此类推。也就是说,节电组的个数与盘柜内的磁盘个数相同,每个节电组的标识例如序号与该节电组中第一个磁盘的序号相同,每个节电组所涉及到的磁盘个数与每个磁盘中的分区个数相同,每个节电组包括的分区个数与每个磁盘中的分区个数相同。如此,无论盘柜中的磁盘个数为多少,均可以采用本实施例所述的划分方法将盘柜中的多个磁盘划分为多个节电组。
另外,为了便于了解相邻的两个节电组之间的关系,本实施例可以在图2的基础上改变每个磁盘中的多个分区在图中的位置,磁盘内部的物理结构可以不变,从而得到如图3所示的多个节电组。也就是说,如图3所示的多个节电组和图2所示的多个节电组是相同的,只是调整了每个磁盘中的多个分区在图中的位置。
可选的,该节电组对应的多个磁盘与该节电组的相邻节电组对应的多个磁盘有一个磁盘不同。例如图3中的节电组1和节电组2是两个相邻的节电组。节电组1所涉及到的磁盘分别为磁盘1、磁盘2、磁盘3和磁盘4,节电组2所涉及到的磁盘分别为磁盘2、磁盘3、磁盘4和磁盘5,即节电组1所涉及到的磁盘和节电组2所涉及到的磁盘中有一个磁盘不同。也就是说,相邻的两个节电组之间存在重复的磁盘。
另外,在本实施例中,每个节电组内部序号相同的条块可以构成一个个逻辑上的广义RAID,例如,没有奇偶校验的条带(RAID 0)、独立磁盘冗余阵列(RAID 1)、分布式奇偶校验的独立磁盘结构(RAID 5)、两种存储的奇偶校验码的磁盘结构(RAID 6)、纠删等。也就是说,每个节电组内部序号相同的条块构成的单元为数据读写的单元,并且同一个节电组内部序号相同的条块属于不同磁盘的不同分区。
可以理解的是,本实施例所述的节电组的划分方法只是一种示意性说明,并不做具体限定,例如,在其他实施例中还可以有其他的划分方法。
下面结合具体的实施例对本申请实施例提供的一种节电存储方法进行详细介绍。
图4示出根据本申请一实施例节电存储方法的流程图。
具体的,本实施例所述的节电存储方法可以适用于如图5所示的节电存储装置。该节电存储装置包括:冗余算法模块、逻辑磁盘模块、物理磁盘模块、电源控制模块。电源控制模块可以包括在线节电组和磁盘控制对象。磁盘控制对象可以包括引用计数。下面分别对该节电存储装置中的每个模块进行介绍。
冗余算法模块,用于实现冗余算法,例如,RAID 0、RAID 1、RAID 5、RAID 6、纠删中的冗余算法。该实现是在逻辑磁盘交付的块设备之上进行的。
逻辑磁盘模块,即图1中所示的分区和条块所代表的层次或层级,用于在物理磁盘模块之上实现分区域读写的功能。
物理磁盘模块具体可以是如上所述的盘柜,物理磁盘模块对应着实际的物理磁盘,向上提供磁盘读写,另外,物理磁盘模块还可以包括具体磁盘的电源控制接口。
电源控制模块是该节电存储装置中的核心模块,用于实现节电组的电源控制向磁盘电源控制的语义翻译、统筹管理节电组的在线状态、以及统筹管理磁盘的在线状态。
在线节电组表示已经被唤醒的节电组即上电状态的节电组。由于每个节电组涉及到多个磁盘,因此,在某个节电组涉及到的多个磁盘均处于上电状态的情况下,可以确定该节电组处于上电状态,即该节电组为在线节电组。在某个节电组涉及到的多个磁盘中至少有一个磁盘处于下电状态的情况下,可以确定该节电组处于下电状态。
一个磁盘控制对象可以对应一个物理磁盘,物理磁盘可以是如图2或图3所示的磁盘。例如,磁盘控制对象1对应磁盘1,磁盘控制对象2对应磁盘2,以此类推。但是在本实施例中,在该物理磁盘处于上电状态的情况下,该物理磁盘对应的磁盘控制对象才可能会出现在电源控制模块中,而处于下电状态的物理磁盘对应的磁盘控制对象不出现在电源控制模块中。另外,处于上电状态的物理磁盘可以记为在线物理磁盘或在线磁盘,一个磁盘控制对象可以是一个在线物理磁盘在电源控制模块内部的描述,该磁盘控制对象可以记录该在线物理磁盘被节电组使用的情况。此外,磁盘控制对象还可以是电源控制模块和物理磁盘模块之间的连接接口,磁盘控制对象可以向电源控制模块提供控制磁盘的方法。
磁盘控制对象中的引用计数用于记录该磁盘控制对象所描述的在线物理磁盘被多少个节电组共用,即引用计数可以描述一个在线物理磁盘被多少个节电组共用的变量。
例如,以如图2或图3所示的节电组1和节电组2在线为例,由于节电组1所涉及到的磁盘分别为磁盘1、磁盘2、磁盘3和磁盘4,节电组2所涉及到的磁盘分别为磁盘2、磁盘3、磁盘4和磁盘5,因此,磁盘1、磁盘2、磁盘3、磁盘4和磁盘5分别为在线物理磁盘。如图5所示的电源控制模块中包括在线节电组1、在线节电组2、磁盘控制对象1、磁盘控制对象2、磁盘控制对象3、磁盘控制对象4、磁盘控制对象5。
在本申请实施例中,如图5所示的节电存储装置可以接收用户的读写指令。其中,读写指令可以理解为读指令和写指令中的至少一个。
如图4所示,该方法可以包括如下几个步骤:
S401、根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。
具体的,节电存储装置可以根据该读写指令,确定需要读写的节电组,即该读写指令对应的节电组。例如,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。另外,该读写指令对应的节电组可能处于上电状态,也可能处于下电状态。在该读写指令对应的节电组处于上电状态的情况下,不需要唤醒该节电组。在该读写指令对应的节电组处于下电状态的情况下,需要唤醒该节电组。
S402、计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量。
进一步,节电存储装置可以计算该读写指令对应的节电组在被唤醒之前的在线磁盘的第一数量,即节电存储装置接收到该读写指令的情况下当前已有的在线磁盘的第一数量。进一步,节电存储装置还可以预测一下该节电组被唤醒之后的在线磁盘的第二数量,即节电存储装置可以计算假设该节电组被唤醒之后的在线磁盘的第二数量。
S403、在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理。
具体的,在该第一数量等于该第二数量的情况下,表示该读写指令对应的节电组在被唤醒之前和被唤醒之后,在线磁盘的数量没有变化,即该节电组涉及到的多个磁盘均已处于上电状态。因此,该读写指令对应的节电组已经处于上电状态,在这种情况下,不需要唤醒该读写指令对应的节电组。
在该第一数量小于该第二数量的情况下,表示该读写指令对应的节电组在被唤醒之后,在线磁盘的数量有所增加,即该节电组中的部分磁盘可能处于下电状态。因此,该读写指令对应的节电组处于下电状态,在这种情况下,需要唤醒该读写指令对应的节电组。进一步,对该读写指令对应的节电组进行唤醒处理。
S404、在该节电组被唤醒的情况下,对该节电组进行读写操作。
例如,在该读写指令对应的节电组被唤醒的情况下,节电存储装置可以进一步对该节电组进行读写操作。
本申请实施例根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。进一步,计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量,在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理,并在该节电组被唤醒的情况下,对该节电组进行读写操作。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
此外,本实施例通过如图5所示的节电存储装置,可以使得磁盘切换时间趋于单盘切换时间,从而可以提供高速的性能和更安全的冗余度。另外,在用户对存储系统中数据的写入方式或读取方式符合预期的情况下,该节电存储装置还可以控制磁盘在数据写入之前或读取数据之前,提前唤醒磁盘,从而提高数据的读写效率。
在上述实施例的基础上,计算该节电组被唤醒之前的在线磁盘的第一数量,包括如图6所示的如下几个步骤:
S601、计算该节电组被唤醒之前已存在的磁盘控制对象的总数,每个磁盘控制对象用于描述一个在线磁盘。
例如,在计算该读写指令对应的节电组在被唤醒之前的在线磁盘的第一数量的过程中,具体可以计算该节电组被唤醒之前,电源控制模块中已存在的磁盘控制对象的总数,如上所述,每个磁盘控制对象用于描述一个在线磁盘。
S602、将该总数确定为该节电组被唤醒之前的在线磁盘的第一数量。
由于每个磁盘控制对象用于描述一个在线磁盘,因此,在该节电组被唤醒之前,电源控制模块中已存在的磁盘控制对象的总数可以作为该节电组被唤醒之前的在线磁盘的第一数量。
可选的,预测该节电组被唤醒之后的在线磁盘的第二数量,包括如图7所示的如下几个步骤:
S701、预测该节电组被唤醒之后需要启动的磁盘数量。
例如,在预测该读写指令对应的节电组被唤醒之后的在线磁盘的第二数量的过程中,可以先预测该节电组被唤醒之后需要启动的磁盘数量。
可选的,预测该节电组被唤醒之后需要启动的磁盘数量,包括:确定该节电组对应的多个磁盘中已启动的磁盘数量;根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量。
例如,该读写指令对应的节电组为图2或图3所示的节电组3。在节电存储装置接收到用户的读写指令的情况下,在线节电组包括节电组1和节电组2,其他节电组处于下电状态。在节电存储装置预测节电组3被唤醒之后需要启动的磁盘数量的过程中,节电存储装置可以确定节电组3所涉及到的多个磁盘中已启动的磁盘数量,进一步根据该节电组3所涉及到的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组3被唤醒之后需要启动的磁盘数量。
可选的,确定该节电组对应的多个磁盘中已启动的磁盘数量,包括:确定该节电组对应的多个磁盘中的每个磁盘是否存在对应的磁盘控制对象;将该节电组对应的多个磁盘中对应有磁盘控制对象的磁盘数量确定为该节电组对应的多个磁盘中已启动的磁盘数量。
例如,节电组3涉及到的多个磁盘包括磁盘3、磁盘4、磁盘5和磁盘6。在确定节电组3涉及到的多个磁盘中已启动的磁盘数量的过程中,具体可以确定磁盘3、磁盘4、磁盘5和磁盘6中的每个磁盘是否存在对应的磁盘控制对象,即检测电源控制模块中是否存在磁盘3、磁盘4、磁盘5和磁盘6中的每个磁盘对应的磁盘控制对象。如果磁盘3、磁盘4、磁盘5和磁盘6中的某个磁盘对应的磁盘控制对象在电源控制模块中,则表示该磁盘为已启动的磁盘即在线物理磁盘或在线磁盘。
例如,在节电组1和节电组2为在线节电组的情况下,磁盘1-磁盘5处于上电状态,电源控制模块中包括磁盘1-磁盘5分别对应的磁盘控制对象。因此,节电组3涉及到的多个磁盘中磁盘3、磁盘4、磁盘5分别为对应有磁盘控制对象的磁盘,即节电组3涉及到的多个磁盘中磁盘3、磁盘4、磁盘5为已启动的磁盘。进一步,确定节电组3涉及到的多个磁盘中已启动的磁盘数量为3。
可选的,根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量,包括:将该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量的差值确定为该节电组被唤醒之后需要启动的磁盘数量。
例如,根据图3可知,在节电组1和节电组2为在线节电组的情况下,磁盘1-磁盘5处于上电状态。由于节电组3涉及到的多个磁盘包括磁盘3、磁盘4、磁盘5和磁盘6。因此,节电组3涉及到的4个磁盘中有3个磁盘,例如磁盘3、磁盘4、磁盘5已启动。进一步,根据节电组3涉及到的多个磁盘的数量例如4、以及节电组3涉及到的多个磁盘中已启动的磁盘数量例如3。因此,可预测出节电组3被唤醒之后需要启动的磁盘数量为1,即节电组3涉及到的多个磁盘的数量4和节电组3涉及到的多个磁盘中已启动的磁盘数量3的差值。另外,根据图3可知,节电组3被唤醒之后需要启动的磁盘为磁盘6。
S702、根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量。
例如,在计算出该节电组被唤醒之前的在线磁盘的第一数量、以及该节电组被唤醒之后需要启动的磁盘数量的情况下,可以根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量。
可选的,根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量,包括:将该第一数量和该节电组被唤醒之后需要启动的磁盘数量的和值确定为该节电组被唤醒之后的在线磁盘的第二数量。
例如,在节电组3被唤醒之前,在线磁盘的第一数量为5。节电组3被唤醒之后需要启动的磁盘数量为1,因此,该节电组被唤醒之后的在线磁盘的第二数量为6,即第一数量5和节电组3被唤醒之后需要启动的磁盘数量1的和值。
本申请实施例通过每个磁盘控制对象用于描述一个在线磁盘,因此,可以将该节电组被唤醒之前已存在的磁盘控制对象的总数作为该节电组被唤醒之前的在线磁盘的第一数量,从而提高了第一数量的计算精度。另外,通过预测该节电组被唤醒之后需要启动的磁盘数量,并根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量,可以提高第二数量的计算精度。进一步,根据第一数量和第二数量可以精确的确定出该读写指令对应的节电组是否需要被唤醒。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
下面结合一个具体的实施例对预测该节电组被唤醒之后的在线磁盘的第二数量的过程进行介绍。如图8所示,该过程包括如下几个步骤:
S801、开始。
S802、令M等于单个节电组涉及到的磁盘数量。
例如,在本实施例中,单个节电组涉及到的磁盘数量具体可以是每个节电组对应的磁盘个数。例如,图2或图3所示,单个节电组涉及到的磁盘数量为4,因此,M等于4。
S803、对读写指令对应的节电组所涉及到的多个磁盘进行遍历访问。
例如,该读写指令对应的节电组为节电组3,节电组3涉及到磁盘3、磁盘4、磁盘5和磁盘6。具体的,可以对磁盘3、磁盘4、磁盘5和磁盘6进行遍历访问。
S804、判断遍历访问是否结束。若是,则执行S807,否则执行S805。
例如,在对磁盘3、磁盘4、磁盘5和磁盘6分别遍历访问之后,可以确定遍历访问结束。
S805、判断电源控制模块中是否存在当前遍历访问到的磁盘对应的磁盘控制对象。若是,则执行S806,否则执行S803。
S806、令M=M-1。
例如,第一次遍历访问的磁盘为磁盘3。在S805中,结合图5可以判断磁盘3对应的磁盘控制对象在电源控制模块中,因此,M=4-1。第二次遍历访问的磁盘为磁盘4,在S805中,结合图5可以判断磁盘4对应的磁盘控制对象在电源控制模块中,因此,M=3-1。第三次遍历访问的磁盘为磁盘5,在S805中,结合图5可以判断磁盘5对应的磁盘控制对象在电源控制模块中,因此,M=2-1,即M=1。第四次遍历访问的磁盘为磁盘6,在S805中,结合图5可以判断磁盘6对应的磁盘控制对象不在电源控制模块中,因此,M最终的值为1。
S807、将电源控制模块中存在的磁盘控制对象的数量记为N,返回M+N。
例如,根据图5可知,电源控制模块中存在的磁盘控制对象的数量为5,即N=5,进一步返回M+N=6。该M+N即为节电组3被唤醒之后的在线磁盘的第二数量。
S808、结束。
本申请实施例通过每个磁盘控制对象用于描述一个在线磁盘,因此,可以将该节电组被唤醒之前已存在的磁盘控制对象的总数作为该节电组被唤醒之前的在线磁盘的第一数量,从而提高了第一数量的计算精度。另外,通过预测该节电组被唤醒之后需要启动的磁盘数量,并根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量,可以提高第二数量的计算精度。进一步,根据第一数量和第二数量可以精确的确定出该读写指令对应的节电组是否需要被唤醒。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
下面结合一个具体的实施例介绍对该读写指令对应的节电组进行读写操作的过程。如图9所示,该过程包括如下几个步骤:
S901、开始。
S902、判断读写指令对应的节电组是否为在线节电组。若是,则执行S904,否则执行S903。
例如,该读写指令对应的节电组为节电组3,通过对该节电组3进行唤醒处理,可使得该节电组3变为在线节电组。在对该节电组3进行读写操作的过程中,可以先判断该节电组3是否为在线节电组。
S903、数据读写报错。
经过S902,判断该节电组3不是在线节电组的情况下,可以进行数据读写报错,例如,数据输入/输出(Input/Output,I/O)报错。
S904、将读写指令放入冗余算法模块进行处理,直至逻辑磁盘模块返回读写成功。
经过S902,判断该节电组3是在线节电组的情况下,可以将该读写指令放入冗余算法模块,使得该读写指令可以经由冗余算法模块、逻辑磁盘模块、物理磁盘模块依次处理。在该读写指令被成功执行的情况下,逻辑磁盘模块可以返回读写成功。具体的,冗余算法可以参照上述内容中涉及到的RAID技术中的冗余算法,此处不再赘述。
S905、结束。
图10示出根据本申请另一实施例节电存储方法的流程图。如图10所示,该方法可以包括:
S1001、根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘。
具体的,S1001和S401的实现过程和具体原理一致,此处不再赘述。
S1002、计算该节电组被唤醒之前的在线磁盘的第一数量,以及预测该节电组被唤醒之后的在线磁盘的第二数量。
具体的,S1002和S402的实现过程和具体原理一致,此处不再赘述。
S1003、在该第一数量小于该第二数量,且该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。
具体的,在该第一数量小于该第二数量的情况下,表示该读写指令对应的节电组在被唤醒之后,在线磁盘的数量有所增加,即该节电组中的部分磁盘可能处于下电状态。进一步,还可以判断该第二数量是否小于或等于第一预设值,并且在该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。也就是说,在预测到该节电组被唤醒之后的在线磁盘的第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。在预测到该节电组被唤醒之后的在线磁盘的第二数量大于第一预设值的情况下,不对该节电组进行唤醒处理。
S1004、在该节电组被唤醒的情况下,对该节电组进行读写操作。
具体的,S1004和S404的实现过程和具体原理一致,此处不再赘述。
本申请实施例通过在该第一数量小于该第二数量的情况下,进一步,判断该第二数量是否小于或等于第一预设值,并且在该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。从而可以避免由于该读写指令对应的节电组被唤醒之后导致在线磁盘的第二数量过大而造成耗电量增大的问题,从而可以有效控制磁盘的耗电量,并可以延长磁盘的寿命。
在上述实施例的基础上,对该节电组进行唤醒处理,包括如图11所示的如下几个步骤:
S1101、确定该节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象。
例如,读写指令对应的节电组为节电组3。进一步可以确定该节电组3对应的多个磁盘中每个磁盘的磁盘控制对象是否已经存在于电源控制模块中。
S1102、在该多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建该任一磁盘对应的磁盘控制对象,并将该任一磁盘对应的引用计数设置为第二预设值。
例如,节电组3对应的多个磁盘分别为磁盘3、磁盘4、磁盘5和磁盘6。磁盘6对应的磁盘控制对象不在电源控制模块中。在这种情况下,可以在电源控制模块中创建磁盘6对应的磁盘控制对象,例如,磁盘控制对象6,并将磁盘控制对象6中的引用计数设置为第二预设值,该第二预设值例如可以是1。
S1103、对该任一磁盘进行唤醒处理。
例如,在电源控制模块中创建磁盘6对应的磁盘控制对象之后,还可以进一步对磁盘6进行唤醒处理,从而使得节电组3可以被唤醒。进一步,还可以将节电组3作为在线节电组记录在电源控制模块中。
可以理解的是,在其他实施例中,可以不限定创建磁盘6对应的磁盘控制对象和对磁盘6进行唤醒处理之间的执行顺序。例如,在磁盘6对应的磁盘控制对象不在电源控制模块的情况下,还可以先对磁盘6进行唤醒处理,进一步在电源控制模块中创建磁盘6对应的磁盘控制对象。或者,创建磁盘6对应的磁盘控制对象和对磁盘6进行唤醒处理还可以并行执行。
S1104、在该多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将该任一磁盘对应的引用计数增加第三预设值,该任一磁盘对应的引用计数为共用该任一磁盘的节点组的个数。
例如,在确定节电组3对应的磁盘3、磁盘4、磁盘5分别对应的磁盘控制对象已存在于电源控制模块的情况下,可以将磁盘控制对象3、磁盘控制对象4、磁盘控制对象5中的每个引用计数分别增加第三预设值,例如,该第三预设值为1。例如,在节电组3被唤醒之前,由于磁盘3被在线节电组1和在线节电组2共用,因此,磁盘控制对象3中的引用计数为2。同理,磁盘控制对象4中的引用计数为2,磁盘控制对象5中的引用计数为1。在对节电组3进行唤醒处理的过程中,由于磁盘3、磁盘4、磁盘5将被节电组3使用,因此,磁盘控制对象3、磁盘控制对象4、磁盘控制对象5中的每个引用计数可以分别加1。
本申请实施例通过确定该节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象,在该多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建该任一磁盘对应的磁盘控制对象,并将该任一磁盘对应的引用计数设置为第二预设值,对该任一磁盘进行唤醒处理。在该多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将该任一磁盘对应的引用计数增加第三预设值,该任一磁盘对应的引用计数为共用该任一磁盘的节点组的个数。从而使得需要进行读写的节电组被唤醒,不需要读写的节电组保持下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
下面通过一个具体的实施例对节电组的唤醒过程进行详细介绍。如图12所示,该过程包括如下几个步骤:
S1201、开始。
S1202、确定读写指令涉及到的节电组。
S1203、对该节电组涉及到的多个磁盘分别对应的磁盘控制对象进行遍历。
S1204、判断遍历是否结束,若是,则执行S1208,否则执行S1205。
S1205、判断当前遍历到的磁盘控制对象是否已经存在于电源控制模块中。若是,则执行S1206,否则执行S1207。
S1206、对当前遍历到的磁盘控制对象中的引用计数加1。
S1207、在电源控制模块中创建该磁盘控制对象,并将该磁盘控制对象中的引用计数设置为初始值1,唤醒该磁盘控制对象对应的物理磁盘。
S1208、结束。
具体的,S1201-S1208的实现过程和具体原理可以参照S1101-S1104,此处不再赘述。另外,本实施例中隐含的条件是节电组与磁盘之间的对应关系可以通过线性计算得出,例如,可以参照如图2或图3。例如,序号为1的节电组,对应的磁盘顺序依次为磁盘1-4。序号为2的节电组,对应的磁盘顺序依次为磁盘2-5,以此类推,序号为8的节电组,对应的磁盘顺序依次为磁盘8、磁盘1-3。具体的,本实施例中涉及到的遍历顺序可以参照节电组对应的磁盘顺序。
在上述实施例的基础上,对该节电组进行读写操作之后,该方法还包括:对该节电组进行关闭处理。例如,对节点组3进行读写操作之后,还可以对节点组3进行关闭处理。
具体的,对该节电组进行关闭处理,包括如图13所示的如下几个步骤:
S1301、将该节电组对应的多个磁盘中每个磁盘对应的引用计数减小第三预设值,得到该多个磁盘中每个磁盘对应的更新后的引用计数。
具体的,在对节点组3进行关闭处理的过程中,可以将节电组3对应的磁盘3、磁盘4、磁盘5分别对应的磁盘控制对象中的引用计数减小第三预设值,例如,该第三预设值为1。
例如,节点组3被唤醒之后,根据上述实施例可知,磁盘控制对象3中的引用计数为3、磁盘控制对象4中的引用计数为3、磁盘控制对象5中的引用计数为2、磁盘控制对象6中的引用计数为1。
在对节点组3进行关闭处理的过程中,可以将磁盘控制对象3、磁盘控制对象4、磁盘控制对象5和磁盘控制对象6中的每个引用计数分别减1,得到磁盘控制对象3、磁盘控制对象4、磁盘控制对象5和磁盘控制对象6分别对应的更新后的引用计数。可以理解的是,磁盘控制对象中的引用计数即是该磁盘控制对象所描述的磁盘对应的引用计数。
S1302、在该多个磁盘中任一磁盘对应的更新后的引用计数为0的情况下,对该任一磁盘进行下电处理,并删除该任一磁盘对应的磁盘控制对象。
例如,将磁盘控制对象3、磁盘控制对象4、磁盘控制对象5和磁盘控制对象6中的每个引用计数分别减1之后,磁盘控制对象6中的引用计数变为0,在这种情况下,可以对磁盘6进行下电处理,并且从电源控制模块中删除磁盘6对应的磁盘控制对象6,从而使得节点组3下电。进一步,还可以从电源控制模块中删除在线节点组3。
本申请实施例通过对节电组进行读写操作之后,对该节电组进行关闭处理,使得不需要读写的节电组进入下电状态,从而在存储系统包括大量磁盘的情况下,可以降低磁盘的耗电量,延长磁盘的寿命。
下面通过一个具体的实施例对某个在线节电组的关闭处理过程进行详细介绍。如图14所示,该过程包括如下几个步骤:
S1401、开始。
S1402、对该在线节电组涉及到的多个磁盘分别对应的磁盘控制对象进行遍历。
S1403、判断遍历是否结束。若是,则执行S1407,否则执行S1404。
S1404、对当前遍历到的磁盘控制对象中的引用计数减1。
S1405、判断引用计数是否为0。若是,则执行S1406,否则执行S1402。
S1406、对当前遍历到的磁盘控制对象所对应的磁盘进行下电处理,并将该磁盘控制对象从电源控制模块中删除。
S1407、从电源控制模块中删除该在线节电组。
S1408、结束。
具体的,S1401-S1408的实现过程和具体原理可以参照S1301-S1302,此处不再赘述。
本申请实施例通过对节电组进行读写操作之后,对该节电组进行关闭处理,使得不需要读写的节电组进入下电状态,从而可以实现电力回收处理,节省电力消耗。
具体的,图8所示的流程可以记为“预测某节电组被唤醒后的在线磁盘数量的流程”,图9所示的流程可以记为“对某节电组进行读写的流程”,图12所示的流程可以记为“唤醒某个节电组的流程”,图14所示的流程可以记为“关闭某个在线节电组的流程”。图8、图9、图12、图14之间的关系可以是:在读写指令涉及到某个节电组的情况下,通过调用图8所示的流程,预测该节电组被唤醒后的在线磁盘数量相比于该节电组被唤醒前的在线磁盘数量是否会增加,在增加的情况下,或者有增加并且该节电组被唤醒后的在线磁盘数量小于第一预设值的情况下,调用图12所示的流程对该节电组进行唤醒处理。在该节电组被唤醒之后,调用图9所示的流程对该节电组进行读写操作。在读写操作完成后,调用图14所示的流程对该节电组进行关闭处理。如果通过调用图8所示的流程,预测出该节电组被唤醒后的在线磁盘数量相比于该节电组被唤醒前的在线磁盘数量没有增加,则可以直接调用图9所示的流程对该节电组进行读写操作,并在读写操作完成后,调用图14所示的流程对该节电组进行关闭处。
综上所述,本实施例可以采用RAID 2.0技术为数据提供冗余保护以及提供性能保证。通过顺序轮转的方式,使得相邻的两个节电组所使用的磁盘只有一块不同,从而可以减少连续输入/输出(Input/Output,I/O)读写时上下电带来的切换开销。另外,通过引用计数来描述节电组对磁盘的使用情况,从而实现节电组上下电和磁盘上下电之间的转换。此外,通过预测某节电组被唤醒后的在线磁盘数目,使得使用者可以通过预先调用方法获取并控制在线磁盘的数目,从而实现节电功能。
图15示出根据本申请一实施例的节电存储装置的结构框图。可以理解的是,图15所示的节电存储装置的结构示意图和图5所示的节电存储装置的结构示意图分别是从不同角度阐述的节电存储装置的结构。如图15所示,该装置150可以包括:
确定模块151,用于根据读写指令,确定需要读写的节电组,该节电组包括多个分区,该多个分区中的每个分区分别属于不同的磁盘;
计算模块152,用于计算该节电组被唤醒之前的在线磁盘的第一数量;
预测模块153,用于预测该节电组被唤醒之后的在线磁盘的第二数量;
唤醒处理模块154,用于在该第一数量小于该第二数量的情况下,对该节电组进行唤醒处理;
读写操作模块155,用于在该节电组被唤醒的情况下,对该节电组进行读写操作。
可选的,计算模块152具体用于:计算该节电组被唤醒之前已存在的磁盘控制对象的总数,每个磁盘控制对象用于描述一个在线磁盘;将该总数确定为该节电组被唤醒之前的在线磁盘的第一数量。
可选的,预测模块153具体用于:预测该节电组被唤醒之后需要启动的磁盘数量;根据该第一数量和该节电组被唤醒之后需要启动的磁盘数量,预测该节电组被唤醒之后的在线磁盘的第二数量。
可选的,预测模块153包括确定单元1531,确定单元1531用于:确定该节电组对应的多个磁盘中已启动的磁盘数量;根据该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量,预测该节电组被唤醒之后需要启动的磁盘数量。
可选的,确定单元1531具体用于:确定该节电组对应的多个磁盘中的每个磁盘是否存在对应的磁盘控制对象;将该节电组对应的多个磁盘中对应有磁盘控制对象的磁盘数量确定为该节电组对应的多个磁盘中已启动的磁盘数量。
可选的,确定单元1531具体用于:将该节电组对应的多个磁盘的数量和该多个磁盘中已启动的磁盘数量的差值确定为该节电组被唤醒之后需要启动的磁盘数量。
可选的,确定单元1531具体用于:将该第一数量和该节电组被唤醒之后需要启动的磁盘数量的和值确定为该节电组被唤醒之后的在线磁盘的第二数量。
可选的,唤醒处理模块154具体用于:在该第一数量小于该第二数量,且该第二数量小于或等于第一预设值的情况下,对该节电组进行唤醒处理。
可选的,唤醒处理模块154具体用于:确定该节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象;在该多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建该任一磁盘对应的磁盘控制对象,并将该任一磁盘对应的引用计数设置为第二预设值;对该任一磁盘进行唤醒处理。
可选的,该装置150还包括:引用计数控制模块156,用于在该多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将该任一磁盘对应的引用计数增加第三预设值,该任一磁盘对应的引用计数为共用该任一磁盘的节点组的个数。
可选的,该装置150还包括:关闭处理模块157,用于在读写操作模块155对该节电组进行读写操作之后,对该节电组进行关闭处理。
可选的,关闭处理模块157具体用于:将该节电组对应的多个磁盘中每个磁盘对应的引用计数减小第三预设值,得到该多个磁盘中每个磁盘对应的更新后的引用计数;在该多个磁盘中任一磁盘对应的更新后的引用计数为0的情况下,对该任一磁盘进行下电处理,并删除该任一磁盘对应的磁盘控制对象。
可选的,该节电组对应的多个磁盘与该节电组的相邻节电组对应的多个磁盘有一个磁盘不同。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图16示出根据本申请一实施例的节电存储设备的结构框图。如图16所示,该节电存储设备包括:存储器1610和处理器1620,存储器1610内存储有可在处理器1620上运行的计算机程序。处理器1620执行该计算机程序时实现上述实施例中的节电存储的方法。存储器1610和处理器1620的数量可以为一个或多个。
该应用程序现场还原设备还包括:
通信接口1630,用于与外界设备进行通信,进行数据交互传输。
如果存储器1610、处理器1620和通信接口1630独立实现,则存储器1610、处理器1620和通信接口1630可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1610、处理器1620及通信接口1630集成在一块芯片上,则存储器1610、处理器1620及通信接口1630可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种节电存储方法,其特征在于,所述方法包括:
根据读写指令,确定需要读写的节电组,所述节电组包括多个分区,所述多个分区中的每个分区分别属于不同的磁盘;其中,所述节电组涉及到的磁盘个数与每个磁盘中的分区个数相同,所述节电组包括的多个分区的个数与所述每个磁盘中的分区个数相同;
计算所述节电组被唤醒之前的在线磁盘的第一数量,以及预测所述节电组被唤醒之后的在线磁盘的第二数量;
在所述第一数量小于所述第二数量,且所述第二数量小于或等于第一预设值的情况下,对所述节电组进行唤醒处理;
在所述节电组被唤醒的情况下,对所述节电组进行读写操作。
2.根据权利要求1所述的方法,其特征在于,计算所述节电组被唤醒之前的在线磁盘的第一数量,包括:
计算所述节电组被唤醒之前已存在的磁盘控制对象的总数,每个磁盘控制对象用于描述一个在线磁盘;
将所述总数确定为所述节电组被唤醒之前的在线磁盘的第一数量。
3.根据权利要求2所述的方法,其特征在于,预测所述节电组被唤醒之后的在线磁盘的第二数量,包括:
预测所述节电组被唤醒之后需要启动的磁盘数量;
根据所述第一数量和所述节电组被唤醒之后需要启动的磁盘数量,预测所述节电组被唤醒之后的在线磁盘的第二数量。
4.根据权利要求3所述的方法,其特征在于,预测所述节电组被唤醒之后需要启动的磁盘数量,包括:
确定所述节电组对应的多个磁盘中已启动的磁盘数量;
根据所述节电组对应的多个磁盘的数量和所述多个磁盘中已启动的磁盘数量,预测所述节电组被唤醒之后需要启动的磁盘数量。
5.根据权利要求4所述的方法,其特征在于,确定所述节电组对应的多个磁盘中已启动的磁盘数量,包括:
确定所述节电组对应的多个磁盘中的每个磁盘是否存在对应的磁盘控制对象;
将所述节电组对应的多个磁盘中对应有磁盘控制对象的磁盘数量确定为所述节电组对应的多个磁盘中已启动的磁盘数量。
6.根据权利要求4所述的方法,其特征在于,根据所述节电组对应的多个磁盘的数量和所述多个磁盘中已启动的磁盘数量,预测所述节电组被唤醒之后需要启动的磁盘数量,包括:
将所述节电组对应的多个磁盘的数量和所述多个磁盘中已启动的磁盘数量的差值确定为所述节电组被唤醒之后需要启动的磁盘数量。
7.根据权利要求3所述的方法,其特征在于,根据所述第一数量和所述节电组被唤醒之后需要启动的磁盘数量,预测所述节电组被唤醒之后的在线磁盘的第二数量,包括:
将所述第一数量和所述节电组被唤醒之后需要启动的磁盘数量的和值确定为所述节电组被唤醒之后的在线磁盘的第二数量。
8.根据权利要求1所述的方法,其特征在于,对所述节电组进行唤醒处理,包括:
确定所述节电组对应的多个磁盘中每个磁盘是否存在对应的磁盘控制对象;
在所述多个磁盘中任一磁盘对应的磁盘控制对象不存在的情况下,创建所述任一磁盘对应的磁盘控制对象,并将所述任一磁盘对应的引用计数设置为第二预设值;
对所述任一磁盘进行唤醒处理。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述多个磁盘中任一磁盘对应的磁盘控制对象已存在的情况下,将所述任一磁盘对应的引用计数增加第三预设值,所述任一磁盘对应的引用计数为共用所述任一磁盘的节点组的个数。
10.根据权利要求1至9中任一项所述的方法,其特征在于,对所述节电组进行读写操作之后,所述方法还包括:
对所述节电组进行关闭处理。
11.根据权利要求10所述的方法,其特征在于,对所述节电组进行关闭处理,包括:
将所述节电组对应的多个磁盘中每个磁盘对应的引用计数减小第三预设值,得到所述多个磁盘中每个磁盘对应的更新后的引用计数;
在所述多个磁盘中任一磁盘对应的更新后的引用计数为0的情况下,对所述任一磁盘进行下电处理,并删除所述任一磁盘对应的磁盘控制对象。
12.一种节电存储装置,其特征在于,所述装置包括:
确定模块,用于根据读写指令,确定需要读写的节电组,所述节电组包括多个分区,所述多个分区中的每个分区分别属于不同的磁盘;其中,所述节电组涉及到的磁盘个数与每个磁盘中的分区个数相同,所述节电组包括的多个分区的个数与所述每个磁盘中的分区个数相同;
计算模块,用于计算所述节电组被唤醒之前的在线磁盘的第一数量;
预测模块,用于预测所述节电组被唤醒之后的在线磁盘的第二数量;
唤醒处理模块,用于在所述第一数量小于所述第二数量,且所述第二数量小于或等于第一预设值的情况下,对所述节电组进行唤醒处理;
读写操作模块,用于在所述节电组被唤醒的情况下,对所述节电组进行读写操作。
13.一种应用程序现场还原设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416780.XA CN112540728B (zh) | 2020-12-07 | 2020-12-07 | 节电存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416780.XA CN112540728B (zh) | 2020-12-07 | 2020-12-07 | 节电存储方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540728A CN112540728A (zh) | 2021-03-23 |
CN112540728B true CN112540728B (zh) | 2022-04-01 |
Family
ID=75016181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011416780.XA Active CN112540728B (zh) | 2020-12-07 | 2020-12-07 | 节电存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540728B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446857A (zh) * | 2008-12-25 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种硬盘节能的方法及装置 |
CN104615381A (zh) * | 2015-01-18 | 2015-05-13 | 浙江宇视科技有限公司 | 一种视频监控系统的磁盘冗余阵列 |
CN107209712A (zh) * | 2015-11-16 | 2017-09-26 | 华为技术有限公司 | 存储系统、存储设备及硬盘调度方法 |
CN109491613A (zh) * | 2018-11-13 | 2019-03-19 | 深圳龙岗智能视听研究院 | 一种持续数据保护存储系统及其使用该系统的存储方法 |
CN111459261A (zh) * | 2020-04-03 | 2020-07-28 | 北京云宽志业网络技术有限公司 | 磁盘唤醒方法、装置、电子设备及存储介质 |
CN111552439A (zh) * | 2020-04-24 | 2020-08-18 | 北京云宽志业网络技术有限公司 | 数据存储方法、装置、系统、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7216244B2 (en) * | 2004-02-25 | 2007-05-08 | Hitachi, Ltd. | Data storage system with redundant storage media and method therefor |
JP5060876B2 (ja) * | 2007-08-30 | 2012-10-31 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの消費電力低減方法 |
KR101303535B1 (ko) * | 2009-12-04 | 2013-09-03 | 한국전자통신연구원 | 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 |
-
2020
- 2020-12-07 CN CN202011416780.XA patent/CN112540728B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446857A (zh) * | 2008-12-25 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种硬盘节能的方法及装置 |
CN104615381A (zh) * | 2015-01-18 | 2015-05-13 | 浙江宇视科技有限公司 | 一种视频监控系统的磁盘冗余阵列 |
CN107209712A (zh) * | 2015-11-16 | 2017-09-26 | 华为技术有限公司 | 存储系统、存储设备及硬盘调度方法 |
CN109491613A (zh) * | 2018-11-13 | 2019-03-19 | 深圳龙岗智能视听研究院 | 一种持续数据保护存储系统及其使用该系统的存储方法 |
CN111459261A (zh) * | 2020-04-03 | 2020-07-28 | 北京云宽志业网络技术有限公司 | 磁盘唤醒方法、装置、电子设备及存储介质 |
CN111552439A (zh) * | 2020-04-24 | 2020-08-18 | 北京云宽志业网络技术有限公司 | 数据存储方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112540728A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7330931B2 (en) | Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system | |
CN106528001B (zh) | 一种基于非易失性存储器和软件raid的缓存系统 | |
CN101604251B (zh) | 多同位储存系统中更新实体储存装置控制程序的方法 | |
US9368130B2 (en) | Data storage system, method of writing to storage in the data storage system, hard disk and method of forming the hard disk | |
CN104516471B (zh) | 一种管理存储器系统的电源的方法和装置 | |
US7792882B2 (en) | Method and system for block allocation for hybrid drives | |
CN102508724B (zh) | 一种基于软raid的磁盘坏块处理方法 | |
US7840657B2 (en) | Method and apparatus for power-managing storage devices in a storage pool | |
US20130159651A1 (en) | Storage system and storage migration method | |
US20080270719A1 (en) | Method and system for efficient snapshot operations in mass-storage arrays | |
CN103455449B (zh) | 非易失性存储介质访问方法、数据更新方法及设备 | |
JP2000305860A (ja) | 情報記憶システム及び同システムに於ける記憶制御方法 | |
CN103207883A (zh) | 用于元数据持久存储的方法 | |
CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
CN111858189B (zh) | 对存储盘离线的处理 | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
CN104615381B (zh) | 一种视频监控系统的磁盘冗余阵列 | |
US20130117603A1 (en) | Method for completing write operations to a raid drive pool with an abnormally slow drive in a timely fashion | |
CN112540728B (zh) | 节电存储方法、装置、设备及存储介质 | |
Shu | Data Storage Architectures and Technologies | |
JP2012203437A (ja) | ストレージ装置、方法及びプログラム | |
CN101408854A (zh) | 逻辑卷管理器的数据备份系统及其方法 | |
CN115495287B (zh) | 一种mlc nand的备份数据方法、装置及电子设备 | |
CN117234436B (zh) | 一种磁盘阵列的扩容方法、装置、存储系统及产品 | |
US20250068338A1 (en) | Power consumption reduction in storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |