当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于在非易失性数据存储设备内以原子的方式执行多个写事务的设备控制器和方法技术

技术编号:14742704 阅读:38 留言:0更新日期:2017-03-01 17:56
本文提供了一种用于在非易失性数据存储设备内以原子的方式执行多个写事务的设备控制器和方法。每一事务指定逻辑地址,并且方法包括:通过参考非易失性数据存储设备中的地址转换记录来确定每一逻辑地址在数据存储设备内的相应的物理地址,创建针对由多个写事务指定的逻辑地址的地址转换图。此外,如果地址转换记录中所指示的相应的物理地址已经包括有效数据,则在地址转换图中将逻辑地址重新映射至新的物理地址。然而,此时,数据存储设备中所存储的地址转换记录不被更新。替换地,使用地址转换图中的逻辑地址至物理地址的映射来执行多个写事务。然后,只有在多个写事务已经被执行的情况下,非易失性数据存储设备中的地址转换记录才被更新,以便标识地址转换图中的逻辑地址至物理地址的映射。由于在执行写事务时,对数据存储设备中已经存储的数据进行更新的任意新数据被写入不同的物理地址位置,因此之前的数据版本仍然被存储在数据存储设备上,并且假定除非多个写事务实际上被以原子的方式执行,否则就不更新地址转换记录,则如果任意事件阻止了多个写事务被以原子的方式执行,这使得数据存储设备上所维持的状态能够退回至执行多个写事务之前存在的状态。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于在非易失性数据存储设备内以原子的方式执行多个写事务的设备控制器和方法
技术介绍
存在希望对非易失性数据存储设备内的不同位置以原子的方式(atomically)执行多个写事务的若干情况。例如,这可能是由于正写入的数据文件太大以不适合一个位置,或者是由于操作需要多个位置的更新。后一种情境的示例是当在文件夹中创建新文件时。文件需要被写至非易失性存储设备中的适当位置,但是此外,描述放置文件的文件夹结构的元数据也需要被更新。完成这些步骤中的一个步骤而不完成其它步骤将会导致文件系统指示存在实际上并没有的文件,或者替换地存储设备内将存在占用空间的文件,但是由于该文件没有被文件系统提及,因此该文件不可访问。通过布置多个写事务以原子的方式发生,这将确保所有那些多个写事务都被完成或者都不完成,因此避免了由于只执行事务的子集而导致非易失性数据存储设备结束在未定义的状态的可能性。通常,一系列写事务将会由主机设备(例如,CPU)发起,并且主机设备之后将经由与数据存储设备相关联的设备控制器来与非易失性数据存储设备进行通信以使得事务被执行。当处理上述写原子性问题(writeatomicityissue)时,现有技术中通常由主机系统负责确保写事务被以原子的方式执行,导致主机设备的软件系统和/或文件系统的开销。特别地,一种已知的方法是采用日志技术(joumalingtechnique),通过在实际事务被执行之前,主机设备生成用于存储在非易失性存储设备上的一些日志数据,以使得如果发生故障,则不一致的数据可以被发现并且被重新存储为一致状态。这些日志技术导致生成了额外的事务,其中相关联的额外的写动作在存储设备内被执行。在日志最糟糕的情况下(从性能的角度,但是最好的情况是从可靠性的角度),为了确保准确性发送两次实际数据。然而,该方法对性能和功率有负面影响。已知的日志机制通常独立于非易失性数据存储设备的底层技术,并且形成构成主机设备的文件系统的一部分。希望提供用于在非易失性数据存储设备内以原子的方式执行多个写事务的改善机制,而无需使用主机侧实施的安全机制。
技术实现思路
一方面,本专利技术提供了操作设备控制器的方法用以在非易失性数据存储设备内以原子的方式执行多个写事务,每一事务指定逻辑地址,方法包括:通过参考非易失性数据存储设备中的地址转换记录来确定每一逻辑地址在数据存储设备内的相应的物理地址,创建针对由多个写事务指定的逻辑地址的地址转换图,并且如果地址转换记录中所指示的相应的物理地址已经包括有效数据,则在地址转换图中将逻辑地址重新映射至新的物理地址;使用上述地址转换图中的逻辑地址至物理地址的映射来执行上述多个写事务;并且只有在上述多个写事务在上述非易失性存储设备中被执行的情况下,更新非易失性数据存储设备中的地址转换记录以标识上述地址转换图中的逻辑地址至物理地址的映射。根据本专利技术,非易失性数据存储设备被约束为使得如果写事务正在执行写操作以便更新数据存储设备上已经存储的有效数据,则在执行写操作时,数据存储设备上之前存在的数据不被覆盖,相反,新的数据被写入数据存储设备内的不同的物理地址。这种约束已经存在于若干已知的非易失性数据存储设备中,并且在本文中被称为不适当的(out-of-place)重写约束。例如,NAND闪存要求一旦一页数据已经被写入,则其在新数据可以被写入该页之前必须被擦除。因此,当针对页内已经存储的数据执行写入时,新数据通常被存储在不同页内,其中闪存维护操作之后被执行以将当前不存在的数据无效并擦除。根据本专利技术,当开发用于以原子的方式执行多个写事务的新事务序列协议时,该不适当的重写请求被使用,如果多个写事务例如由于系统故障未完成,则该新的事务序列协议允许数据存储设备上的状态之后退回至多个写事务之前存在的状态。特别地,根据本专利技术,为由多个写事务所指定的逻辑地址创建地址转换图。为了执行该操作,非易失性数据存储设备中的地址转换记录被参考以确定每一逻辑地址在数据存储设备内相应的物理地址。如果地址转换记录中所指示的相应的物理地址已经包括有效数据,则在创建地址转换图时,在地址转换图中相关联的逻辑地址被重新映射至新物理地址。然而,在该阶段,不执行对非易失性数据存储设备中的地址转换记录的更新。替换地,之后使用至地址转换图中的信息来执行多个写事务,并且只有在全部那些多个写事务已经被执行的情况下,非易失性数据存储设备中的地址转换记录之后才被更新。因此,如果任何事件导致被要求以原子的方式执行的全部多个写事务没有被全部完成,则非易失性存储设备中的地址转换记录将会仍然正确地针对多个写事务被执行之前存在的、非易失性数据存储设备上的数据的状态来提供正确的逻辑地址至物理地址的映射。此外,由于非易失性数据存储设备的不适当的重写属性,非易失性数据存储设备上的之前存储的状态将不会在执行多个写事务期间被物理地重写,并且因此,如果多个写事务的原子性被阻止,则可能使用非易失性数据存储设备中的地址转换记录来退回至数据存储设备之前的状态。存在若干种方式,可以以该方式维护关于多个写事务的信息以便使得之后能够检测到那些多个写事务不能够被以原子的方式执行的状况。在一个实施例中,方法还包括:在执行多个写事务之前,执行意图保存操作以在非易失性数据存储设备的区域内存储标识将被以原子的方式执行的多个写事务的意图信息以及所述地址转换图中的逻辑地址至物理地址的映射。因此,这将在非易失性数据存储设备上提供旨在被以原子的方式执行的多个写事务的记录,并且该信息之后可以被参考以便确定写事务事实上是否已经被以原子的方式执行。特别地,由于只有在所有多个写事务已经被执行的情况下,非易失性存储设备中的地址转换记录才会被更新,因此如果写事务已经被以原子的方式执行,则对地址转换记录的这种更新才会发生。如果某一事件已经阻止了写事务被以原子的方式执行,则在非易失性存储设备中所存储的地址转换记录中的信息和经由上述意图保存操作所保存的信息之间将存在某种失配。在一个实施例中,意图保存操作作为写事务被执行,该写事务比将被以原子的方式执行的多个写事务优先级高。这确保了在一系列实际的写事务开始之前,标识将被以原子的方式执行的多个写事务的信息被写入非易失性存储设备。关于在非易失性数据存储设备内的哪个地方保存意图信息存在各种选项。在一个实施例中,非易失性数据存储设备包括主非易失性存储单元和被配置为在将数据写入主非易失性存储单元之前缓冲数据的非易失性缓存,并且存储意图信息的非易失性数据存储设备的上述区域在上述非易失性缓存内。在数据存储设备内提供非易失性缓存的实施例中,将意图信息存储在非易失性缓存内避免了仅为了存储意图信息而需要主非易失性存储单元内直接执行任意写操作。由于意图信息只是暂时令人关注的,因此这有益于允许确定写事务还未被以原子的方式执行的情况。通常,期望写事务将被以原子的方式执行,并且地址转换记录之后将随着写事务的性能而被更新。一旦该过程完成,则数据存储设备的状态将正确地反映由多个写事务所更新的数据,并且相应地,此时将不再需要意图信息。在一个实施例中,在执行多个写事务之前所创建的地址转换图被存储在与设备控制器相关联的易失性存储设备中,当执行多个写事务时供设备控制器参考。这确保了设备控制器所需要的用以执行多个写本文档来自技高网
...
用于在非易失性数据存储设备内以原子的方式执行多个写事务的设备控制器和方法

【技术保护点】
一种操作设备控制器的方法,所述设备控制器在非易失性数据存储设备内以原子的方式执行多个写事务,每一事务指定逻辑地址,所述方法包括:通过参考所述非易失性数据存储设备中的地址转换记录来确定每一逻辑地址在所述数据存储设备内的相应的物理地址,创建针对由所述多个写事务指定的逻辑地址的地址转换图,并且如果所述地址转换记录中所指示的所述相应的物理地址已经包括有效数据,则在所述地址转换图中将所述逻辑地址重新映射至新的物理地址;使用所述地址转换图中的所述逻辑地址至物理地址的映射来执行所述多个写事务;并且只有在所述非易失性存储设备中的所述多个写事务已经被执行的情况下,才更新所述非易失性数据存储设备中的所述地址转换记录以标识所述地址转换图中的所述逻辑地址至物理地址的映射。

【技术特征摘要】
【国外来华专利技术】2014.06.24 GB 1411193.41.一种操作设备控制器的方法,所述设备控制器在非易失性数据存储设备内以原子的方式执行多个写事务,每一事务指定逻辑地址,所述方法包括:通过参考所述非易失性数据存储设备中的地址转换记录来确定每一逻辑地址在所述数据存储设备内的相应的物理地址,创建针对由所述多个写事务指定的逻辑地址的地址转换图,并且如果所述地址转换记录中所指示的所述相应的物理地址已经包括有效数据,则在所述地址转换图中将所述逻辑地址重新映射至新的物理地址;使用所述地址转换图中的所述逻辑地址至物理地址的映射来执行所述多个写事务;并且只有在所述非易失性存储设备中的所述多个写事务已经被执行的情况下,才更新所述非易失性数据存储设备中的所述地址转换记录以标识所述地址转换图中的所述逻辑地址至物理地址的映射。2.如权利要求1所述的方法,还包括:在执行所述多个写事务之前,执行意图保存操作以在所述非易失性数据存储设备的区域内存储标识将被以原子的方式执行的所述多个写事务的意图信息以及所述地址转换图中的所述逻辑地址至物理地址的映射。3.如权利要求2所述的方法,其中,所述意图保存操作作为写事务被执行,该写事务的优先级高于将被以原子的方式执行的所述多个写事务。4.如权利要求2或权利要求3所述的方法,其中:所述非易失性数据存储设备包括主非易失性存储单元和被配置为在将数据写入所述主非易失性存储单元之前缓冲所述数据的非易失性缓存,并且存储所述意图信息的所述非易失性数据存储设备的区域在所述非易失性缓存内。5.如任意之前的权利要求所述的方法,还包括:将所述地址转换图存储在与所述设备控制器相关联的易失性存储设备中以在执行所述多个写事务时供所述设备控制器参考。6.如任意之前的权利要求所述的方法,还包括:在对所述非易失性存储设备中的所述地址转换记录进行更新的步骤之后激活垃圾收集过程,以便使得不再被所述经更新的转换记录映射至逻辑地址的任意物理地址无效。7.如任意之前的权利要求所述的方法,其中,所述设备控制器从主机实体接收所述多个写事务,所述主机实体向所述设备控制器标识所述多个写事务将被以原子的方式处理。8.如引用权利要求2的任意之前的权利要求所述的方法,还包括,响应于触发条件,执行以下步骤:从所述非易失性存储设备获得所述地址转换表和所述意图信息;以及针对所述意图信息中所标识的每一写事务,确定由所述意图信息指示的所述逻辑地址至物理地址的映射是否与所述地址转换表中的所述逻辑地址至物理地址的映射相匹配。9.如权利要求8所述的方法,其中,针对所述意图信息中所标识的任意写事务,如果由所述意图信息所指示的所述逻辑地址至物理地址的映射与所述地址转换表中的所述逻辑地址至物理地址的映射不匹配,则所述方法还包括使得针对所述意图信息中的每一写事务所标识的物理地址处的数据无效的步骤。10.如权利要求9所述的方法,还包括向主机实体发布提供以下指示的通知:所述多个写事务还未被执行。11.如任意之前的权利要求所述的方法,其中:所述非易失性数据存储设备包括主非易失性存储单元和被配置为在将数据写入所述主非易失性存储单元之前缓冲所述数据的非易失性缓存;执行所述多个写事务的步骤包括:最初将每一写事务的数据写入所述非易失性缓存,并且随后将来自所述非易失性缓存的所述每一写事务的数据存储在由所述地址转换图指定的所述物理地址处的所述主非易失性存储单元内。12.如权利要求11所述的方法,其中:所述多个写事务形成第一原子写序列;所述设备控制器被请求执行包括第二多个写事务的第二原子写序列;并且如果所述多个第二写事务中的至少一个指定了与还未将数据存储在所述主非易...

【专利技术属性】
技术研发人员:艾瑞诺伊斯·约翰内斯·德·金安德烈亚斯·翰森
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1