一种用户态下dma数据缓存一致性方法、装置及系统

文档序号:1889031 发布日期:2021-11-26 浏览:21次 >En<

阅读说明:本技术 一种用户态下dma数据缓存一致性方法、装置及系统 (DMA data cache consistency method, device and system in user mode ) 是由 高强 于 2021-08-13 设计创作,主要内容包括:本发明公开了一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质,该方法包括:在用户态下根据DMA发送的数据存储完成通知确定出目标内存;判断各个缓存中是否存在与目标内存对应的目标缓存,若存在,则获取目标缓存中的数据信息,并对数据信息进行校验;若不存在,则直接获取目标内存中存储的数据信息,并结束操作;当验证成功时,目标缓存中的数据信息与目标内存中存储的数据信息一致,结束操作;当校验失败时,延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤,直至不存在与目标内存对应的目标缓存或校验成功;能够提高缓存与内存中数据的一致性,有利于提升系统性能及提高用户使用体验。(The invention discloses a method, a device and a system for DMA data cache consistency in a user mode and a computer readable storage medium, wherein the method comprises the following steps: determining a target memory according to a data storage completion notification sent by the DMA in a user mode; judging whether a target cache corresponding to the target memory exists in each cache, if so, acquiring data information in the target cache, and verifying the data information; if the data information does not exist, directly acquiring the data information stored in the target memory, and finishing the operation; when the verification is successful, the data information in the target cache is consistent with the data information stored in the target memory, and the operation is finished; when the verification fails, delaying for a preset time, returning to execute the step of judging whether a target cache corresponding to the target memory exists in each cache until the target cache corresponding to the target memory does not exist or the verification is successful; the consistency of the data in the cache and the memory can be improved, and the system performance and the user experience can be improved.)

一种用户态下DMA数据缓存一致性方法、装置及系统

技术领域

本发明涉及计算机技术领域,特别是涉及一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质。

背景技术

DMA(Direct Memory Access,直接存储器访问)可以接管总线完成数据传输从而解放CPU(Central Processing Unit/Processor,中央处理器),使CPU完成其他的工作。但是如果DMA缓存是带cache(高速缓冲存储器)的,而CPU又是带预取功能的,此时接收端接收到数据后,缓存中的数据与内存中的数据可能出现不一致的情况,从而导致数据错误。实验证实,当CPU Cache越大且Cache自动失效时间越长时,该问题出现概率越大。

当CPU更改了某条cache line中的数据,则该cache line中的数据比对应内存中的数据新,此时需要将这条cache line标记为modified(更新),以便在必要时候(例如,cache满了,该cache line需要被释放,把位子腾出来给新的cache line)将cache line中的内容flush到内存来同步。cache为维护一致性的操作可分为flush和invalidate,在使用DMA的时候,外设(比如网卡)传输过来的数据会不经过CPU直接传送到内存,这时内存中的数据就比对应cache中的数据要新,需要使无效(invalidate)相关的cache line(标记为dirty),这样CPU下次读取这条cache line里的数据的时候,才能知道这些数据不是最新的,得从内存更新。其实某条cache line被invalidate之后就没有利用价值了,等同于不存在,相当于被清空了,所以也可以算是一种flush。

但是,用户态下没有单独的invalidate指令,因为invalidate指令属于特权指令,用户态下只有invalidate和Flush的操作,但是这样一来就造成,当需要invalidate相关cache中的数据时,必须附带Flush操作,也即将cache中的数据刷至对应的存储中,从而污染DMA传输到内存中的新数据。因此,在外设(比如网卡)传输过来的数据直接传送到内存后,内存中的数据就比对应cache中的数据要新,由于在用户态下无法对cache进行无效标记,就会导致CPU从与内存对应的cache中读取的数据不是内存中存储的新数据,导致数据验证失败,现有技术中通常在在数据验证失败后系统会直接进行重启的操作,影响系统性能及影响用户使用体验。

鉴于此,如何提供一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质成为本领域技术人员要解决的问题。

发明内容

本发明实施例的目的是提供一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质,在使用过程中能够提高缓存与内存中数据的一致性,有利于提升系统性能及提高用户使用体验。

为解决上述技术问题,本发明实施例提供了一种用户态下DMA数据缓存一致性方法,包括:

在用户态下根据DMA发送的数据存储完成通知确定出目标内存;

判断各个缓存中是否存在与所述目标内存对应的目标缓存,若存在,则获取所述目标缓存中的数据信息,并对所述数据信息进行校验;若不存在,则直接获取所述目标内存中存储的数据信息,并结束操作;

当验证成功时,所述目标缓存中的数据信息与所述目标内存中存储的数据信息一致,结束操作;

当校验失败时,延迟预设时长后返回执行所述判断各个缓存中是否存在与所述目标内存对应的目标缓存的步骤,直至不存在与所述目标内存对应的目标缓存或校验成功。

可选的,在校验失败后,还包括:

在当前不存在链路层报错和物理层报错时,执行所述延迟预设时长后返回执行所述判断各个缓存中是否存在与所述目标内存对应的目标缓存的步骤。

可选的,在所述延迟预设时长后返回执行所述判断各个缓存中是否存在与所述目标内存对应的目标缓存的步骤之前,还包括:

判断当前连续校验失败的次数是否达到预设次数,若是,数据传输失败,控制系统进行重启操作,若否,则执行所述延迟预设时长后返回执行所述判断各个缓存中是否存在与所述目标内存对应的目标缓存的步骤。

可选的,在所述在用户态下根据DMA发送的数据存储完成通知确定出目标内存之前,还包括:

在用户态下通过DMA接收发送端发送的原始数据信息;其中,所述发送端从所述原始数据信息的有效数据的起始端起,获取目标预设长度的有效数据计算出标准CRC校验值,并将所述CRC校验值添加至所述有效数据末尾构成所述原始数据信息;其中,相邻两次所发送的原始数据信息分别对应的目标预设长度不同;

通过所述DMA将所述原始数据信息发送至内存进行存储,并生成数据存储完成通知;

则,所述数据信息包括有效数据和标准CRC校验值;所述对所述数据信息进行校验的过程为:

从所述数据信息的有效数据起始端起,获取所述目标预设长度的有效数据,并依据所述目标预设长度的有效数据计算出当前CRC校验值;

将所述当前CRC校验值与所述数据信息中的标准CRC校验值进行比较,若一致,则校验成功,若不一致,则校验失败。

可选的,所述发送端从所述原始数据信息中,获取目标预设长度的有效数据计算出标准CRC校验值的过程为:

所述发送端根据与上一次发送的原始数据信息对应的历史目标预设长度,从第一预设长度和第二预设长度中选出与所述历史目标预设长度不同的预设长度作为与当前发送的原始数据信息对应的目标预设长度;其中,每次发送数据信息时均从第一预设长度和第二预设长度中交替的选出一个与上次不同的预设长度作为目标预设长度;

从所述原始数据信息的有效数据起始端起获取所述目标预设长度的有效数据,并依据所述目标预设长度的有效数据计算出标准CRC校验值。

本发明实施例中还提供了一种用户态下DMA数据缓存一致性装置,包括:

确定模块,用于在用户态下根据DMA发送的数据存储完成通知确定出目标内存;

判断模块,用于判断各个缓存中是否存在与所述目标内存对应的目标缓存,若存在,则触发验证模块;若不存在,则触发获取模块;

所述验证模块,用于获取所述目标缓存中的数据信息,并对所述数据信息进行校验;

所述获取模块,用于直接获取所述目标内存中存储的数据信息,并结束操作;

结束模块,用于当验证成功时,所述目标缓存中的数据信息与所述目标内存中存储的数据信息一致,结束操作;

返回模块,用于当校验失败时,延迟预设时长后触发所述判断模块。

可选的,所述返回模块,具体用于在当前不存在链路层报错和物理层报错时,延迟预设时长后触发所述判断模块。

可选的,还包括:

接收模块,用于在用户态下通过DMA接收发送端发送的原始数据信息;其中,所述发送端从所述原始数据信息的有效数据的起始端起,获取目标预设长度的有效数据计算出标准CRC校验值,并将所述CRC校验值添加至所述有效数据末尾构成所述原始数据信息;其中,相邻两次所发送的原始数据信息分别对应的目标预设长度不同;

发送模块,用于通过所述DMA将所述原始数据信息发送至内存进行存储,并生成数据存储完成通知;

则,所述数据信息包括有效数据和标准CRC校验值;所述验证模块包括:

获取单元,用于从所述数据信息的有效数据起始端起,获取所述目标预设长度的有效数据,并依据所述目标预设长度的有效数据计算出当前CRC校验值;

比较单元,用于将所述当前CRC校验值与所述数据信息中的标准CRC校验值进行比较,若一致,则触发所述结束模块,若不一致,则触发所述返回模块。

本发明实施例中还提供了一种用户态下DMA数据缓存一致性系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述用户态下DMA数据缓存一致性方法的步骤。

本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述用户态下DMA数据缓存一致性方法的步骤。

本发明实施例中提供了一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质,该方法包括:在用户态下根据DMA发送的数据存储完成通知确定出目标内存;判断各个缓存中是否存在与目标内存对应的目标缓存,若存在,则获取目标缓存中的数据信息,并对数据信息进行校验;若不存在,则直接获取目标内存中存储的数据信息,并结束操作;当验证成功时,目标缓存中的数据信息与目标内存中存储的数据信息一致,结束操作;当校验失败时,延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤,直至不存在与目标内存对应的目标缓存或校验成功。

可见,本发明实施例中在用户态下根据DMA发送的数据存储完成通知确定出目标内存,然后从各个缓存中确定出是否存在与该目标内存对应的缓存,若不存在对应的目标缓存,则说明CPU还没有将目标内存中存储的数据信息刷到缓存中,则直接从目标内存中获取存储的数据信息即可,若存在对应的目标缓存,则从对应的目标缓存中获取出目标缓存中的数据信息,并对数据信息进行校验,当校验成功,则说明目标缓存中缓存的数据信息与目标内存中存储的数据信息一致,数据获取成功结束操作,当校验不成功时,则延迟预设时长后再继续判断各个缓存中是否存在与目标内存一致的目标缓存,至不存在与目标内存对应的目标缓存或校验成功,结束操作;其中,延迟预设时长有利于CPU利用这段时间将目标内存中的数据信息刷到缓存中,以便保持缓存与内存中数据一致;本发明能够提高缓存与内存中数据的一致性,有利于提升系统性能及提高用户使用体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种用户态下DMA数据缓存一致性方法的流程示意图;

图2为本发明实施例提供的一种用户态下DMA数据缓存一致性装置的结构示意图。

具体实施方式

本发明实施例提供了一种用户态下DMA数据缓存一致性方法、装置、系统及计算机可读存储介质,在使用过程中能够提高缓存与内存中数据的一致性,有利于提升系统性能及提高用户使用体验。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种用户态下DMA数据缓存一致性方法的流程示意图。该方法包括:

S110:在用户态下根据DMA发送的数据存储完成通知确定出目标内存;

需要说明的是,本发明实施例中应用在用户态下,在通过网卡实现设备间DMA数据搬移时DMA直接将搬移的数据存储至内存中,并且在DMA将数据信息发送至内存中存储完成后生成数据存储完成通知,接收DMA发送的数据存储完成通知后,根据该数据存储完成通知确定出目标内存,具体可以根据数据存储完成通知中携带的内存标识码确定出对应的目标内存。

S120:判断各个缓存中是否存在与目标内存对应的目标缓存,若存在,则进入S130;若不存在,则进入S160;

S130:获取目标缓存中的数据信息,并对数据信息进行校验;

具体的,在缓存中存在与目标内存对应的目标缓存时,则从该目标缓存中获取数据信息,并对该数据信息进行校验,判断数据信息的校验是否成功。

S140:当验证成功时,目标缓存中的数据信息与目标内存中存储的数据信息一致,结束操作;

具体的,在校验成功时,说明目标缓存中存储的数据信息与目标内存中存储的数据信息一致,此时获取的数据信心是正确的数据信息,结束操作。

S150:当校验失败时,延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤,直至不存在与目标内存对应的目标缓存或校验成功;

具体的,如果从目标缓存中获取的数据信息校验失败,则说明该数据信息与目标内存中存储的数据信息不一致,此时可以延迟预设时长后再执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤,并且在存在与目标内存对应的目标缓存时重新读取该目标缓存的数据信息,并对该数据信息进行校验,直至各个缓存中不存在与该目标内存一致的目标缓存或数据校验失败。其中,具体可以在当前不存在链路层报错和物理层报错时,执行延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤。也即,在当前不存在链路层报错和物理层报错,且验证失败,则说明从目标缓存中获取的数据信息不是目标内存中新存储的数据信息,发生了cache数据不一致的问题。

需要说明的是,由于CPU自身的机制是会不断将内存中的数据信息刷新至与内存对应的缓存cache中,因此当有新的数据存储至内存、并且CPU还没有将新的数据从内存中刷新至对应的缓存cache中时,这是从缓存中获取到的数据信息是旧的数据信息,由于内存中的数据信息与缓存中的数据信息不一致,因此通过对该数据信息校验则会校验失败,但是由于CUP不断的将内存中的数据刷新至对应的缓存中,故本发明中设置延迟读取的机制,也即在校验失败后延迟预设时长后再次触发判断各个缓存中是否存在与目标内存对应的目标缓存,并在存在时读取目标缓存中的数据信息的步骤,如果一直存储与该目标内存对应的目标缓存,则在CUP将目标内存中的数据信息刷新至目标缓存中后,则在某一轮从目标缓存中读取的数据信息将校验成功,也即获取到正确的数据信息。另外,根据CUP自身的机制,由于缓存的整体大小远小于内存整体大小,因此,在某一个内存中存入数据后,CPU会从缓存中找出与该内存对应的缓存然后将数据刷新至该缓存中,但是当缓存中不存在与该内存对应的缓存时,则可以直接从内存中获取对应的数据信息,并且CPU还会从各个缓存中找出一个空闲缓存或者在没有空闲缓存时,需要从第一个缓存将最先被使用的缓存与该内存建立映射关系,并将该内存中的数据刷新至该缓存中覆盖该缓存中原来存储的旧数据。

S160:直接获取目标内存中存储的数据信息,并结束操作。

需要说明的是,本发明实施例中的在确定出各个缓存中不存在与目标内存对应的目标缓存时,则可以直接从目标内存中获取所存储的数据信息。

进一步的,在对数据的IOPS要求较高时,可以在上述延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤之前,该方法还可以包括:

判断当前连续校验失败的次数是否达到预设次数,若是,数据传输失败,控制系统进行重启操作,若否,则执行延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤。进一步的,在上述在用户态下根据DMA发送的数据存储完成通知确定出目标内存之前,该方法还可以包括:

在用户态下通过DMA接收发送端发送的原始数据信息;其中,发送端从原始数据信息的有效数据的起始端起,获取目标预设长度的有效数据计算出标准CRC校验值,并将CRC校验值添加至有效数据末尾构成原始数据信息,其中,相邻两次所发送的原始数据信息分别对应的目标预设长度不同;

通过DMA将原始数据信息发送至内存进行存储,并生成数据存储完成通知;

需要说明的是,在用户态下,发送端将发送的原始数据信息通过DMA发送至内存中进行存储,其中,原始数据信息包括有效数据和标准CRC校验值,其中,发送端从有效数据的起始端起获取目标预设长度的有效数据计算出标准CRC校验值,然后将该标准CRC校验值添加至有效数据的末尾从而构成原始数据信息。其中,发送端上一次发送的原始数据信息对应的目标预设长度与当前发送的原始数据信息对应的目标预设长度不同,并且当前发送的原始数据信息对应的目标预设长度与下一次发送的原始数据信息对应的目标预设长度也不同。

则相应的,上述数据信息包括有效数据和标准CRC校验值;对数据信息进行校验的过程,具体可以为:

从数据信息的有效数据起始端起,获取目标预设长度的有效数据,并依据目标预设长度的有效数据计算出当前CRC校验值;

将当前CRC校验值与数据信息中的标准CRC校验值进行比较,若一致,则校验成功,若不一致,则校验失败。

具体的,从目标缓存中获取数据信息,并从该数据信息中的有效数据起始端起,获取上述目标预设长度的有效数据,并依据该目标预设长度的有效数据计算出当前CRC校验值,然后将该当前CRC校验值与所获取的数据信息中的标准CRC校验值进行比较,若两者一致则说明目标缓存中的数据信息与目标内存中存储的数据信息一致,若两者不一致,则说明目标缓存中的数据信息与目标内存中存储的数据信息不一致。

需要说明的是,由于发送端在发送原始数据信息时,针对相邻两次所发送的原始数据信息分别对应的目标预设长度不同,因此,在将当前发送的原始数据信息通过DMA发送至目标内存中进行存储后,如果CPU还没有来得及将目标内存中本次存储的数据信息刷新至目标缓存中,则目标缓存中存储的仍旧是上一次发送至目标内存中的数据信息,则由于上一次采用的目标预设长度与本次采用的目标预设长度不同,例如上一次采用的是30,本次采用的是60,也即,目标缓存中缓存的数据信息中的标准CRC校验值是采用目标预设长度30的有效数据计算出的,因此在从目标缓存中获取出数据信息后,采用本次的目标预设长度获取有效数据后计算出的当前CRC校验值与数据信息中的标准CRC校验值会不一致,从而证明目标缓存中的数据信息与目标内存中的数据信息不一致,延迟预设时长后若CPU在这段时间将目标内存中的数据信息刷新至目标缓存中,则再次读取目标缓存中的数据信息后采用本次的目标预设长度(例如60)的有效数据计算出的当前CRC校验值则与该数据信息中的标准CRC校验值一致,从而确定出从目标缓存中获取的数据信息与目标内存中存储的数据信息一致。

更进一步的,上述发送端从原始数据信息中,获取目标预设长度的有效数据计算出标准CRC校验值的过程,具体可以为:

发送端根据与上一次发送的原始数据信息对应的历史目标预设长度,从第一预设长度和第二预设长度中选出与历史目标预设长度不同的预设长度作为与当前发送的原始数据信息对应的目标预设长度;其中,每次发送数据信息时均从第一预设长度和第二预设长度中交替的选出一个与上次不同的预设长度作为目标预设长度;

从原始数据信息的有效数据起始端起获取目标预设长度的有效数据,并依据目标预设长度的有效数据计算出标准CRC校验值。

需要说明的是,本发明实施例中可以预先设置第一预设长度和第二预设长度,控制发送端每次发送数据信息时,将第一预设长度和第二预设长度交替作为目标预设长度,从而可以保证相邻两次发送的数据信息对应的目标预设长度不同。相应的,在从目标缓存中获取到数据信息后,也将第一预设长度和第二预设长度交替作为目标预设长度,其中,该过程中采用的目标预设长度与上述发送端发送数据信息是的目标预设长度相同,可以在每次接收到数据存储完成通知时根据第一预设长度和第二预设长度交替进行的规律,自动确定出当前对应的目标预设长度(例如上一次为第一预设长度,当前则为第二预设长度),直至下一次接收到数据存储完成通知后,再切换为另一个预设长度(例如下一次为第一预设长度)。

可见,本发明实施例中在用户态下根据DMA发送的数据存储完成通知确定出目标内存,然后从各个缓存中确定出是否存在与该目标内存对应的缓存,若不存在对应的目标缓存,则说明CPU还没有将目标内存中存储的数据信息刷到缓存中,则直接从目标内存中获取存储的数据信息即可,若存在对应的目标缓存,则从对应的目标缓存中获取出目标缓存中的数据信息,并对数据信息进行校验,当校验成功,则说明目标缓存中缓存的数据信息与目标内存中存储的数据信息一致,数据获取成功结束操作,当校验不成功时,则延迟预设时长后再继续判断各个缓存中是否存在与目标内存一致的目标缓存,至不存在与目标内存对应的目标缓存或校验成功,结束操作;其中,延迟预设时长有利于CPU利用这段时间将目标内存中的数据信息刷到缓存中,以便保持缓存与内存中数据一致;本发明能够提高缓存与内存中数据的一致性,有利于提升系统性能及提高用户使用体验。

在上述实施例的基础上,本发明实施例中还提供了一种用户态下DMA数据缓存一致性装置,具体请参照图2。该装置包括:

确定模块21,用于在用户态下根据DMA发送的数据存储完成通知确定出目标内存;

判断模块22,用于判断各个缓存中是否存在与目标内存对应的目标缓存,若存在,则触发验证模块23;若不存在,则触发获取模块24;

验证模块23,用于获取目标缓存中的数据信息,并对数据信息进行校验;

获取模块24,用于直接获取目标内存中存储的数据信息,并结束操作;

结束模块25,用于当验证成功时,目标缓存中的数据信息与目标内存中存储的数据信息一致,结束操作;

返回模块26,用于当校验失败时,延迟预设时长后触发判断模块22。

可选的,返回模块26,具体用于在当前不存在链路层报错和物理层报错时,延迟预设时长后触发判断模块。

可选的,该装置还包括:

接收模块,用于在用户态下通过DMA接收发送端发送的原始数据信息;其中,发送端从原始数据信息的有效数据的起始端起,获取目标预设长度的有效数据计算出标准CRC校验值,并将CRC校验值添加至有效数据末尾构成原始数据信息;其中,相邻两次所发送的原始数据信息分别对应的目标预设长度不同;

发送模块,用于通过DMA将原始数据信息发送至内存进行存储,并生成数据存储完成通知;

则,数据信息包括有效数据和标准CRC校验值;验证模块23包括:

获取单元,用于从数据信息的有效数据起始端起,获取目标预设长度的有效数据,并依据目标预设长度的有效数据计算出当前CRC校验值;

比较单元,用于将当前CRC校验值与数据信息中的标准CRC校验值进行比较,若一致,则触发结束模块,若不一致,则触发返回模块。

需要说明的是,本发明实施例中所提供的用户态下DMA数据缓存一致性装置具有与上述实施例中所提供的用户态下DMA数据缓存一致性方法相同的有益效果,并且对于本发明实施例中所涉及到的用户态下DMA数据缓存一致性方法的具体介绍请参照上述实施例,本发明在此不再赘述。

在上述实施例的基础上,本发明实施例中还提供了一种用户态下DMA数据缓存一致性系统,该系统包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述用户态下DMA数据缓存一致性方法的步骤。

例如,本发明实施例中的处理器具体可以用于实现在用户态下根据DMA发送的数据存储完成通知确定出目标内存;判断各个缓存中是否存在与目标内存对应的目标缓存,若存在,则获取目标缓存中的数据信息,并对数据信息进行校验;若不存在,则直接获取目标内存中存储的数据信息,并结束操作;当验证成功时,目标缓存中的数据信息与目标内存中存储的数据信息一致,结束操作;当校验失败时,延迟预设时长后返回执行判断各个缓存中是否存在与目标内存对应的目标缓存的步骤,直至不存在与目标内存对应的目标缓存或校验成功。

在上述实施例的基础上,本发明实施例中还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述用户态下DMA数据缓存一致性方法的步骤。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:PCIe插槽接口转接设备、测试设备、系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!