System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种DMA请求的实现方法、装置及存储介质制造方法及图纸_技高网

一种DMA请求的实现方法、装置及存储介质制造方法及图纸

技术编号:41060366 阅读:3 留言:0更新日期:2024-04-24 11:12
本申请公开了一种DMA请求的实现方法、装置及存储介质。本申请公开的DMA请求的实现方法包括:记录每个队列的状态机和超时时刻,如果没有队列更新事件发生则采用轮询队列的方式轮询到该队列。如果当队列更新事件发生时,使用所述队列的编号ID作为队列信息内存的地址索引,读取之前记录的状态信息与超时时刻,送入所述状态机处理,处理完成后将结果回写到所述地址索引的内存中。本申请还提供了一种DMA请求的实现装置及存储介质。

【技术实现步骤摘要】

本申请涉及数据通信领域,尤其涉及一种dma请求的实现方法、装置和存储介质。


技术介绍

1、dma传输是一种直接内存访问技术,也称为直接存储器访问技术,是一种基于硬件的数据传输方式。dma传输可以通过直接访问主存储器来读写数据,而不需要cpu的参与。dma传输的最大优点在于其高效的数据传输能力,可以在不占用cpu资源的情况下进行数据传输。网络收发包pps(即packets per second,每秒发包数量),是指服务器每秒最多可以处理的网络数据包数量。pps是衡量云服务器网络性能的一项重要指标,网络收发包pps越高,则表示服务器的性能越。pps性能测试通常使用64字节小包来实现,这表示每次64字节报文的传输,需要一次pcie io(peripheral component interconnect express io),以及一个中断msix(message signaled interrupts)请求。如果使用常规的pcie-dma(pciedirect memory access)的方式来实现,这无疑会对pcie信用恢复以及cpu对中断响应带来极大挑战。


技术实现思路

1、针对上述技术问题,本申请实施例提供了一种dma请求的实现方法、装置及存储介质。

2、第一方面,本申请实施例提供的一种dma请求的实现方法,包括:

3、记录每个队列的状态机和超时时刻;

4、如果没有队列更新事件发生则采用轮询队列的方式轮询到该队列;如果当队列更新事件发生时,使用所述队列的编号id作为队列信息内存的地址索引,读取之前记录的状态信息与超时时刻,送入所述状态机处理,处理完成后将结果回写到所述地址索引的内存中。

5、优选的,送入所述状态机处理包括:

6、向所述状态机发起描述符表项编号dcb idx更新请求;

7、通过所述状态机处理所述dcb idx更新请求。

8、优选的,通过所述状态机处理所述dcb idx更新请求包括:

9、启动计时器,状态机进入空闲状态;

10、接收到dcb idx更新请求时,进入忙碌状态,并根据当前时刻设定下一次计时器超时时间,并直接输出更新请求;

11、若再次接收到dcb idx更新请求且状态机处于忙碌状态,先判断当前时间是否已经超出超时时间,若已经超时,则输出dcb idx更新请求,状态机跳回空闲状态;如未超时,抑制本次dcb idx更新请求,状态机跳到等待状态;

12、若再次接收到dcb idx更新请求且为等待状态,抑制本次dcb idx更新请求,直到达到超时时间,释放最后一个收到的dcb idx更新请求,状态机跳到空闲状态。

13、优选的,采用轮询队列的方式轮询到该队列包括:

14、采用每个时钟周期递增轮询队列的方式轮询到该队列。

15、第二方面,本申请实施例还提供一种dma请求的实现装置,包括:

16、队列管理模块,所述队列管理模块包括多个队列,被配置用于记录每个队列的状态机和超时时刻;如果没有队列更新事件发生则采用轮询队列的方式轮询到该队列;如果当队列更新事件发生时,使用所述队列的编号id作为队列信息内存的地址索引,读取之前记录的状态信息与超时时刻,送入所述状态机处理,处理完成后将结果回写到所述地址索引的内存中;

17、状态机模块,被配置用于处理所述队列管理模块的描述符表项编号dcb idx更新请求。

18、第三方面,本申请实施例还提供一种dma请求的实现装置,包括:存储器、处理器和用户接口;

19、所述存储器,用于存储计算机程序;

20、所述用户接口,用于与用户实现交互;

21、所述处理器,用于读取所述存储器中的计算机程序,所述处理器执行所述计算机程序时,实现本专利技术提供的dma请求的实现方法。

22、第四方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现本专利技术提供的dma请求的实现方法。

23、使用本专利技术的dma请求的实现方法,对每个队列单独记录状态机和超时时间,支持单队列、多队列下的idx更新写请求合并,适用于虚拟化、非虚拟化场景,并且可以对任意长度的数据请求做合并处理;减少了写请求数量,降低对pcie带宽的消耗,提升整体性能;减少了msix中断请求次数,降低cpu响应次数。

本文档来自技高网...

【技术保护点】

1.一种DMA请求的实现方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述送入所述状态机处理包括:

3.根据权利要求2所述的方法,其特征在于,所述通过所述状态机处理所述DCB idx更新请求包括:

4.根据权利要求2所述的方法,其特征在于,所述采用轮询队列的方式轮询到该队列包括:

5.一种DMA请求的实现装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,所述送入所述状态机处理包括:

7.根据权利要求5所述的装置,其特征在于,所述状态机模块被配置用于处理所述队列管理模块的描述符表项编号DCB idx更新请求包括:

8.根据权利要求5所述的装置,其特征在于,所述采用轮询队列的方式轮询到该队列包括:

9.一种DMA请求的实现装置,其特征在于,包括存储器、处理器和用户接口;

10.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4之一所述的DMA请求的实现方法。>...

【技术特征摘要】

1.一种dma请求的实现方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述送入所述状态机处理包括:

3.根据权利要求2所述的方法,其特征在于,所述通过所述状态机处理所述dcb idx更新请求包括:

4.根据权利要求2所述的方法,其特征在于,所述采用轮询队列的方式轮询到该队列包括:

5.一种dma请求的实现装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,所述送入所述状态机处理包括:

<...

【专利技术属性】
技术研发人员:欧阳涛
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1