供电安全的数据管理系统技术方案

技术编号:7837646 阅读:129 留言:0更新日期:2012-10-12 02:21
本发明专利技术提供一种供电安全的数据管理系统,并具体涉及一种在意外失去供电后,恢复系统状态和保持驱动器一致性的系统和方法。尤其是,该系统和方法通过预分配写入地址组和在非易失性存储器中记录预分配地址组,减少了用于保持驱动器一致性的开销。写入进程可写入预分配的地址组,而下一组的地址被预分配并记录到非易失性存储器中。

【技术实现步骤摘要】
供电安全数据管理系统

技术介绍
固态存储介质允许非常快速的读写时间。因此固态存储驱动器控制器的处理速度对读写吞吐量的有显著的影响。固态存储驱动器还必须保持和固态存储系统数据的一致性。如果固态存储系统突然断电,它必须能够恢复到可用状态并能够保持,比如,写操作过程中正要写入到存储器的数据必须是安全的。
技术实现思路
附图说明体现本专利技术不同特性的系统和方法参照以下附图被描述。图1示出一个非易失性存储设备的概况。图2A,图3A和图3B示出根据实施例记录系统状态的主记录内容。图2B,图4A和图4B示出根据实施例管理主记录内容的流程图。图5A和5B显示存储在非易失性存储介质的主记录恢复系统状态的流程图。具体实施方式虽然本专利技术描述了某些实施例,但这些实施例只是作为例子而已,不是想要限制本专利技术的范围。事实上,这里描述的本专利技术系统和方法的创新性可以实施为其他不同形式。此外,可以不偏离本专利技术的精神,对这里描述的系统和方法形式做出各种省略、替换、变更。系统概述本专利技术实施例的目的旨在为非易失性存储系统控制器提供减少读写延迟的系统和方法,同时保持非易失性存储系统活动记录用于系统恢复。在实施例中,系统活动记录可以用来恢复系统状态,并在断电的情况下保持一致性。在本应用中,“非易失性存储器”通常是指如NAND的固态闪存存储器。然而,此本专利技术披露的系统和方法也可用于传统的硬盘驱动器和混合驱动器,包括固态硬盘驱动器及其组件。正如,固态驱动器的某些内部典型操作,如“损耗调平”和“垃圾回收”等类似操作,硬盘驱动器也可以利用。在本专利技术中,术语“超级块”被定义为非易失性存储介质上的地址组。这个地址的分组可以泛指任何分组地址的方法(例如,页、块等)。在一些实施例中,这些分组可以包括非易失性存储介质多个模组的至少一个写入地址块。在一些实施例中,这些分组可以使用一个控制器,有效地组织数据存取操作和管理非易失性存储系统。参照图1,其示出了根据实施例中非易失性存储装置100和主机130通信的系统图。正如实施例所描述的,非易失性存储装置100包括非易失性存储器阵列120和控制器110。控制器110与非易失性存储器阵列120和130主机通信。本实施例中控制器包括一个用户数据管理器111,一个主记录112,内部操作管理器113,以及介质存取请求执行器114。用户数据管理器111和主机130上的设备驱动器140通信,并可接收和处理来自主机驱动程序140存储请求。内部操作管理器113可包括系统清理和维护任务,如垃圾收集和损耗调平来维护非易失性存储器阵列120。存储器阵列120可包括多个与控制器110联接的固态存储装置。阵列可包括,例如,闪存集成电路,硫属相变内存(C-RAM),相变存储器(PC-RAM或PRAM),可编程金属化单元RAM(PMC-RAM或PMCm),Ovonic统一存储器(OUM),电阻RAM(RRAM),NAND存储器,NOR存储器,EEPROM,铁电存储器(FeRAM),或其它分立的NVM(非易失性存储器)芯片。固态存储装置在现有技术中可物理分解为面、块、页和扇区。其他存储形式(例如,挥发性的电池备份DRAM或SRAM器件,磁盘驱动器等)可在另外或可选情况下使用。介质存取请求可以从用户数据管理器111或内部操作管理器113发送介质存取请求给非易失性存储器阵列120上的介质存取请求执行器114。在一个实施例中,介质存取请求执行器114规划非易失性存储器阵列的命令执行,并对非易失性存储器阵列120的存储器块上任何执行剩下的转换任务负责。当用户数据管理器111或内部操作管理器113执行写命令,写命令可以在指定给写命令的下一个写入超级块上执行。每个超级块可从非易失性存储器阵列多个物理模块中为写命令指定一个选定的块。在控制器110的操作过程中,每个写操作,比如用户数据管理器111和内部操作管理器113,可对应于运行过程中指定的超级块。由于每道工序完成后写的地址分配给它的超级,它可以过渡到另一个超级继续写的非易失性存储器阵列120。当完成对每个指定的超级块地址写入操作时,他可迁移到非易失性存储器120的另一个超级块继续写入。主记录112能保持控制器110内的操作状态。例如,主记录112可以保持指定给每个写入进程的超级块(S)。在一个实施例中,主记录112保留在易失性存储器中。因此,在一个实施例中主记录112可定期刷新(例如,通过控制器或在控制器上执行写入进程即通过给介质存取请求执行器114的写命令),因此,它的信息保存到非易失性存储器阵列120。在一个实施例中,保存在主记录112中的信息应足以断电的情况下系统能恢复运行状态,同时保持数据的一致性。记录处理图2A示出根据实施例描述的主记录200。主记录包括能记录设备运行状态的数据。图2A所描述的实施例,主记录200包括写入进程信息201。写入进程可以包括用户数据管理器,内部操作管理器或其他向非易失性存储阵列发出写命令的过程。正如这里使用的,“进程”是指在处理器控制器上执行的一个线程,多个线程可以在同一处理器上并行执行。虽然这里所描述的是针对单个写入进程的数据,但是主记录可以保持由控制器执行的所有写入进程数据。此写入进程201的数据包括指定给这个进程的超级块(S)。另外,主记录可以保持一个空闲池202以反映超级块可以被写入进程使用。当一个超级块被分配给一个写入进程,则它从空闲池删除以反映它不可用于其他进程。擦除队列203反映的数据可表明超级块正在非易失性存储阵列的即将擦除队列中。当非易失性存储阵列已成功擦除超级块,则超级块从擦除队列203中删除,放置在空闲池202中。这样擦除队列确保数据的完整性,因为如果电源中断而超级块正在擦除过程中,擦除将在恢复供电后被重新启动。主记录200还可包括关闭队列204,反映已完成写入的超级块,但在写过程完成对超级块的写入后仍然需要额外的检查或行动。主记录200还可包括系统表205,其中包括系统状态记录,如非易失性存储器阵列损坏的块,转换表,映射表和/或其他系统表。在一个实施例中,每个超级块的长度也被保存在主记录中。在一个实施例中一个超级块可包括2,048页,尽管现有技术中有包括任何页数(或其他存储单元)的成熟技术。图2B所示流程图是和图2A所示主记录关联的写入进程方法的实施例。在块210,写入进程到达为这个进程指定的超级块末端。在块220,进程从空闲池为随后的写入进程分配一个新的超级块。在块230,进程保留最新分配的超级块在主记录中。在块240,进程触发器刷新非易失性存储器的主记录(及最新分配的超级块信息)。在块250,进程等待主记录刷新完成。进程等待完成刷新优于随后的块写入进程是因为,如果写入进程优于刷新,系统被迫在刷新前返回非易失性存储器主记录的一个副本,(例如,在断电后),非易失性存储器中的记录不会反映设置给写入进程对随后的块写入。之前保存的副本仍然会提示写入进程优于块210正在对超级块写入。等待主记录更新信息,直到最新分配的超级块已被刷新到非易失性存储器中,从而确保失去供电后的正确恢复。在非易失性存储器主记录刷新后,在块260,进程可以写入新的超级块中。在一个实施例中,由控制器110执行的写入进程如图1所示。超级块预分配虽然在块250中的等待确保数据的正确恢复本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201210086543.html" title="供电安全的数据管理系统原文来自X技术">供电安全的数据管理系统</a>

【技术保护点】

【技术特征摘要】
2011.03.28 US 13/073,5881.一种由固态存储子系统的控制器执行的用于免受失去供电的方法,其包括:在所述存储子系统的易失性存储器内保持对应于写入进程的驱动器状态的记录,对于所述写入进程,所述记录包括,与第一超级块和第二超级块相关的数据,所述第一超级块被指定为所述写入进程正在写入到的当前超级块,并且所述第二超级块被指定为在所述第一超级块已经被写入之后,所述写入进程将写入到的下一个超级块,其中所述第一超级块和第二超级块指定在非易失性固态存储阵列中的地址位置;写入到所述第一超级块;在写入到所述第一超级块中的最后写入地址时,指定所述第二超级块为所述写入进程将写入的当前超级块,所述指定反映在驱动器状态的记录中;在指定后,通过保存所述记录到所述非易失性固态存储阵列的一部分,开始所述记录的刷新,在所述记录的刷新完成前写入到所述第二超级块,从而所述写入进程不会因所述记录的刷新而延时,上述方法由所述存储子系统的控制器实施。2.如权利要求1所述的方法,其中所述记录储存在所述易失性存储器的主记录内,且所述主记录定期被刷新至所述非易失性固态存储阵列。3.如权利要求1所述的方法,其中每个超级块包括来自所述非易失性固态存储阵列中多个模组的至少一个写入块。4.如权利要求1所述的方法,进一步包括在失去供电后,参考保存的记录来重构系统表和写状态的步骤。5.如权利要求4所述的方法,其中所述记录还包括和第三超级块相关的数据,其中所述指定进一步包括:指定所述第一超级块为在先写入的超级块;以及在写入到所述第二超级块中的最后一个写入地址时指定所述第三超级块为待写入的超级块。6.如权利要求5所述的方法,其中在失去供电后,被指定为在先写入的超级块的所述第一超级块被用于恢复所述写入进程的日志。7.如权利要求5所述的方法,其中所述重构包括参考与所述第一超级块相关的数据和与所述第二超级块相关的数据重构写日志。8.如权利要求1所述的方法,其中所述记录包括擦除队列,关闭队列和写入地址组空闲池中的至少一个。9.一种被配置为在预期失去供电时保存系统状态信息的固态存储系统,其包括:固态存储器阵列,其包括多个超级块,所述多个超级块的每个包括多个物理写入地址;控制器,其被配置以控制对所述固态存储器阵列写入数据的多个写入进程,所述多个写入进程包括用户数据写入进程和内部系统写入进程,每个所述写入进程写入分配给相应写入进程的超级块;主机系统接口,所述系统通过所述主机系统接口接收将由所述用户数据写入进程执行的存储器命令;其中所述控制器被配置为:对于所述多个写入进程中的写入进程,在所述固态存储系统的易失性存储器中保持一记录,所述记录包括指示对应于该写入进程的驱动器活动状态的数据,所述记录包含与分配给该写入进程的超级块和下一超级块相关的数据,所述下一超级块表示在被分配的超级块中的物理写入地址被用尽后所述写入进程将要写入的超级块;以及刷新所述记录到所述固态存储器阵列,所述刷新的执行独立于完成对其...

【专利技术属性】
技术研发人员:L·S·赵F·H·阿迪
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1