首页> 中国专利> 在万一失去电力时维护固态存储器内数据冗余方案的系统和方法

在万一失去电力时维护固态存储器内数据冗余方案的系统和方法

摘要

本发明的实施例涉及降低数据冗余方案的电力失效安全保护所需的备用电力的量的系统和方法。该数据冗余方案,诸如RAID,被实现在固态存储装置中,其中新写入数据被积累并且与奇偶数据一起写入。因为不能确保新写入数据以条大小的整数倍到达,所以当失去供电时可能不存在用于新写入数据的完整条。各个实施例使用截断的RAID条(每个条有更少的存储元件)以在发生供电故障时储存缓存的写入数据。即使可能不存在写入数据的完整条,该方法也允许系统在供电故障缓存器清除的情况下维持RAID奇偶校验数据保护,从而降低在失去电力事件中维持奇偶保护所需要的备用电力的量。

著录项

  • 公开/公告号CN102662791A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 西部数据技术公司;

    申请/专利号CN201110430309.0

  • 发明设计人 R·L·霍恩;

    申请日2011-12-14

  • 分类号G06F11/14(20060101);

  • 代理机构11245 北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-04-22

    授权

    授权

  • 2014-01-15

    实质审查的生效 IPC(主分类):G06F11/14 申请日:20111214

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

背景技术

诸如硬盘和固态驱动器的很多数据存储元件具有制造商向顾客提供的 广告的某些可靠性保证。例如,某些固态驱动器制造商保证10-16或者10-17 的驱动器故障率。为了增加数据可靠性,使用诸如RAID(独立磁盘冗余 阵列)的数据冗余方案来增加存储可靠性。可以通过将存储装置中的多个 存储元件组合为提供镜像和/或误差校验机制的组来提供冗余。例如,固态 存储装置的各种存储器块可以被组合为条,其中存储用户数据。

发明内容

附图说明

下面将参照附图描述实现本发明的各个特征的系统和方法,其中:

图1是说明根据一个实施例的实现具有失去电力恢复机制的数据冗 余方案的存储子系统的框图。

图2是示出根据一个实施例的在如果系统停机时保护数据可靠性的 处理的流程图。

图3到图5说明在一个实施例中使用的部分数据条写入机制的示例。

具体实施例

尽管描述了本发明的特定实施例,但是这些实施例仅作为示例呈现, 而不旨在限制本发明的范围。实际上,本文描述的新颖方法和系统可以在 各种其它形式中体现。此外,可以对本文描述的方法和系统的形式进行各 种省略、替代和修改而不背离本发明的实质。所附的权利要求和等同物旨 在覆盖这种形式或者修改,因为将落入本发明的范围和实质。

概述

本发明的实施例涉及降低提供数据冗余方案的电力失效安全保护所 需的备用电力的量的系统和方法,该数据冗余方案,诸如RAID,被实 现在非易失性固态存储装置中。

克服存储元件故障的常见方式是使用冗余RAID(镜像、奇偶等) 以在发生一个或者更多个故障(例如,读取故障)时允许数据恢复。通 常,每个条的目标数量的存储元件(即,扇区、闪存页等)被选择,从 而以给定成本的存储开销实现期望的可靠性。在基于闪存的/固态存储系 统中,不能支持读取修改写入标准方式用于写入部分条。相反,新写入 数据被积累并且与奇偶校验数据一起写入。该新写入数据可以来自主机 写入命令和/或系统数据写入。因为不能确保新写入数据以条大小的整数 倍到达,所以当失去电力时用于新写入数据的完整条可能不存在。

在即使失去电力也必须确保在非易失性介质上写入数据安全的系统 中,通常方式是提供临时电源,诸如电容充电,以在失去电力之后将写 入缓存数据保存在非易失性存储器介质上。这种电源的成本随着用于可 靠电力故障处理要求的时间量的增加而增加。

本发明的各个实施例通过使用截断的RAID条(每个条更少的存储元 件)最小化供电故障处理时间,以当发生供电故障时保存缓存的写入数据。 即使写入缓存器中可能不存在完整条的写入数据,该方法也允许系统维持 供电故障缓存器清除情况下的RAID奇偶校验数据保护。在一个实施例中, 在紧接着部分条中的数据被写入之后的页面中写入奇偶校验数据。在万一 失去电力时截断的条或者部分条的写入降低需要的写入操作的量,由此降 低在万一失去电力时维持数据奇偶校验保护所需要的备用电力的量。该降 低的备用电力需求转而降低实现整体存储子系统设计的成本。

系统概述

图1是说明根据一个实施例的实现具有失去电力恢复机制的数据冗余 方案的存储子系统的框图。如图所示,存储子系统140包括控制器150和 一个或者更多个非易失性固态存储器阵列160。一个实施例中的控制器150 来包括RAID模块158和写入缓存器164,其可以用诸如DRAM(动态随 机存取存储器)的易失性存储器实现。在另一个实施例中,写入缓存器164 在存储子系统140中的控制器150之外。在一个实施例中,RAID模块158 被配置以执行数据存取命令,从而维持存储子系统中的数据冗余方案。例 如,RAID模块158可以维持数据,该数据关于哪些数据元件分配到哪些 RAID条,并且确定在数据冗余方案中如何排列数据(例如分组为具有奇 偶校验的条)。在一个实施例中,存储子系统140还包括备用电源156以当 常规电源(例如,来自主机系统130)被中断时向存储子系统140提供电 力。备用电源156可以是电容型充电,其存储有限量的电力,充分以使控 制器150采取必要动作以在万一失去电力/电力中断时保护数据完整性,包 括写入已经接收但是未写入到非易失性存储器阵列的数据。

在一个实施例中,存储子系统140的控制器150被配置以接收和执行 来自主机系统130的存储接口132的命令。来自存储接口132的存储器命 令可以包括利用主机系统130发出的写和读命令。如图1进一步示出,在 一个实施例中,控制器150执行一个或者更多个非易失性固态存储器阵列 160中所接收的命令。写入存储器164被配置以临时保持要写入到存储器 阵列160的数据,包括从主机系统130接收的数据和/或系统数据。在一个 实施例中,数据被保持在写入缓存器中直至被写入非易失性固态存储器阵 列160为止,之后数据被从写入缓存器清除从而写入缓存器可容纳额外的 数据。

尽管本公开使用RAID作为示例,但是此处描述的系统和方法不限于 RAID冗余方案并且可在任意数据冗余配置中使用,其中任意数据冗余配 置为了镜像或者错误校验目的利用存储元件的分条和/或分组。另外,尽管 RAID是独立磁盘冗余阵列的简称,但是本领域技术人员将理解RAID不 限于具有物理磁盘的存储装置并且可应用于多种存储装置,包括此处描述 的非易失性固态装置。

部分条写入处理

图2是示出根据一个实施例的在万一系统停机时保留数据冗余的处理 的流程图。由于非希望的供电中断或者由于例如通过计划表、通过主机命 令或者通过其它期望/计划的事件触发器触发的常规停机可能发生系统停 机。在任意情况下,本发明的实施例帮助减少安全断电需要的存储器操作, 由此降低完成停机处理需要的时间和电力。在一个实施例中,控制器150 被配置以进行图2的处理。应注意如果存储子系统发生电力丢失,备用电 源有可能被控制器用于图2的处理中描述的这些操作。图2的处理提供当 系统停机(例如,由于突然失去电力)发生时写入备份条的机制。相反地, 当遇到停机事件以及当存在不足够的接收但是仍未写入的数据以创建完整 条时,现有技术方法和系统可以代替地用填充数据合并未写入数据以创建 完整条及其相关的奇偶校验。这要求更多的电力(例如,如果失去电力时 的备用电力)以使创建完整条成为可能。

返回图2,在块202,在如果发生停机时,处理确定写入缓存器中是否 存在充分页面以写入标准大小的RAID条(即,是否页面的量大于或者等 于标准条大小)。如果是,则在块212处理写入可装入RAID条中的标准大 小条的全部数据页面,在块208写入针对新条的奇偶校验,并且在块210 检查写入缓存器是否为空。如果是(缓存的数据等于标准数据条大小),则 处理退出。如果否,则处理进行到块202。返回块202,如果确定写入缓存 器中存在比标准条大小要求的更少的页面,则处理移动到块204其中其在 截断的/部分的RAID条写入足够数据页面以存储剩余写入缓存器数据。在 块206,在一个实施例中,处理指定下一个可用页面作为针对的截断的/部 分的RAID条的奇偶校验页面。在另一个实施例中,奇偶校验页面可用被 写入在另一个预指定位置。在块208,处理写入针对RAID条的奇偶校验 并且释放写入存储器中的清除的条目。在块210,处理器检查写入存储器 是否为空。如果否,则处理返回到块202。如果是,则处理结束。尽管图2 描述数据按照页面单位存储,本领域技术人员将认识到处理可以用具有其 它存储器测量单位的系统,诸如块、扇区等。

在一个实施例中,在下一个可用页面中写入奇偶校验与写入完整条的 处理的分开的,因为针对完整条的奇偶校验通常被写入在离开存储条数据 的位置的指定位置。然而,当停机发生时,在下一个可用页面写入奇偶校 验确保了尽量快地创建奇偶校验并且最小化使用的电力的量。在一个实施 例中,在存储子系统重启动之后,奇偶校验可用移动到新位置。

部分条示例

图3到图5说明在一个实施例中使用的部分数据条写入机制的示例。 图3示出写入缓存器164被配置以接收新写入数据300,并且示出保持两 个单位的数据310和312,该单位为数据页面、数据块、或者其它大小/粒 度级别。在非易失性固态存储器阵列中,如图所示,条0、1和2全部是完 整条,并且条3未创建。在示例中,完整条组成3个数据单位并且奇偶校 验(例如,条0包括3个数据单位302、304和306和奇偶校验308)。针 对每个条的数据单位和奇偶校验可根据数据冗余方案存储在不同物理存储 元件中。图4描绘失去电力事件期间的存储子系统的状态。当检测到失去 电力时,使用备用电力以将写入缓存器中的数据写入到存储器阵列。如图 所示,来自写入缓存器164的数据310和312已经写入作为条3的一部分。 然而,不充分形成完整条。如图5所示,在一个实施例中,为了最小化在 数据冗余方案下确保数据310和312被奇偶校验保护的需要的备用电力的 量,存储子系统紧接着数据310和312之后写入奇偶校验314,以形成奇 偶校验条。

当恢复时,一个实施例中的存储子系统保留截断的/部分的条作为原样 (如图5所描绘)并且继续创建其它完整大小数据条(如条4-7所示)。在 另一个实施例中,当恢复时存储子系统可以组合截断的/部分的条与其它数 据以创建完整条。截断的/部分的条中的数据可以与新接收的写入数据或者 诸如系统数据或者诸如零的预指定填充值填充数据组合。在任意情况下, 在恢复之后从部分条创建完整条不影响需要的备用电力的量,这是因为后 恢复存储子系统将在其常规电源下操作。

结论

以上描述的特征和属性可以按照不同方式组合以形成附加实施例,全 部实施例落入本公开的范围内。尽管本公开提供特定优选实施例和应用, 其它实施例对于本领域技术人员是明显的,包括不提供此处阐述的全部特 征和优点的实施例,并且也在本公开的范围内。因此,本公开的范围旨在 仅参照所附权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号