一种基于PCIE数据的同步装置及驱动方法制造方法及图纸

技术编号:25834939 阅读:46 留言:0更新日期:2020-10-02 14:16
本发明专利技术提供一种基于PCIE数据的同步装置及驱动方法,其中驱动方法包括如下步骤:包括如下步骤:MMU单元获取到对IOVA的操作请求;MMU单元将所述对IOVA的操作请求转化为VF单元中的虚拟通道;PF单元判断是否存在比该虚拟通道高优先级的正在响应的虚拟通道,若是,PF单元暂停响应该虚拟通道,并让该虚拟通道进入等待队列,等待高优先级的虚拟通道的响应结束后,再响应该虚拟通道的操作请求,若否,PF单元响应该虚拟通道的操作请求。上述技术方案可以保证数据的有序性,避免消耗流程过多的带宽,实现对各个线程进行流控。

【技术实现步骤摘要】
一种基于PCIE数据的同步装置及驱动方法
本专利技术涉及计算机通信领域,尤其涉及一种基于PCIE数据的同步装置及驱动方法。
技术介绍
PCIe(peripheralcomponentinterconnectexpress)可通过ATS(addresstranslationservice)将PCIe域地址映射到芯片存储域地址,芯片的内存管理单元(MemoryManagementUnit,MMU)可将一段存储域地址在操作系统的内核空间以及用户态空间映射出对应的IOVA段。因为针对地址映射方式的数据管理,如果不同软件、线程需要同时访问这段区域,则不可避免地需要增加信号同步机制,如软件锁等。这样的机制虽然可以保证数据的有序性,但是会无谓地消耗CPU带宽,并且锁竞争实际会降低整个流程的带宽。并且无法对各个线程进行流控,部分访问的硬实时指标等不到保证。
技术实现思路
为此,需要提供一种基于PCIE数据的同步装置及驱动方法,解决CPU带宽的利用率的问题。为实现上述目的,专利技术人提供了一种基于PCIE数据的同步装置的驱动方法,包括如下步骤:MMU单元获取到对IOVA的操作请求;MMU单元将所述对IOVA的操作请求转化为VF单元中的虚拟通道;PF单元判断是否存在比该虚拟通道高优先级的正在响应的虚拟通道,若是,PF单元暂停响应该虚拟通道,并让该虚拟通道进入等待队列,等待高优先级的虚拟通道的响应结束后,再响应该虚拟通道的操作请求,若否,PF单元响应该虚拟通道的操作请求。进一步地,在并让该虚拟通道进入等待队列时,还包括如下步骤:PF单元判断等待队列中的虚拟通道是否超过预设时间,若是,PF单元提升虚拟通道的优先等级到最高优先级。进一步地,在若是,PF单元提升虚拟通道的优先等级到最高优先级时,还包括如下步骤:VF单元控制提升到最高优先级的虚拟通道进行单笔传输。进一步地,还包括如下步骤:提升到最高优先级的虚拟通道进行单笔传输后,VF单元恢复该虚拟通道原先的优先等级。进一步地,还包括如下步骤:PF单元判断是否存在比该虚拟通道的低优先级的正在响应的虚拟通道,若是,PF单元响应该虚拟通道的操作请求,并让低优先级的虚拟通道进入等待队列,等待该虚拟通道的操作请求响应结束后,再响应已暂停的低优先级的操作请求,若否,PF单元响应该虚拟通道的操作请求。进一步地,在并让该虚拟通道进入等待队列时,还包括如下步骤:PF单元控制该虚拟通道进入VF单元的缓冲区。进一步地,在并让该虚拟通道进入等待队列时,还包括如下步骤:MMU单元的实时性控制模块关闭该虚拟通道对应IOVA的访问请求的翻译动作。进一步地,还包括如下步骤:产生一个页面错误消息,实时性控制模块搁置页面错误消息。进一步地,还包括如下步骤:实时性控制模块响应该虚拟通道对应IOVA的访问请求的翻译动作,并消除页面错误消息。专利技术人提供一种基于PCIE数据的同步装置,包括MMU单元、VF单元和PF单元,MMU单元、VF单元和PF单元用于执行本实施例任意一项所述的一种基于PCIE数据的同步管理方法。区别于现有技术,上述技术方案让高优先级的虚拟通道先运行,低优先级的虚拟通道在高优先级的虚拟通道响应时,进入等待队列。处于等待队列中的低优先级的虚拟通道也是根据优先级别由高至低的顺序来决定响应的顺序。可以保证数据的有序性,避免消耗流程过多的带宽,实现对各个线程进行流控。附图说明图1为本实施例所述基于PCIE数据的同步管理装置的架构图。具体实施方式为详细说明技术方案的
技术实现思路
、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。请参阅图1,本实施例一种基于PCIE数据的同步管理方法,包括如下步骤:内存管理(MemoryManagementUnit,MMU)单元获取到对IOVA(输入输出虚拟地址)的操作请求,MMU单元将所述对IOVA的操作请求转化为虚拟通道(Vitrual-Function,VF)单元中的虚拟通道。物理通道(PhysicalFuntion,PF)单元判断是否存在比该虚拟通道高优先级的正在响应的虚拟通道。若是,PF单元暂停响应该虚拟通道,并让该虚拟通道进入等待队列,等待高优先级的虚拟通道的响应结束后,再响应该虚拟通道的操作请求。若否,PF单元响应该虚拟通道的操作请求。要说明的是,配置优先级可依托PF单元中质量管理(QualityOfService,QOS)模块进行。上述技术方案PF单元对每个虚拟通道配置优先级,根据优先级别由高至低的顺序来运行应用或线程的操作请求(如写入或者读取)。让高优先级的虚拟通道先运行,低优先级的虚拟通道在高优先级的虚拟通道响应时,进入等待队列。处于等待队列中的低优先级的虚拟通道也是根据优先级别由高至低的顺序来决定响应的顺序。可以保证数据的有序性,避免消耗流程过多的带宽,实现对各个线程进行流控。芯片的MMU单元先将存储域物理地址(PhysicalAddress,简称PA)映射出多个存储域虚拟地址(IOVA),然后为需要访问物理地址的每个应用或线程分配一个虚拟通道(Vitrual-Function,简称VF)。请参阅图1,展示两个物理地址、两个IOVA和两个虚拟通道,两个物理地址分别为PA1和PA2,两个IOVA分别为IOVA1和IOVA2,两个虚拟通道分别为VF1和VF2。通过ATS单元将一个虚拟通道对应一个IOVA。虚拟通道对于PCIe域地址配置相同,故而经过ATS后都对应物理地址PA,但是经过MMU之后,出来的IOVA不同,所以从不同应用或者线程看到的地址不同,认为是不同设备,软件不需要额外增加锁机制。可以提高软件效率,充分提高带宽利用率。在本实施例中,高优先级的虚拟通道可以打断低优先级的虚拟通道的运行。如果某个虚拟通道配置成最高优先级(也称作实时性传输模式),则其他在传的低优先级传输都要停止。具体的,PF单元判断是否存在比该虚拟通道的低优先级的正在响应的虚拟通道,若是,PF单元响应该虚拟通道的操作请求,并让低优先级的虚拟通道进入等待队列,等待该虚拟通道的操作请求响应结束后,再响应已暂停的低优先级的操作请求,若否,PF单元响应该虚拟通道的操作请求。在本实施例中,为了禁止低优先级的虚拟通道进一步接收软件发来的传输数据,在把低优先级的虚拟通道缓存入VF单元的缓冲区形成等待队列时,内存管理单元的实时性控制单元(throttle单元)关闭该虚拟通道对应IOVA的访问请求的翻译动作。要说明的是,翻译动作指从物理地址与IOVA之间对应至虚拟通道的过程,通过限制该过程,即能够禁止低优先级的虚拟通道接收软件发来的传输数据。在进一步的实施例中,关闭后如果产生页面错误消息(pagefault),不将页面错误消息发送给上层软件。实时性控制模块响应该虚拟通道对应IOVA的访问请求的翻译动作,并消除页面错误消息。在本实施例中,当低优先级的虚拟本文档来自技高网
...

【技术保护点】
1.一种基于PCIE数据的同步装置的驱动方法,其特征在于,包括如下步骤:/nMMU单元获取到对IOVA的操作请求;/nMMU单元将所述对IOVA的操作请求转化为VF单元中的虚拟通道;/nPF单元判断是否存在比该虚拟通道高优先级的正在响应的虚拟通道,若是,PF单元暂停响应该虚拟通道,并让该虚拟通道进入等待队列,等待高优先级的虚拟通道的响应结束后,再响应该虚拟通道的操作请求,若否,PF单元响应该虚拟通道的操作请求。/n

【技术特征摘要】
1.一种基于PCIE数据的同步装置的驱动方法,其特征在于,包括如下步骤:
MMU单元获取到对IOVA的操作请求;
MMU单元将所述对IOVA的操作请求转化为VF单元中的虚拟通道;
PF单元判断是否存在比该虚拟通道高优先级的正在响应的虚拟通道,若是,PF单元暂停响应该虚拟通道,并让该虚拟通道进入等待队列,等待高优先级的虚拟通道的响应结束后,再响应该虚拟通道的操作请求,若否,PF单元响应该虚拟通道的操作请求。


2.根据权利要求1所述的一种基于PCIE数据的同步装置的驱动方法,其特征在于,在并让该虚拟通道进入等待队列时,还包括如下步骤:
PF单元判断等待队列中的虚拟通道是否超过预设时间,若是,PF单元提升虚拟通道的优先等级到最高优先级。


3.根据权利要求2所述的一种基于PCIE数据的同步装置的驱动方法,其特征在于,在若是,PF单元提升虚拟通道的优先等级到最高优先级时,还包括如下步骤:
VF单元控制提升到最高优先级的虚拟通道进行单笔传输。


4.根据权利要求3所述的一种基于PCIE数据的同步装置的驱动方法,其特征在于,还包括如下步骤:
提升到最高优先级的虚拟通道进行单笔传输后,VF单元恢复该虚拟通道原先的优先等级。


5.根据权利要求1所述的一种基于PCIE数据的同步装置的驱动方法,其特征在于,还包括如下步骤:
PF单元判断是否存...

【专利技术属性】
技术研发人员:林涛
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建;35

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

1