CN104778126B - 非易失性主存中事务数据存储优化方法及系统 - Google Patents
非易失性主存中事务数据存储优化方法及系统 Download PDFInfo
- Publication number
- CN104778126B CN104778126B CN201510187399.3A CN201510187399A CN104778126B CN 104778126 B CN104778126 B CN 104778126B CN 201510187399 A CN201510187399 A CN 201510187399A CN 104778126 B CN104778126 B CN 104778126B
- Authority
- CN
- China
- Prior art keywords
- data
- transaction information
- group
- write
- write parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005457 optimization Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 60
- 230000002085 persistent effect Effects 0.000 claims abstract description 23
- 230000002596 correlated effect Effects 0.000 claims abstract description 5
- 230000014759 maintenance of location Effects 0.000 claims description 7
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 230000002688 persistence Effects 0.000 description 25
- 238000005299 abrasion Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出一种非易失性主存中事务数据存储优化方法,利用非易失性主存的数据保持时间与写入速度成负相关的性质,在非易失性主存中预存多组写入参数,从中选择两组,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快,该方法判断要存储的事务数据的类型属于持久性数据还是日志;如果为持久性数据,则采用第一组写入参数进行存储;如果为日志,则采用第二组写入参数进行存储。本发明的方法既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。本发明还提供了一种非易失性主存中事务数据存储优化系统。
Description
技术领域
本发明涉及非易失性主存存储技术领域,特别涉及一种非易失性主存中事务数据存储优化方法及系统。
背景技术
非易失性主存(Non-Volatile Memory,NVM)是一种新型的内存,它具有字节可寻址、掉电非易失、存储密度高、不需要频繁的刷新、能耗低的优点。同时,它也存在不足之处,如相对较长的写延时,以及有限的写次数限制。非易失性内存对计算机系统结构、系统软件、软件库以及应用程序都有很多新的启示。非易失性内存设备可以与现有的DRAM设备共同构成混合主存,其中应用程序中临时性的数据存储在DRAM上,而把需要持久保存的数据存储在NVM上。NVM用作内存时,需要对现有的体系结构和软件架构进行重新设计或者优化。
目前的一种方法是使用软件事务内存(Software Transactional Memory,STM)技术,该技术能够使NVM维持事务特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。同时,由于STM是基于现有的编程模型,这种使用STM技术对NVM进行管理和控制的方式,易于程序员接受和使用。使用STM对NVM进行管理的通用模型,是建立非易失堆(Non-Volatile Heaps)。为了保证NVM内存在使用过程中的一致性和原子性,STM通常采用写前日志(Write-Ahead Logging,WAL),包括重做日志(Redo Log)和撤销日志(Undo Log)。
在DRAM-NVM混合主存存储模型中,DRAM用于存放暂时性的数据,而NVM用于存放需要持久化的数据。而在Non-Volatile Heaps编程模型中,在事务执行的过程中,持久性的数据包括日志(Log)和非易失性内存数据(Persistent Data)。现有的存储模型中,Log和Persistent Data是不做区分、一致对待的。然而,一方面由于NVM设备本身具有的缺点,即较长的写延时,导致事务执行时间变长;另一方面,由于NVM本身的写寿命有限,采用Log技术时,Log数据至少是Persistent Data的一倍,导致NVM设备被非程序本身需要的数据消耗掉一半。
目前的一种相关技术为NVM Duet。NVM Duet是将PCM用于一致主存,即既用于存储暂时性数据,又用来存储持久性数据。NVM Duet在PCM设备中预存了两组参数,一组数据保持时间长的参数,一组数据保持时间短的参数。数据保持时间长的参数用来存储持久性数据,而数据保留时间短的参数用来存储暂时性数据。NVM Duet所指的暂时性数据是工作内存的数据,不需要持久性和掉电恢复。但是,NVMDuet并没有考虑到持久性写也可以进行分类存储。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种非易失性主存中事务数据存储优化方法,该方法既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。
本发明的第二个目的在于提供一种非易失性主存中事务数据存储优化系统。
为了实现上述目的,本发明第一方面的实施例提出了一种非易失性主存中事务数据存储优化方法,利用非易失性主存的数据保持时间与写入速度成负相关的性质,在所述非易失性主存中预存多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快,所述方法包括以下步骤:判断要存储的事务数据的类型,其中,所述要存储的事务数据的类型包括持久性数据和日志;如果所述要存储的事务数据为持久性数据,则采用第一组写入参数对所述事务数据进行存储;如果所述要存储的事务数据为日志,则采用第二组写入参数对所述事务数据进行存储。
根据本发明实施例的非易失性主存中事务数据存储优化方法,把对非易失性内存的写,分成日志写和数据写两类,日志写采用持久性时间较短的写入参数(第二写入参数),而数据写采用持久性时间较长的写入参数(第一写入参数),这样既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。
另外,根据本发明上述实施例的非易失性主存中事务数据存储优化方法还可以具有如下附加的技术特征:
在一些示例中,还包括:根据所述第一组写入参数和第二组写入参数计算所述非易失性内存寿命延长比例。
在一些示例中,通过以下公式计算所述非易失性内存寿命延长比例:
Endurance=LogPortion×α+DataPortion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。
在一些示例中,还包括:将所述非易失性内存划分为数据区和日志区,并利用磨损均衡算法周期性地将所述数据区和日志区的存储性质进行互换。
本发明第二方面的实施例还提供了一种非易失性主存中事务数据存储优化系统,利用非易失性主存的数据保持时间与写入速度成负相关的性质,在所述非易失性主存中预存多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快,所述系统包括:判断模块,所述判断模块用于判断要存储的事务数据的类型,其中,所述要存储的事务数据的类型包括持久性数据和日志;存储模块,所述存储模块用于在所述要存储的事务数据为持久性数据时,采用第一组写入参数对所述事务数据进行存储,以及在所述要存储的事务数据为日志时,采用第二组写入参数对所述事务数据进行存储。
根据本发明实施例的非易失性主存中事务数据存储优化系统,把对非易失性内存的写,分成日志写和数据写两类,日志写采用持久性时间较短的写入参数(第二写入参数),而数据写采用持久性时间较长的写入参数(第一写入参数),这样既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。
另外,根据本发明上述实施例的非易失性主存中事务数据存储优化系统还可以具有如下附加的技术特征:
在一些示例中,还包括:计算模块,所述计算模块用于根据所述第一组写入参数和第二组写入参数计算所述非易失性内存寿命延长比例。
在一些示例中,通过以下公式计算所述非易失性内存寿命延长比例:
Endurance=LogPortion×α+DataPortion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。
在一些示例中,还包括:分区模块,所述分区模块用于将所述非易失性内存划分为数据区和日志区,并利用磨损均衡算法周期性地将所述数据区和日志区的存储性质进行互换。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的非易失性主存中事务数据存储优化方法的流程图;
图2是根据本发明一个实施例的非易失性主存中事务数据存储优化方法的应用模型示意图;
图3是根据本发明一个实施例的非易失性主存中事务数据存储优化系统的结构框图;以及
图4是根据本发明另一个实施例的非易失性主存中事务数据存储优化系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
以下结合附图描述根据本发明实施例的非易失性主存中事务数据存储优化方法及系统。
图1是根据本发明一个实施例的非易失性主存中事务数据存储优化方法的流程图。
其中,该非易失性主存中预存有多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快。
如图1所示,该方法包括以下步骤:
步骤S101,判断要存储的事务数据的类型,其中,要存储的事务数据的类型包括持久性数据和日志。
步骤S102,如果要存储的事务数据为持久性数据,则采用第一组写入参数对事务数据进行存储。
步骤S103,如果要存储的事务数据为日志,则采用第二组写入参数对事务数据进行存储。
具体地说,在新型非易失内存作为持久性主存使用时,对非易失内存的写请求,可以分为日志写(Log Write)和数据写(Data Write)。在日志机制中,日志的保存时间与所选用的日志裁剪方法有关,可以是同步裁剪(Synchronous Truncation)或者异步裁剪(Asynchronous Truncation)。同步裁剪即当事务完成后,立即将事务执行过程中保存的日志进行裁剪,异步方式裁剪即当多个事务完成后,后台进程根据日志量或者事务完成量对日志进行裁剪,无论是同步方式还是异步方式,有效日志保存的时间都被限定在某个范围之内,根据这个特性,本发明的实施例将日志写和数据写在非易失内存NVM中进行区分,NVM中预先保存两组写入参数,第一组写入参数是数据保持时间长的,例如命名为(Long Sets,LS),第二组写入参数是数据保持时间短的,例如命名为(Short Sets,SS)。在LS组,数据保存时间要求长,因而写入速度较慢,平均迭代次数较长。在SS组,数据保存时间要求短,因而写入速度较快,平均迭代次数较短。这样能够在满足应用程序需求以及非易失性内存一致性的情况下,适当的加速持久性时间短的数据的写入,这样既能够提高非易失性内存的吞吐量,也能够减缓NVM单元的消耗,延长NVM设备的使用寿命。
持久性内存中,保存数据库数据或者持久性数据结构中的数据时,要求数据保存时间长,一般这种类型的数据,要求至少保存107s(大约3个月左右)以上,这种需要持久化的数据,需要NVM采用LS组的参数进行数据写入。在采用STM对非易失性内存进行访问控制时,会引入额外的数据写入,即日志,日志是需要定时的裁剪的,而裁剪的周期也就是日志有效的时间,这个周期根据系统要求而定,通常,周期在1s以内。虽然日志的裁剪周期比较短,但是存在一种可能,即在一组事务完成时,在日志被裁剪之前,此时服务器因为掉电而宕机,服务器重启之后,需要根据日志信息,将非易失内存,恢复到掉电之前的一致性状态,这种从宕机开始到系统恢复到一致性状态的时间称为非易失内存不可用时间。内存不可用时间要比日志裁剪时间长,因为它涉及到服务器宕机发现、故障排除、故障解决、服务器数据恢复等过程。非易失性内存不可用时间的最小值,决定了所有写入到非易失内存中的数据,在写入时,需要保证的最小的持久性时间。下表1中给出了几组可能的持久性时间,依次为102s到107s。以102s的持久性时间为例,这种情况下的写入速度,是基准速度的2.1倍,而平均迭代次数是基准次数的1/2.1。
表1
本发明的实施例利用NVM设备的上述特性,在基于STM的非易失主存作为持久性数据仓库(Persistent Store)时,采用LS来存储持久性数据,而用SS来存储日志。这样,既能够保证NVM设备的在掉电时能够恢复到一致性的状态,又能够充分利用NVM设备的写特性,通过使用SS而减少日志对NVM单元的平均迭代次数,减少每个事务对内存的平均写次数(即平均迭代次数),如此,能够加快日志写操作的速度,从而加快事务执行的速度,又能够减少对NVM单元的损耗,从而延长NVM的使用时间。
另外,在本发明的一个实施例中,该方法还包括:根据第一组写入参数和第二组写入参数计算非易失性内存寿命延长比例。更为具体地,在一些示例中,例如通过以下公式计算非易失性内存寿命延长比例:
Endurance=LogPortion×α+DataPortion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。LogPortion和DataPortion存在一定的数量关系,该公式能够计算出使用对日志采用SS而数据采用LS写入参数时,比日志和数据都采用LS时,能够在理论上延长的寿命值。
作为具体的例子,例如,将NVM上的写分为两类,日志写和数据写。日志写和数据写的数量,是存在一定关联的。以原始字日志(Raw-word Write Ahead Log,RWAL)为例,每写一个8Byte字,需要在日志中保存一个8Byte的地址,和一个8Byte的数据拷贝,这种方法的日志量是数据量的2倍。按照上述计算公式,LogPortion占总写次数的2/3,DataPortion分占总写次数的1/3,而公式中的alpha参数,可以从上表1中获取,以104s为例,alpha=1.7,根据公式,算出Endurance=1.47。结果表明,在使用RWAL时,使用104s的SS参数进行日志写而使107s的LS进行数据写,要比使用107s的LS参数进行日志和数据写,在NVM采用理想的磨损均衡算法时,能够在理论上提高47%的使用寿命。
进一步地,本发明实施例的方法还包括:将非易失性内存划分为数据区和日志区,并利用磨损均衡算法周期性地将数据区和日志区的存储性质进行互换。具体地说,为了延长NVM的使用时间,对其中的所有单元进行充分利用,NVM通常会采用磨损均衡(Wear-Leveling)算法(比较典型的算法有Start-Gap算法和Security-Refresh算法)。通常,磨损均衡算法为了提高算法效率,会将NVM进行分区,每个分区指定为存储日志或者数据,且在每个分区中分别采用磨损均衡算法,定期的将分区存储性质进行改变,即日志区改为数据区,或者数据区改为日志区,从而使得NVM设备能够尽可能的被充分利用。在本发明的实施例中,例如,将整个NVM分成逻辑上的日志区和数据区,与磨损均衡算法中的分区进行映射,这样能够使得整个NVM设备的所有单元尽可能的得到一致的损耗。
作为具体的例子,图2展示了本发明实施例的一种应用场景。其中,在硬件层,DRAN和NVM构成统一编址的主存,在软件层Non-Volatile Heaps通过操作系统(OperatingSystem,OS)或者持久性内存文件系统(Persistent Memory File System,PMFS)提供的接口,为上层的应用程序提供软件库接口pmalloc/pfree。在NVM和DRAM组成的混合主存中,OS将DRAM和NVM进行统一编址,对于应用程序来说,可以无差别的对这种混合存储进行一致的访问,DRAM用于暂时性的数据内存,比如程序执行过程中的临时数据,而NVM作为持久性的数据内存,持久性的数据内存可以存储B+Tree、内存Key-Value数据库TokyoCabinet等。Non-Volatile Heaps是采用STM技术来实现持久化事务内存(Persistent MemoryTransaction)。在STM中,根据不同的需求,可以采用Redo Log或者Undo Log,二者各有优点缺点及其使用的场景。
在这种使用模型中,对NVM的写自然的分成两类:日志写和数据写,利用写请求地址中的高位中的一个bit位(在64位系统中,虚拟寻址空间为48位,物理寻址空间小于等于48位,因此地址位中的高16位未被利用),命名为TYPE,如果该bit为0,那么是数据写请求,如果该bit位是1,那么是日志写请求。NVM设备保存两组参数,LS组是以107s为最低的持久性保持时间,SS组是以104s为最低的持久性保持时间。内存控制器对NVM上的写请求,进行检测,如果TYPE=0,那么使用LS参数执行写操作,如果TYPE=1,那么使用SS参数执行写操作。
为了能够达到上述非易失性内存寿命延长比例计算公式中所给出的理论上的寿命提升,本发明的实施例需要与NVM设备所采用的磨损均衡算法进行结合,其中,比较典型的磨损均衡算法有Start-Gap算法和Security-Refresh算法。以Start-Gap磨损均衡算法为例,首先将NVM设备上的物理内存分成多个region,每个region不能过小或过大,每个region中,分别使用Start-Gap磨损均衡算法进行磨损保护。此外,NVM设备要保存一个对上层不可见的一个region,用于做交换使用。如此,在NVM使用过程中,日志写被写入到指定的region,而数据写被指定到另外的region中,经过一段时间的使用,NVM设备后台要执行交换操作,比如通过使用备份region,将保存日志的region和保存数据的region进行交换。经过交换,保存日志的region和保存数据的region,它们的写入量和速度就均摊了,从而能够提高NVM设备的整体利用率。
综上,根据本发明实施例的非易失性主存中事务数据存储优化方法,把对非易失性内存的写,分成日志写和数据写两类,日志写采用持久性时间较短的写入参数(第二写入参数),而数据写采用持久性时间较长的写入参数(第一写入参数),这样既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。
本发明的进一步实施例还提供了一种非易失性主存中事务数据存储优化系统。
图3是根据本发明一个实施例的非易失性主存中事务数据存储优化系统的结构框图。其中,该非易失性主存中预存多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快。
如图3所示,该系统100包括:判断模块110和存储模块120。
具体地,判断模块110用于判断要存储的事务数据的类型,其中,要存储的事务数据的类型包括持久性数据和日志。
存储模块120用于在要存储的事务数据为持久性数据时,采用第一组写入参数对事务数据进行存储,以及在要存储的事务数据为日志时,采用第二组写入参数对事务数据进行存储。
另外,在一些示例中,结合图4所示,该系统100还包括计算模块130。计算模块130用于根据第一组写入参数和第二组写入参数计算非易失性内存寿命延长比例。更为具体地,在该示例中,例如通过以下公式计算非易失性内存寿命延长比例:
Endurance=LogPortion×α+DataPortion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。
进一步地,如图4所示,该系统100还包括分区模块140。分区模块140用于将非易失性内存划分为数据区和日志区,并利用磨损均衡算法周期性地将数据区和日志区的存储性质进行互换。在本发明的实施例中,例如,将整个NVM分成逻辑上的日志区和数据区,与磨损均衡算法中的分区进行映射,这样能够使得整个NVM设备的所有单元尽可能的得到一致的损耗。
需要说明的是,本发明上述实施例的非易失性主存中事务数据存储优化系统100的具体实现方式与本发明实施例的非易失性主存中事务数据存储优化方法的具体实现方式类似,因此对于该系统100的具体示例性描述或具体实施例请参见上述对方法的描述部分,为了减少冗余,此处不再赘述。
综上,根据本发明实施例的非易失性主存中事务数据存储优化系统,把对非易失性内存的写,分成日志写和数据写两类,日志写采用持久性时间较短的写入参数(第二组写入参数),而数据写采用持久性时间较长的写入参数(第一组写入参数),这样既能够满足系统在发生故障时对一致性的要求,同时能够加速事务执行时对日志的操作,而且能够有效的延长非易失性内存的使用寿命。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种非易失性主存中事务数据存储优化方法,其特征在于,利用非易失性主存的数据保持时间与写入速度成负相关的性质,在所述非易失性主存中预存多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快,所述方法包括以下步骤:
判断要存储的事务数据的类型,其中,所述要存储的事务数据的类型包括持久性数据和日志;
如果所述要存储的事务数据为持久性数据,则采用第一组写入参数对所述事务数据进行存储;
如果所述要存储的事务数据为日志,则采用第二组写入参数对所述事务数据进行存储;
将所述非易失性主存划分为数据区和日志区,并利用磨损均衡算法周期性地将所述数据区和日志区的存储性质进行互换。
2.根据权利要求1所述的非易失性主存中事务数据存储优化方法,其特征在于,还包括:
根据所述第一组写入参数和第二组写入参数计算所述非易失性主存寿命延长比例。
3.根据权利要求2所述的非易失性主存中事务数据存储优化方法,其特征在于,通过以下公式计算所述非易失性主存寿命延长比例:
Endurance=LogPortion×α+DataPortion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。
4.一种非易失性主存中事务数据存储优化系统,其特征在于,利用非易失性主存的数据保持时间与写入速度成负相关的性质,在所述非易失性主存中预存多组写入参数,从中选择两组写入参数,其中,第一组写入参数的数据保持时间长、写入速度慢,第二组写入参数的数据保持时间短、写入速度快,所述系统包括:
判断模块,所述判断模块用于判断要存储的事务数据的类型,其中,所述要存储的事务数据的类型包括持久性数据和日志;
存储模块,所述存储模块用于在所述要存储的事务数据为持久性数据时,采用第一组写入参数对所述事务数据进行存储,以及在所述要存储的事务数据为日志时,采用第二组写入参数对所述事务数据进行存储;
分区模块,所述分区模块用于将所述非易失性主存划分为数据区和日志区,并利用磨损均衡算法周期性地将所述数据区和日志区的存储性质进行互换。
5.根据权利要求4所述的非易失性主存中事务数据存储优化系统,其特征在于,还包括:
计算模块,所述计算模块用于根据所述第一组写入参数和第二组写入参数计算所述非易失性主存寿命延长比例。
6.根据权利要求5所述的非易失性主存中事务数据存储优化系统,其特征在于,通过以下公式计算所述非易失性主存寿命延长比例:
Endurance=LogPortion×α+Dataportion,
其中,LogPortion为日志写入量占日志和数据总写入量的比例,DataPortion为数据写入量占日志和数据总写入量的比例,α为第二组写入参数比第一组写入参数的写入速度提高的倍数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510187399.3A CN104778126B (zh) | 2015-04-20 | 2015-04-20 | 非易失性主存中事务数据存储优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510187399.3A CN104778126B (zh) | 2015-04-20 | 2015-04-20 | 非易失性主存中事务数据存储优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778126A CN104778126A (zh) | 2015-07-15 |
CN104778126B true CN104778126B (zh) | 2017-10-24 |
Family
ID=53619605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510187399.3A Active CN104778126B (zh) | 2015-04-20 | 2015-04-20 | 非易失性主存中事务数据存储优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778126B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170091254A1 (en) * | 2015-09-24 | 2017-03-30 | Kshitij A. Doshi | Making volatile isolation transactions failure-atomic in non-volatile memory |
CN105404673B (zh) * | 2015-11-19 | 2018-11-09 | 清华大学 | 基于nvram的高效文件系统构建方法 |
CN105512342B (zh) * | 2016-01-05 | 2019-03-26 | 上海交通大学 | 基于htm和nvram的内存事务性计算的持久性方法 |
WO2017181432A1 (zh) * | 2016-04-22 | 2017-10-26 | 华为技术有限公司 | 一种数据写入的方法和装置 |
CN105955891B (zh) * | 2016-04-25 | 2018-12-14 | 华中科技大学 | 一种双层磨损均衡方法及系统 |
CN107315746B (zh) * | 2016-04-26 | 2020-08-25 | 清华大学 | 基于非易失性主存的高效事务文件系统构建方法 |
CN107562567A (zh) * | 2016-06-30 | 2018-01-09 | 华为技术有限公司 | 一种数据处理方法以及数据处理设备 |
US10318175B2 (en) | 2017-03-07 | 2019-06-11 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
CN107479835A (zh) * | 2017-08-29 | 2017-12-15 | 长沙曙通信息科技有限公司 | 一种存储系统保护关键业务数据实现方法 |
CN107957962A (zh) * | 2017-12-19 | 2018-04-24 | 重庆大学 | 一种面向大图计算高效图划分方法与系统 |
CN108897642B (zh) * | 2018-06-27 | 2020-11-27 | 清华大学 | 持久性事务内存系统中日志机制的优化方法及装置 |
US10909012B2 (en) * | 2018-11-12 | 2021-02-02 | H3 Platform, Inc. | System having persistent memory |
CN111209342B (zh) * | 2020-01-13 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 分布式系统、数据同步与节点管理方法、设备及存储介质 |
CN111258789B (zh) * | 2020-01-19 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 非易失内存器件剩余寿命预测方法、装置、设备及介质 |
CN111638996B (zh) * | 2020-05-14 | 2023-04-11 | 华中科技大学 | 一种保证非易失内存中故障原子性的方法及系统 |
CN112035410B (zh) * | 2020-08-18 | 2023-08-18 | 腾讯科技(深圳)有限公司 | 日志存储方法、装置、节点设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067968A (zh) * | 2007-04-29 | 2007-11-07 | 北京中星微电子有限公司 | 一种自适应控制闪存接口读写速度的装置和方法 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN104461935A (zh) * | 2014-11-27 | 2015-03-25 | 华为技术有限公司 | 一种进行数据存储的方法、装置及系统 |
-
2015
- 2015-04-20 CN CN201510187399.3A patent/CN104778126B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067968A (zh) * | 2007-04-29 | 2007-11-07 | 北京中星微电子有限公司 | 一种自适应控制闪存接口读写速度的装置和方法 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN104461935A (zh) * | 2014-11-27 | 2015-03-25 | 华为技术有限公司 | 一种进行数据存储的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104778126A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778126B (zh) | 非易失性主存中事务数据存储优化方法及系统 | |
CN101903866B (zh) | 非易失存储介质中的数据存储的方法和系统 | |
CN104881371B (zh) | 持久性内存事务处理缓存管理方法与装置 | |
CN102667736B (zh) | 存储器管理装置及存储器管理方法 | |
CN107728937B (zh) | 一种使用非易失性内存介质的键值对持久存储方法及系统 | |
KR20180097441A (ko) | 비차단 제어 업데이트 동작을 수행하도록 구성되는 데이터 저장 디바이스 | |
CN100383792C (zh) | 缓存数据库数据组织方法 | |
CN102495806B (zh) | 相变内存周期性磨损均衡方法及其内存管理方法 | |
CN105242871A (zh) | 一种数据写入方法及装置 | |
CN101419834B (zh) | 平均磨损方法及使用此方法的控制器 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN108762989B (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
CN107357680A (zh) | 数据处理设备和数据处理的方法 | |
CN102508785A (zh) | 一种磨损均衡方法及装置 | |
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN106815152A (zh) | 一种优化页级闪存转换层的方法 | |
CN106227621A (zh) | 基于逻辑卷管理精简卷的数据备份方法及系统 | |
CN108733306A (zh) | 一种文件合并方法及装置 | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
CN109960471A (zh) | 数据存储方法、装置、设备以及存储介质 | |
CN109558335A (zh) | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 | |
CN103365926B (zh) | 在文件系统中用于保存快照的方法和装置 | |
CN109213693A (zh) | 存储管理方法、存储系统和计算机程序产品 | |
CN107861884B (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |