一种事务提交的方法和装置制造方法及图纸

技术编号:14853093 阅读:48 留言:0更新日期:2017-03-18 20:10
本发明专利技术实施例公开了一种事务提交的方法,包括:接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,0<M≤N;若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据;确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。本发明专利技术实施例还公开了一种事务提交的装置。采用本发明专利技术,能较少数据刷写的次数,提供事务提交的吞吐量。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种事务提交的方法和装置
技术介绍
传统的基于DRAM(DynamicRandomAccessMemory,动态随机存取存储器,简称DRAM)的内存由于其在扩容能力上的限制,使其越来越成为制约系统计算性能提高的一个重要障碍。一种阻抗性存储设备(ResistiveMemory)逐步呈现出取代现有内存的趋势。阻抗性存储设备通过介质不同的阻抗状态来存储分别存储“0”和“1”的信息。比较有代表性的阻抗性存储设备包括——相变存储器(PCM,PhaseChangeMemory)、磁性随机存储器(MRAM,MagneticRandomAccessMemory)、自旋转移力矩随机存取存储器(STT-RAM,SpinTorqueTransferRandomAccessMemory)等。然而,绝大多数的阻抗性存储设备的写性能与DRAM有较大差距和寿命也不能达到对Memory所要求的10^15的要求。另外,为了充分发挥SCM的性能特点,对SCM(StorageClassMemory,存储级内存,简称SCM)中数据访问方式与传统的磁盘以及SSD不同,应尽量避免OS(OperationSystem,操作系统,简称OS)参与,而由应用程序自己控制和维护。应用程序对数据的维护需要Transaction来保证其数据的一致性,在SCM上做事务Transaction对系统性能和SCM的寿命会产生较大影响。其影响主要表r>现在三个方面:1、维护原子性会产生的冗余写,这些冗余写既降低SCM寿命也影响性能。2、高并发的Transaction会导致碰撞,取消的Transaction中已经写入SCM的数据也将作废,对SCM的寿命也会产生影响。3、保证数据的持久性,需要穿过Cache,使用mfence指令和clflush指令分多次将数据写入SCM中,频繁的刷写严重降低了SCM性能。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种事务提交的方法。可解决现有技术中提交事务时数据刷写次数过多的问题。为了解决上述技术问题,本专利技术实施例提供了一种事务提交的方法,包括:接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,0<M≤N;若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据;确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。结合第一方面,在第一种可能的实现方式中,所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据,还包括:获取版本号计数器的当前计数值;将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器的当前计数值加1。结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2包括:获取写入所述外部存储器的写操作地址;计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定每个组上待写入的数据块的数量满足小于2。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中还包括:将第X个数据块的指针指向第X+1个数据块所在的组的组物理地址,其中,第M个数据块的指针指向第1个数据块所在的组的组物理地址,M为整数,0<X≤M-1。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的映射表中。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中之后,还包括:接收用于查询所述外部存储器中的目标数据块的查询请求,所述查询请求携带所述目标数据块的物理地址;根据所述物理地址计算得到所述目标数据块所在的组的组号和组逻辑地址,并从所述DRAM的映射表中查询所述目标数据块所在的组的组逻辑地址关联的组物理地址;根据所述目标数据块所在的组的组物理地址和组号定位所述外部存储器中的所述目标数据块。结合第一方面至第五种可能的实现方式中的任意一种,在第六种可能的实现方式中,所述事务关联的M个数据块在向所述外部存储器提交之前存储在DRAM中。相应地,本专利技术实施例第二方面还提供了一种事务提交的装置,包括:接收模块,用于接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,0<M≤N;获取模块,用于若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据;写入模块,用于确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。结合第二方面,在第一种可能的实现方式中,所述获取模块还用于获取版本号计数器的当前计数值;将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器的当前计数值加1。结合第二方面或第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块包括:获取单元,用于获取写入所述外部存储器的写操作地址;确定单元,用于计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定每个组上待写入的数据块的数量满足小于2。结合第二种可能的实现方式,在第三种可能的实现方式中,所述写入模块还用于将第X个数据块的指针指向第X+1个数据块所在的组的物理地址,其中,第M个数据块的指针指向第1个数据块所在的组的物理地址,M为整数,0<X≤M-1。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:映射模块,用于获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的映射表中。结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:定位模块,用于接收用于查询所述外部存储器中的本文档来自技高网...

【技术保护点】
一种事务提交的方法,其特征在于,包括:接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,0<M≤N;若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据;确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。

【技术特征摘要】
1.一种事务提交的方法,其特征在于,包括:
接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所
述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,
0<M≤N;
若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所
述M个数据块中每个数据块的元数据;
确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应
的组的空闲的存储单元中。
2.如权利要求1所述的方法,其特征在于,所述若所述外部存储器的每个
组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块
的元数据,还包括:
获取版本号计数器的当前计数值;
将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器
的当前计数值加1。
3.如权利要求1或2所述的方法,其特征在于,所述若所述外部存储器的
每个组上待写入的数据块的数量均满足小于2包括:
获取写入所述外部存储器的写操作地址;
计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定
每个组上待写入的数据块的数量满足小于2。
4.如权利要求3所述的方法,其特征在于,所述确定每个数据块写入的组,
并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中还包
括:
将第X个数据块的指针指向第X+1个数据块所在的组的组物理地址,其中,
第M个数据块的指针指向第1个数据块所在的组的组物理地址,M为整数,0
<X≤M-1。
5.如权利要求4所述的方法,其特征在于,还包括:
获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,
并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的
映射表中。
6.如权利要求5所述的方法,其特征在于,所述确定每个数据块写入的组,
并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中之后,
还包括:
接收用于查询所述外部存储器中的目标数据块的查询请求,所述查询请求
携带所述目标数据块的物理地址;
根据所述物理地址计算得到所述目标数据块所在的组的组号和组逻辑地
址,并从所述DRAM的映射表中查询所述目标数据块所在的组的组逻辑地址关
联的组物理地址;
根据所述目标数据块所在的组的组物理地址和组号定位所述外部存储器中
的所述目标数据...

【专利技术属性】
技术研发人员:舒继武范捷王元钢
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东;44

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

1