当前位置: 首页 > 专利查询>清华大学专利>正文

非易失性数据的访问方法、系统、电子设备和介质技术方案

技术编号:25479382 阅读:111 留言:0更新日期:2020-09-01 23:00
本申请涉及一种非易失性数据的访问方法和非易失性数据存储系统。该非易失性数据的访问方法,应用于第一终端,包括:从所述第一终端的缓存获取数据;对于未能从所述缓存获取的数据,通过远程直接内存读从第二终端的非易失内存获取;执行修改操作并刷新操作日志;基于刷新的操作日志生成并缓存内存日志;以及,将所述缓存的内存日志通过远程直接内存写刷新到所述第二终端。这样,实现了更高吞吐量、灵活性、细粒度和可变大小的字节寻址访问。

【技术实现步骤摘要】
非易失性数据的访问方法、系统、电子设备和介质
本专利技术总体地涉及分布式数据存储领域,特别是涉及一种非易失性数据的访问方法和非易失性数据存储系统。
技术介绍
新兴的非易失性内存模糊了内存和存储之间的界线。这些类型的存储器,例如IntelOptaneDC、相变存储器(PCM)、自旋转移矩磁存储器(STTM)是字节可寻址的,并同时提供类似于DRAM的性能,高密度和持久性。为了发挥非易失性内存的潜力,现有的解决方案将非易失性内存直接连接到处理器,从而可以使用本地存储器上的加载和存储指令来实现持久性数据结构的高性能实现。虽然通过本地内存访问非易失性内存提供了足够的性能,但由于非易失性内存不能够方便地在数据中心中共享,因此它不是数据中心中最合适的设置。由于非易失内存高密度的特性,它可以提供更大的容量,这可能会超出单个服务器的需求。在数据中心服务器中,资源利用率会比较低,比如Google的研究显示资源利用率平均低于40%。可预计持续的资源利用将遵循相同的趋势。为了启用非易失性内存共享,Hotopt构建了一个分布式共享持久存储系统。该系统为集群提供了全局共享和持久的存储空间,在主存储器总线上,每台计算机都具有非易失性内存。此设置从本质上影响可用性,即,将非易失性内存设备连接到特定计算机后,当主机关闭时,其数据将不可用。解决此问题的一种方法是将数据复制到远程非易失性内存。但是,它需要完全复制本地内存中的数据结构,从而限制了工作集的大小。要访问复制的数据,对于每个操作,网络开销的下限至少是一个网络往返。因此,期望提供一种改进的对于非易失性内存的数据访问方案。
技术实现思路
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种非易失性数据的访问方法和非易失性数据存储系统,其通过结合第一终端的缓存和操作/内存日志以远程直接内存读和写操作来访问第二终端的非易失内存,实现了更高吞吐量、灵活性、细粒度和可变大小的字节寻址访问。根据本申请的一方面,提供了一种非易失性数据的访问方法,应用于第一终端,包括:从所述第一终端的缓存获取数据;对于未能从所述缓存获取的数据,通过远程直接内存读从第二终端的非易失内存获取;执行修改操作并刷新操作日志;基于刷新的操作日志生成并缓存内存日志;以及,将所述缓存的内存日志通过远程直接内存写刷新到所述第二终端。在上述非易失性数据的访问方法中,通过远程直接内存读从第二终端获取包括:通过远程直接内存读直接从所述第二终端读取冷数据。在上述非易失性数据的访问方法中,通过远程直接内存读从第二终端获取包括:通过远程直接内存读交换热数据的页面;以所述页面在所述缓存中进行页面替换;以及,从所述缓存获取数据。在上述非易失性数据的访问方法中,将所述页面存储在所述缓存中包括:选择所述页面中的一组随机的页面在所述缓存中进行页面替换;以及,从所述替换的页面中选择使用最少的页面进行丢弃。在上述非易失性数据的访问方法中,基于刷新的操作日志生成并缓存内存日志包括:将所述内存日志中的实际数据替换为指向所述刷新的操作日志的指针;以及,以标记指示所述内存日志的数据/指针。在上述非易失性数据的访问方法中,将所述缓存的内存日志通过远程直接内存写刷新到所述第二终端包括:响应于所述修改操作成功执行了预定次数或者所述缓存已满,将所述缓存的内存日志和附加的事务提交标记通过远程直接内存写刷新到所述第二终端。在上述非易失性数据的访问方法中,进一步包括:响应于确定所述第二终端发生故障,中止事务并清除缓存。根据本申请的另一方面,提供了一种非易失性数据的访问方法,应用于第二终端,包括:从所述第一终端接收通过远程直接内存写刷新的内存日志;将所述刷新的内存日志写到非易失内存;以及,将所述非易失内存中的数据复制到镜像节点。根据本申请的再一方面,提供了一种非易失性数据存储系统,包括:多个前端设备;以及,分布式的多个后端设备,每个后端设备包括非易失性内存,且可由所述多个前端设备中两个或者两个以上的前端设备共享;其中,所述多个前端设备中的每个前端设备根据如上所述的非易失性数据的访问方法访问所述多个后端设备中的两个或者两个以上的后端设备。在上述非易失性数据存储系统中,所述多个后端设备包括至少一个与所述非易失性内存连接的、部署在不同机架的镜像节点。在上述非易失性数据存储系统中,通过日志机制保证所述多个前端设备和所述多个后端设备中存储的非易失性数据和日志的崩溃一致性。在上述非易失性数据存储系统中,所述分布式的多个后端设备被划分为多个密钥哈希分区,每个密钥哈希分区具有各自的写锁和索引数据结构。根据本申请的又一方面,提供一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的应用于第一终端的非易失性数据的访问方法或者如上所述的应用于第二终端的非易失性数据的访问方法。根据本申请的又一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的应用于第一终端的非易失性数据的访问方法或者如上所述的应用于第二终端的非易失性数据的访问方法。本申请提供的非易失性数据的访问方法和非易失性数据存储系统,通过结合第一终端的缓存和操作/内存日志以远程直接内存读和写操作来访问第二终端的非易失内存,实现了更高吞吐量、灵活性、细粒度和可变大小的字节寻址访问。附图说明从下面结合附图对本专利技术实施例的详细描述中,本专利技术的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:图1图示了根据本申请实施例的非易失性内存存储结构的示意图。图2图示了根据本申请实施例的应用于第一终端的非易失性数据的访问方法的流程图。图3图示了根据本申请实施例的非易失性内存存储结构的工作流程的示意图。图4图示了根据本申请实施例的应用于第二终端的非易失性数据的访问方法的流程图。图5图示了根据本申请实施例的非易失性数据存储系统在单写多读模式下的性能示意图。图6图示了根据本申请实施例的非易失性数据存储系统在不同缓存大小下的性能示意图。图7图示了根据本申请实施例的应用于第一终端的非易失性数据的访问装置的框图。图8图示了根据本申请实施例的应用于第二终端的非易失性数据的访问装置的框图。图9图示了根据本申请实施例的电子设备的框图。具体实施方式下面,将参考附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解本申请不受这里描述的示例实施例的限制。申请概述如上所述,目前在非易失性内存的部署中,还存在一些挑战。并且,本申请的申请人发现,从本质上讲,这些挑战是由于大多数当前非易失性内存部署的对称性造成的。因此,为了从根本上克服这些缺点,本申请的申请人重新考虑了非易失性内存的部署,并提出了字节可寻址的非对称非易失本文档来自技高网
...

【技术保护点】
1.一种非易失性数据的访问方法,应用于第一终端,其特征在于,包括:/n从所述第一终端的缓存获取数据;/n对于未能从所述缓存获取的数据,通过远程直接内存读从第二终端的非易失内存获取;/n执行修改操作并刷新操作日志;/n基于刷新的操作日志生成并缓存内存日志;以及/n将所述缓存的内存日志通过远程直接内存写刷新到所述第二终端。/n

【技术特征摘要】
1.一种非易失性数据的访问方法,应用于第一终端,其特征在于,包括:
从所述第一终端的缓存获取数据;
对于未能从所述缓存获取的数据,通过远程直接内存读从第二终端的非易失内存获取;
执行修改操作并刷新操作日志;
基于刷新的操作日志生成并缓存内存日志;以及
将所述缓存的内存日志通过远程直接内存写刷新到所述第二终端。


2.根据权利要求1所述的非易失性数据的访问方法,其特征在于,通过远程直接内存读从第二终端获取包括:
通过远程直接内存读直接从所述第二终端读取冷数据。


3.根据权利要求2所述的非易失性数据的访问方法,其特征在于,通过远程直接内存读从第二终端获取包括:
通过远程直接内存读交换热数据的页面;
以所述页面在所述缓存中进行页面替换;以及
从所述缓存获取数据。


4.根据权利要求3所述的非易失性数据的访问方法,其特征在于,将所述页面存储在所述缓存中包括:
选择所述页面中的一组随机的页面在所述缓存中进行页面替换;以及
从所述替换的页面中选择使用最少的页面进行丢弃。


5.根据权利要求1所述的非易失性数据的访问方法,其特征在于,基于刷新的操作日志生成并缓存内存日志包括:
将所述内存日志中的实际数据替换为指向所述刷新的操作日志的指针;
以标记指示所述内存日志的数据/指针。


6.根据权利要求1所述的非易失性数据的访问方法,其特征在于,将所述缓存的内存日志通过远程直...

【专利技术属性】
技术研发人员:武永卫陈康姜进磊马腾
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1