用于条件和原子存储操作的装置、系统和方法制造方法及图纸

技术编号:8687914 阅读:280 留言:0更新日期:2013-05-09 07:46
本发明专利技术涉及一种非易失性存储装置,所述存储装置的虚拟存储层(VSL)可为存储客户端提供非易失性存储装置的逻辑地址空间。存储元数据将所述逻辑地址空间中的逻辑标识符分配至所述非易失性存储装置上的物理存储位置。数据以基于日志的顺序格式保存到所述非易失性存储装置上。所述非易失性存储装置上的数据包含在所述非易失性存储装置上执行的所述存储操作的事件日志。VSL提供用于请求原子存储操作的接口。被所述原子存储装置覆写的先前版本的数据将保留至所述原子存储操作成功完成。通过与所述非易失性存储装置上的数据一起保存的持久化元数据标记识别与失效的原子存储操作相关的数据。可以使与失效或未完成的原子存储请求相关的数据无效并将其从所述非易失性存储装置上删除。

【技术实现步骤摘要】
【国外来华专利技术】用于条件和原子存储操作的装置和方法
本专利技术涉及数据存储,更具体地讲涉及在单一的原子存储操作中将数据存储在存储介质上。
技术实现思路
本专利技术的一个方面涉及一种提供原子存储请求的方法,包括:以基于日志的格式将一个或多个存储操作中的原子存储请求数据保存到非易失性存储装置上;将持久化元数据与指示所述数据与所述原子存储请求相关的所述原子存储请求数据一起保存;以及完成所述原子存储请求的所述一个或多个存储操作时确认所述原子存储请求的完成;其中,所述方法还包括:保留飞行数据结构,以跟踪所述原子存储请求的存储操作的完成,所述飞行数据结构用所述原子存储请求的逻辑标识符分配所述原子存储请求数据的物理存储位置;用所述飞行数据结构的所述分配延迟对前向索引的更新,直到所述原子存储请求的所述一个或多个存储操作全部完成;以及当所述原子存储请求的所述一个或多个存储操作完成时,从所述飞行数据结构中删除所述分配。本专利技术的另一个方面涉及一种用于原子存储请求的装置,所述装置包括:用于保留前向索引的模块,所述前向索引包含非易失性存储装置的逻辑地址空间和所述非易失性存储装置上的物理存储位置中的逻辑标识符之间的绑定;用于以基于日志的顺序格式将一个或多个存储操作中的原子存储请求的数据保存到所述非易失性存储装置上的模块,其中所述原子存储请求的数据与指示所述数据与原子存储请求相关的持久化元数据一起保存到所述非易失性存储装置上;用于保留飞行索引的模块,以便将所述原子存储请求的逻辑标识符与所述非易失性存储装置上的物理存储位置相关联;以及用于在执行所述原子存储请求的所述一个或多个存储操作时保留所述前向索引的模块。本专利技术的再一个方面涉及一种提供原子存储操作的装置,包括:包含非易失性存储介质的非易失性存储装置;以及虚拟存储层,所述虚拟存储层用于:从存储客户端接收原子存储请求,所述原子存储请求在所述非易失性存储装置的逻辑地址空间中包含不连续的逻辑标识符,以及在一个或多个存储操作中,以基于日志的格式将所述原子存储请求的数据保存到所述非易失性存储装置上,其中所述原子存储请求的所述数据与将所述数据识别为与原子存储请求相关的持久化元数据一起保存,以及向所述存储客户端确认所述原子存储请求的完成;其中,所述虚拟存储层还用于:保留飞行数据结构,以跟踪所述原子存储请求的存储操作的完成,所述飞行数据结构用所述原子存储请求的逻辑标识符分配所述原子存储请求数据的物理存储位置;用所述飞行数据结构的所述分配延迟对前向索引的更新,直到所述原子存储请求的所述一个或多个存储操作全部完成;以及当所述原子存储请求的所述一个或多个存储操作完成时,从所述飞行数据结构中删除所述分配。附图说明为了易于理解本专利技术的优点,将以附图的方式引用举例说明的具体实施例而作出上述的本专利技术的更具体的说明。应当理解这些附图仅示出了本专利技术的典型的实施例而并非是对其范围的限制,通过使用附图以另外的具体说明和细节描述和解释本专利技术,其中:图1是包括非易失性存储装置的框图;图2是非易失性存储装置的一个实施例的框图;图3是具有写入数据管道和读取数据管道的存储控制器的一个实施例的框图;图4是具有虚拟存储层的系统的一个实施例的框图;图5示出了向前索引的一个实施例;图6示出了反向索引的一个实施例;图7A示出了在非易失性存储装置的物理存储空间内的附加点的一个实施例;图7B示出了在非易失性存储装置上的循环的按顺序的存储操作;图8示出了基于日志的数据格式的一个实施例;图9A-E示出了包含用于原子存储操作的单独飞行索引的示例性存储元数据;图10示出了不完全的原子存储操作;图11A-C示出了用于原子存储操作的示例性持久化元数据标记;图12示出了用于原子存储操作的另一个示例性持久化元数据标记;图13A-C示出了用于原子存储操作的示例性持久化元数据标记;图14是用于在非易失性存储装置上提供原子存储操作的方法的一个实施例的流程图;图15是用于在非易失性存储装置上提供原子存储操作的方法的另一个实施例的流程图;图16是用于在非易失性存储装置上提供原子存储操作的方法的另一个实施例的流程图;以及图17是用于从顺序的基于日志的数据的事件日志重组存储元数据的方法的一个实施例的流程图。具体实施方式本说明书全文对特征、优点或类似语言的引用并不意味着通过本专利技术可实现的所有特征和优点应当是或包含于本专利技术的任何一个实施例。相反,应当理解涉及特征和优点的语言是指结合实施例所述的具体的特征、优点或特性包括在本专利技术的至少一个实施例中。因此,整个说明书中的关于特征、优点或类似语言的描述可能(但未必)是指相同的实施例。此外,本专利技术所述的特征、优点和特性可以任何适合的方式结合在一个或多个实施例中。相关领域的技术人员将认识到可在没有具体实施例的一个或多个特定特征或优点的情况下实施本专利技术。在其他情况中,在可能在没有存在于本专利技术的所有实施例中的某些实施例中认识到另外的特征和优点。本专利技术的这些特征和优点将由于以下说明书和附属权利要求书而更显而易见,或可通过如下文所示的本专利技术的实施来了解。在本说明书中所述的多个功能部件已标记为模块以更具体地强调其实施独立性。例如,可将模块用作硬件电路,其包括定制的VLSI电路或门阵列、半导体成品(诸如,逻辑芯片、晶体管或其他离散元件)。也可将模块用在可编程硬件装置中,例如,场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等。也可将模块应用在软件中以由各种类型的处理器执行。可执行代码的已识别模块(例如)可包括一个或多个计算机指令的物理或逻辑块,这些逻辑块可以(例如)设置成对象、程序或功能。然而,已识别模块的可执行代码不必实际在一起,但是可包含存储在不同位置的不同指令,当该不同指令逻辑上结合在一起时,构成所述模块并实现此模块的所宣称目的。实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在多个不同代码段上、不同程序中并可跨多个存储装置而分布。相似地,可在模块中识别和举例说明可操作数据,并且该数据可以任何适合的形式体现并以任何适合类型的数据结构整理。该可操作数据可集合为单个数据集或可分布在不同位置上(包括在不同的存储装置上),并可仅作为电子信号而在系统或网络上至少部分地存在。在模块或模块各部分应用在软件中的情况下,软件各部分存储在一个或多个计算机可读介质上。在本说明书全文中,对“一个实施例”、“实施例”或类似语言的引用意指结合实施例所述的具体特征、结构或特性包括在本专利技术的至少一个实施例中。因而,在整个说明书中,短语“一个实施例中”、“实施例中”和类似语言的出现可能(但未必)都是指相同的实施例。对于计算机可读介质而言,其可采用任何能够将机器可读的指令存储在数字处理装置上的形式。计算机可读介质可具体呈现为光盘、数字视盘、磁带、贝努里驱动器、磁盘、穿孔卡、闪速存储器、集成电路或其他数字处理装置存储装置。此外,本专利技术所述的特征、结构或特性可以任何适合的方式结合在一个或多个实施例中。在以下的说明中,提供了许多具体细节(例如,编程例子、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件电路、硬件芯片等)以利于对本专利技术的实施例的深入的理解。然而,相关领域的技术人员将认识到可在没有一个或多个所述具体细节的情况下或以其他方法、部件、材料等本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201180037001.html" title="用于条件和原子存储操作的装置、系统和方法原文来自X技术">用于条件和原子存储操作的装置、系统和方法</a>

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.07.28 US 61/368,564;2010.09.14 US 61/382,8161.一种提供原子存储请求的方法,包括:以基于日志的格式将一个或多个存储操作中的原子存储请求数据保存到非易失性存储装置上;将持久化元数据与指示所述数据与所述原子存储请求相关的所述原子存储请求数据一起保存;以及完成所述原子存储请求的所述一个或多个存储操作时确认所述原子存储请求的完成;其中,所述方法还包括:保留飞行数据结构,以跟踪所述原子存储请求的存储操作的完成,所述飞行数据结构用所述原子存储请求的逻辑标识符分配所述原子存储请求数据的物理存储位置;用所述飞行数据结构的所述分配延迟对前向索引的更新,直到所述原子存储请求的所述一个或多个存储操作全部完成;以及当所述原子存储请求的所述一个或多个存储操作完成时,从所述飞行数据结构中删除所述分配。2.根据权利要求1所述的方法,其中所述原子存储请求的所述逻辑标识符在逻辑地址空间中是不连续的。3.根据权利要求1所述的方法,其中当所述非易失性存储装置的写入缓冲区、所述非易失性存储装置的保护域、所述非易失性存储装置的断电安全域和所述非易失性存储装置的非易失性存储介质中的一者接收到存储操作的数据时,所述存储操作完成。4.根据权利要求1所述的方法,其中所述持久化元数据与单个存储操作中的所述原子存储请求的数据一起保存。5.根据权利要求1所述的方法,还包括为响应所述原子存储请求的所述一个或多个存储操作的完成而更新前向索引,以便用所述原子存储请求的所述数据的物理存储位置分配所述原子存储请求的逻辑标识符。6.根据权利要求1所述的方法,还包括对所述非易失性存储装置未能包括指示所述原子存储请求完成的第二持久化指示符作出响应,使所述原子存储请求的数据无效。7.根据权利要求1所述的方法,还包括:将第一持久化元数据标记保存到所述非易失性存储装置上,以识别与所述原子存储请求相关的数据;将第二持久化元数据标记保存到所述非易失性存储装置上,其中所述原子存储请求的最后一个数据包指示所述原子存储请求的完成;以及使用持久化元数据标记确定所述原子存储请求是否已成功完成。8.根据权利要求7所述的方法,还包括:将所述原子存储请求的数据按顺序保存在所述非易失性存储介质的附加点处;确定所述非易失性存储装置上的所述附加点的位置;访问所述附加点处的所述非易失性存储介质;以及当所述附加点处的数据包含第一持久化元数据标记但不包含第二持久化元数据标记时,识别失效的原子存储请求。9.根据权利要求8所述的方法,还包括将所述原子存储请求的数据连续保存到所述非易失性存储装置的物理存储位置上。10.根据权利要求8所述的方法,还包括在将所述原子存储请求的所述数据保存到所述非易失性存储介质上时禁用垃圾回收旁路。11.根据权利要求1所述的方法,还包括:检测所述非易失性存储装置的主电源的损耗;以及用辅助电源完成所述原子存储请求的所述一个或多个存储操作。12.根据权利要求1所述的方法,其中所述原子存储请求的逻辑标识符对应于绑定到所述非易失性存储装置的现有数据上的逻辑标识符,所述方法还包括:保持所述逻辑标识符与所述现有数据之间...

【专利技术属性】
技术研发人员:D·弗林S·乌普霍夫欧阳翔勇D·内朗斯R·威普费尔
申请(专利权)人:FUSIONIO股份有限公司
类型:
国别省市:

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

1