CN112269752B - 一种PCIe虚拟通道的数据处理方法及相关装置 - Google Patents

一种PCIe虚拟通道的数据处理方法及相关装置 Download PDF

Info

Publication number
CN112269752B
CN112269752B CN202011076912.9A CN202011076912A CN112269752B CN 112269752 B CN112269752 B CN 112269752B CN 202011076912 A CN202011076912 A CN 202011076912A CN 112269752 B CN112269752 B CN 112269752B
Authority
CN
China
Prior art keywords
virtual channel
channel
target
operation information
target virtual
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
Application number
CN202011076912.9A
Other languages
English (en)
Other versions
CN112269752A (zh
Inventor
王凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202011076912.9A priority Critical patent/CN112269752B/zh
Publication of CN112269752A publication Critical patent/CN112269752A/zh
Application granted granted Critical
Publication of CN112269752B publication Critical patent/CN112269752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种PCIe虚拟通道的数据处理方法,包括:根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作。通过在多个虚拟通道中确定目标虚拟通道并进行处理,缓解了对PCIe链路层的带宽压力,提高了数据传输的效率。本申请还公开了一种PCIe虚拟通道的数据处理装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种PCIe虚拟通道的数据处理方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种PCIe虚拟通道的数据处理方法、数据处理装置、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,需要处理越来越多数据的种类,相应的需求的速度也越来越快。其中,PCIe(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配单独的通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量等功能。在FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)及ASIC(Application Specific Integrated Circuit,专用集成电路)设计中,PCIe接口逻辑被广泛应用于存储设备及SOC(System on Chip,系统级芯片)中。
目前在PCIe的相关技术中,采用PCIe的虚拟通道的功能时,PCIe的物理层至PCIe内核部分,时钟频率差较大,造成数据传输存在时间间隔,同时越来越多的数据传输使得在数据链路层面造成越来越大的数据传输压力,降低了数据传输的效率。
因此,如何缓解PCIe链路层的带宽压力是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种PCIe虚拟通道的数据处理方法、数据处理装置、服务器以及计算机可读存储介质,通过在多个虚拟通道中确定目标虚拟通道并进行处理,缓解了对PCIe链路层的带宽压力,提高了数据传输的效率。
为解决上述技术问题,本申请提供一种PCIe虚拟通道的数据处理方法,包括:
根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;
当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;
当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作。
可选的,根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道,包括:
获取每个所述虚拟通道的通道状态;
根据每个所述虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
根据每个所述虚拟通道的优先级和对应的虚拟通道类别将所述多个虚拟通道进行重要性排序,将第一位的虚拟通道作为所述待处理的目标虚拟通道。
可选的,还包括:
当虚拟通道的容量不足时,判断是否存在未分配通道;
若是,则将所述未分配通道的地址拼接至所述虚拟通道的地址末尾。
可选的,还包括:
当虚拟通道的数量不足时,执行虚拟通道构建操作得到新的虚拟通道。
可选的,当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作,包括:
当所述目标虚拟通道的操作信息为读操作时,判断所述目标虚拟通道的地址是否为已缓存地址;
若是,则从缓存中读取目标数据;
若否,则通过DMA根据所述地址读取目标数据。
可选的,当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作,包括:
当所述目标虚拟通道的操作信息为写操作时,判断所述目标虚拟通道的地址是否为存储器的地址;
若是,则根据该地址将待写入数据映射至缓存中,当所述缓存写入预设大小的待写入数据时,通过DMA将所述待写入数据写入存储器中。
若否,则根据该地址写入待写入数据。
本申请还提供一种PCIe虚拟通道的数据处理装置,包括:
虚拟通道仲裁模块,用于根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;
读操作模块,用于当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;
写操作模块,用于当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作。
可选的,所述虚拟通道仲裁模块,包括:
状态获取单元,用于获取每个所述虚拟通道的通道状态;
状态分类单元,用于根据每个所述虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
重要性排序单元,用于根据每个所述虚拟通道的优先级和对应的虚拟通道类别将所述多个虚拟通道进行重要性排序,将第一位的虚拟通道作为所述待处理的目标虚拟通道。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据处理方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据处理方法的步骤。
本申请所提供的一种PCIe虚拟通道的数据处理方法,包括:根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作。
通过在多个虚拟通道中根据虚拟通道的优先级选择待处理的目标虚拟通道,然后根据该目标虚拟通道中的操作信息执行对应的读操作或写操作,以便采用多个虚拟通道PCIe传输过程的压力进行换届,避免对PCIe链路层的带宽造成过大的压力,提高数据的传输效率。
本申请还提供一种PCIe虚拟通道的数据处理装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种PCIe虚拟通道的数据处理方法的流程图;
图2为本申请实施例所提供的另一种PCIe虚拟通道的数据处理方法的流程示意图;
图3为本申请实施例所提供的另一种数据处理方法的写操作的流程示意图;
图4为本申请实施例所提供的另一种数据处理方法的读操作的流程示意图;
图5为本申请实施例所提供的一种PCIe虚拟通道的数据处理装置的结构示意图。
具体实施方式
本申请的核心是提供一种PCIe虚拟通道的数据处理方法、数据处理装置、服务器以及计算机可读存储介质,通过在多个虚拟通道中确定目标虚拟通道并进行处理,缓解了对PCIe链路层的带宽压力,提高了数据传输的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,采用PCIe的虚拟通道的功能时,PCIe的物理层至PCIe内核部分,时钟频率差较大,造成数据传输存在时间间隔,同时越来越多的数据传输使得在数据链路层面造成越来越大的数据传输压力,降低了数据传输的效率。
因此,本申请提供一种PCIe虚拟通道的数据处理方法,通过在多个虚拟通道中根据虚拟通道的优先级选择待处理的目标虚拟通道,然后根据该目标虚拟通道中的操作信息执行对应的读操作或写操作,以便采用多个虚拟通道PCIe传输过程的压力进行换届,避免对PCIe链路层的带宽造成过大的压力,提高数据的传输效率。
以下通过一个实施例,对本申请提供的一种PCIe虚拟通道的数据处理方法进行说明。
请参考图1,图1为本申请实施例所提供的一种PCIe虚拟通道的数据处理方法的流程图。
本实施例中,该方法可以包括:
S101,根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;
本步骤旨在通过每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道。也就是,选出优先级最高的虚拟通道作为当前处理的目标虚拟通道。
可见,本步骤中每个虚拟通道存在对应的优先级。该优先级可以是虚拟通道发布操作时接收到的优先级,也可以是对该虚拟通道提前设置的优先级,还可以是根据任务类型匹配的优先级。可见,本步骤中设置优先级的方式并不唯一,在此不做具体限定。
进一步的,为了提高虚拟通道的确定效果,本实施例中还可以先将虚拟通道进行分类,根据分类后的结果再选取出对应的待处理的目标虚拟通道。
为了进一步提高目标虚拟通道的选取的效率,本步骤可以包括:
步骤1,获取每个虚拟通道的通道状态;
步骤2,根据每个虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
步骤3,根据每个虚拟通道的优先级和对应的虚拟通道类别将多个虚拟通道进行重要性排序,将第一位的虚拟通道作为待处理的目标虚拟通道。
可见,本可选方案主要是对如何确定目标虚拟通道进行说明。本可选方案中首先,获取每个虚拟通道的通道状态;然后,根据每个虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;最后,根据每个虚拟通道的优先级和对应的虚拟通道类别将多个虚拟通道进行重要性排序,将第一位的虚拟通道作为待处理的目标虚拟通道。可见,在对每个虚拟通道进行分类的基础上,基于分类可以减少对每个虚拟通道判断的数量,提高虚拟通道判断的效率。
可选的,为了提高单个虚拟通道的容量,本实施例还可以包括:
当虚拟通道的容量不足时,判断是否存在未分配通道;
若是,则将未分配通道的地址拼接至虚拟通道的地址末尾。
可见,本可选方案中主要是当虚拟通道的容量不足时,判断是否存在还未分配通道。若是,还存在未分配通道,则将该未分配通道的地址拼接在虚拟通道的地址末尾,以便将该虚拟通道的容量进行扩充,增加该通道的容量。
可选的,本实施例还可以包括:
当虚拟通道的数量不足时,执行虚拟通道构建操作得到新的虚拟通道。
可见,本可选方案中主要是当虚拟通道的数量不足时,直接执行虚拟通道构建操作构建出新的虚拟通道,以便通过该新的虚拟通道增加虚拟通道的数量,避免出现虚拟通道不够用的情况。
S102,当目标虚拟通道的操作信息为读操作时,根据目标虚拟通道的操作信息执行读操作;
在S101的基础上,本步骤旨在当目标虚拟通道的操作信息为读操作时,根据目标虚拟通道的操作信息执行读操作
其中,目标虚拟通道的操作信息就是执行目标虚拟通道中存在的操作信息。一般来说,操作信息包括读操作和写操作。当操作信息为读操作时,则包括目标地址等。当操作信息为写操作时,则包括目标地址和写入数据。
其中,本步骤中执行读操作的过程还可以通过DMA(Direct Memory Access,直接存储器访问)直接从存储设备中获取到数据,而不用通过总线再获取到对应的数据,提高数据的获取效率,降低对总线的占用。
为了进一步提高数据读取的效率,本步骤可以包括:
步骤1,当目标虚拟通道的操作信息为读操作时,判断目标虚拟通道的地址是否为已缓存地址;若是,则执行步骤2;若否,则执行步骤3;
步骤2,从缓存中读取目标数据;
步骤3,通过DMA根据地址读取目标数据。
可见,在本可选方案中主要是对读操作进行说明。本可选方案中首先判断目标虚拟通道的地址是否为已缓存地址。若是,则直接从缓存中读取该数据,避免再从存储介质中获取数据。若否,则通过DMA根据地址读取目标数据。
S103,当目标虚拟通道的操作信息为写操作时,根据目标虚拟通道的操作信息执行写操作。
在S102的基础上,本步骤旨在当目标虚拟通道的操作信息为写操作时,根据目标虚拟通道的操作信息执行写操作。
本步骤中,还可以是当目标虚拟通道的操作信息为写操作时,直接通过DMA将数据写入到目标地址中,而不是通过总线的方式写入数据,降低了对总线的占用率。
可选的,为了降低写操作对总线的占用率,本步骤可以包括:
当目标虚拟通道的操作信息为写操作时,判断目标虚拟通道的地址是否为存储器的地址;
若是,则根据该地址将待写入数据映射至缓存中,当缓存写入预设大小的待写入数据时,通过DMA将待写入数据写入存储器中。
若否,则根据该地址写入待写入数据。
可见,本可选方案中主要是对写操作的过程进行说明。本可选方案中当目标虚拟通道的操作信息为写操作时,判断目标虚拟通道的地址是否为存储器的地址。若是,则根据该地址将待写入数据映射至缓存中,当缓存写入预设大小的待写入数据时,通过DMA将待写入数据写入存储器中。若否,则根据该地址写入待写入数据。
综上,本实施例通过在多个虚拟通道中根据虚拟通道的优先级选择待处理的目标虚拟通道,然后根据该目标虚拟通道中的操作信息执行对应的读操作或写操作,以便采用多个虚拟通道PCIe传输过程的压力进行换届,避免对PCIe链路层的带宽造成过大的压力,提高数据的传输效率。
以下通过一个具体的实施例,对本申请提供的一种PCIe虚拟通道的数据处理方法进行说明。
请参考图2,图2为本申请实施例所提供的另一种PCIe虚拟通道的数据处理方法的流程示意图。
本实施例位于PCIe的事务层。本实施例可以包括:
DDR(Double Data Rate,双倍速率同步动态随机存储器)控制器:双倍速率同步动态随机存储器,通用模块;
快速访存逻辑、DMA逻辑:建立与DDR的缓存映射,具备命中记录功能;
主信道:通道选择后,获得传输的信号;
虚拟通道切换逻辑:负责所有子通道状态收集、状态分析、仲裁,扩展新通道;
选通:数据选择器;
快速通道:存放系统消息数据包,优先级较高的通道;
慢速通道:存放通用数据包,优先级较低;
未分配通道:暂未定义的通道,未定义前不可用,可用于拓展通道;
通道状态:记录通道目前状态(满,空,拓展余量)。
其中,虚拟通道切换逻辑包括:
状态收集:每个通道有通道状态寄存器,该模块读取通道状态寄存器,获取通道状态;状态分析:将每个通道的状态进行分类整理;主要是根据快、慢通道各自目前的状态,以及通道数据包传输量的余量,是否达到阈值对通道进行分类。分类包括:
快速通道,快速通道内数据包传输的余量,设一个阈值,当达到一定的阈值后,若此时时间阈值也达到,则会有状态码的变化;状态变化后,仲裁会收集,对数据包的优先级进行调整。
慢速通道,快速通道内数据包传输的余量,设一个阈值,当达到一定的阈值后,会有状态码的变化;慢通道是时间不敏感数据,所以不需要设时间阈值。
主通道,主信道的数据包容量占用情况。
通道间仲裁:快速通道0优先级>快速通道1优先级;快速通道优先级>慢速通道优先级;慢速通道0优先级>慢速通道1优先级;
通道内仲裁:通道内按数据包进入顺序编码0.1.2.3.4…,优先级0>1>2>3…;
扩展通道容量:查询通道拓展余量,是否可以拓展,是的话拓展通道容量,将未分配通道接到需要拓展的通道地址后面,使用该通道性质;
扩展通道数量:在通道数量不够时,可以再定义快速或慢速通道,供PCIe链路层使用。
请参考图3,图3为本申请实施例所提供的另一种数据处理方法的写操作的流程示意图。
当主信道执行写操作时:输入地址,判断是否为DDR地址空间,如果是,将地址的高位22位去掉,从低位0开始缓存,至10’b10_0000_0000,存储于缓存中;凑齐512B后,配置DMA,将整块数据由DMA写入到DDR中,缓存0处于工作状态时,填充缓存1;如果地址不是DDR空间,则不需要映射,直接访问对应寄存器即可。
请参考图4,图4为本申请实施例所提供的另一种数据处理方法的读操作的流程示意图。
当主信道执行读操作时:输入地址后,地址判断,是否存有历史记录及单位时间内访问次数;旧地址,更新访问记录,更新访问次数,从缓存中快速获取数据,返回给主信道;新地址,添加访问记录,更新映射,同时配置DMA,DMA访问DDR,获取数据,批量传输更新缓存。
在以上基础上,首先读取状态寄存器,查看状态位,评定优先级,确定主信道执行哪一个虚拟通道的操作,后续如需要拓宽信道则执行信道拓展功能;主信道执行读操作时,参考快速访存逻辑—快速访问命中替换逻辑(主信道读);主信道执行写操作时,参考快速访存逻辑—虚通道至DDR的映射逻辑(主信道写)。
可见,本实施例通过在多个虚拟通道中根据虚拟通道的优先级选择待处理的目标虚拟通道,然后根据该目标虚拟通道中的操作信息执行对应的读操作或写操作,以便采用多个虚拟通道PCIe传输过程的压力进行换届,避免对PCIe链路层的带宽造成过大的压力,提高数据的传输效率。
下面对本申请实施例提供的一种PCIe虚拟通道的数据处理装置进行介绍,下文描述的一种PCIe虚拟通道的数据处理装置与上文描述的一种PCIe虚拟通道的数据处理方法可相互对应参照。
请参考图5,图5为本申请实施例所提供的一种PCIe虚拟通道的数据处理装置的结构示意图。
本实施例中,该装置可以包括:
虚拟通道仲裁模块100,用于根据每个虚拟通道的优先级在多个虚拟通道中确定待处理的目标虚拟通道;
读操作模块200,用于当目标虚拟通道的操作信息为读操作时,根据目标虚拟通道的操作信息执行读操作;
写操作模块300,用于当目标虚拟通道的操作信息为写操作时,根据目标虚拟通道的操作信息执行写操作。
可选的,该虚拟通道仲裁模块100,可以包括:
状态获取单元,用于获取每个虚拟通道的通道状态;
状态分类单元,用于根据每个虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
重要性排序单元,用于根据每个虚拟通道的优先级和对应的虚拟通道类别将多个虚拟通道进行重要性排序,将第一位的虚拟通道作为待处理的目标虚拟通道。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的数据处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据处理方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种PCIe虚拟通道的数据处理方法、数据处理装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (8)

1.一种PCIe虚拟通道的数据处理方法,其特征在于,包括:
根据每个虚拟通道的优先级以及对应的虚拟通道类别在多个虚拟通道中确定待处理的目标虚拟通道;虚拟通道类别包括快速通道和慢速通道;
当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;
当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作;
根据每个虚拟通道的优先级以及对应的虚拟通道类别在多个虚拟通道中确定待处理的目标虚拟通道,包括:
获取每个所述虚拟通道的通道状态;
根据每个所述虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
根据每个所述虚拟通道的优先级和对应的虚拟通道类别将所述多个虚拟通道进行重要性排序,将第一位的虚拟通道作为所述待处理的目标虚拟通道。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
当虚拟通道的容量不足时,判断是否存在未分配通道;
若是,则将所述未分配通道的地址拼接至所述虚拟通道的地址末尾。
3.根据权利要求1所述的数据处理方法,其特征在于,还包括:
当虚拟通道的数量不足时,执行虚拟通道构建操作得到新的虚拟通道。
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作,包括:
当所述目标虚拟通道的操作信息为读操作时,判断所述目标虚拟通道的地址是否为已缓存地址;
若是,则从缓存中读取目标数据;
若否,则通过DMA根据所述地址读取目标数据。
5.根据权利要求4所述的数据处理方法,其特征在于,当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作,包括:
当所述目标虚拟通道的操作信息为写操作时,判断所述目标虚拟通道的地址是否为存储器的地址;
若是,则根据该地址将待写入数据映射至缓存中,当所述缓存写入预设大小的待写入数据时,通过DMA将所述待写入数据写入存储器中;
若否,则根据该地址写入待写入数据。
6.一种PCIe虚拟通道的数据处理装置,其特征在于,包括:
虚拟通道仲裁模块,用于根据每个虚拟通道的优先级以及对应的虚拟通道类别在多个虚拟通道中确定待处理的目标虚拟通道;
读操作模块,用于当所述目标虚拟通道的操作信息为读操作时,根据所述目标虚拟通道的操作信息执行读操作;虚拟通道类别包括快速通道和慢速通道;
写操作模块,用于当所述目标虚拟通道的操作信息为写操作时,根据所述目标虚拟通道的操作信息执行写操作;
所述虚拟通道仲裁模块,包括:
状态获取单元,用于获取每个所述虚拟通道的通道状态;
状态分类单元,用于根据每个所述虚拟通道的通道状态对每个虚拟通道进行分类,得到多个虚拟通道类别;
重要性排序单元,用于根据每个所述虚拟通道的优先级和对应的虚拟通道类别将所述多个虚拟通道进行重要性排序,将第一位的虚拟通道作为所述待处理的目标虚拟通道。
7.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的数据处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据处理方法的步骤。
CN202011076912.9A 2020-10-10 2020-10-10 一种PCIe虚拟通道的数据处理方法及相关装置 Active CN112269752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011076912.9A CN112269752B (zh) 2020-10-10 2020-10-10 一种PCIe虚拟通道的数据处理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011076912.9A CN112269752B (zh) 2020-10-10 2020-10-10 一种PCIe虚拟通道的数据处理方法及相关装置

Publications (2)

Publication Number Publication Date
CN112269752A CN112269752A (zh) 2021-01-26
CN112269752B true CN112269752B (zh) 2023-07-14

Family

ID=74338783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011076912.9A Active CN112269752B (zh) 2020-10-10 2020-10-10 一种PCIe虚拟通道的数据处理方法及相关装置

Country Status (1)

Country Link
CN (1) CN112269752B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102635457B1 (ko) * 2021-05-24 2024-02-13 에스케이하이닉스 주식회사 PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US11960367B2 (en) 2021-05-24 2024-04-16 SK Hynix Inc. Peripheral component interconnect express device and operating method thereof
CN113806258B (zh) * 2021-11-16 2022-02-18 苏州浪潮智能科技有限公司 一种动态自适应的虚拟通道映射方法、装置及存储介质
CN115905039B (zh) * 2022-11-16 2023-07-25 逸超医疗科技(北京)有限公司 一种基于PCIe接口高速获取超声数据的方法
CN115964155B (zh) * 2023-03-16 2023-05-30 燧原智能科技(成都)有限公司 芯片内数据处理硬件、芯片内数据处理方法及ai平台

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263698A (zh) * 2011-08-11 2011-11-30 福建星网锐捷网络有限公司 虚拟通道的建立方法、数据传输的方法及线卡
CN109582605A (zh) * 2017-09-29 2019-04-05 英特尔公司 通过PCIe的一致性存储器设备
CN110765059A (zh) * 2019-09-29 2020-02-07 苏州浪潮智能科技有限公司 一种pcie数据优先级管理方法和装置
CN111723030A (zh) * 2019-03-20 2020-09-29 东芝存储器株式会社 存储器系统及存储器系统的控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8532098B2 (en) * 2009-11-30 2013-09-10 Nvidia Corporation System and method for virtual channel communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263698A (zh) * 2011-08-11 2011-11-30 福建星网锐捷网络有限公司 虚拟通道的建立方法、数据传输的方法及线卡
CN109582605A (zh) * 2017-09-29 2019-04-05 英特尔公司 通过PCIe的一致性存储器设备
CN111723030A (zh) * 2019-03-20 2020-09-29 东芝存储器株式会社 存储器系统及存储器系统的控制方法
CN110765059A (zh) * 2019-09-29 2020-02-07 苏州浪潮智能科技有限公司 一种pcie数据优先级管理方法和装置

Also Published As

Publication number Publication date
CN112269752A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN112269752B (zh) 一种PCIe虚拟通道的数据处理方法及相关装置
US11636052B2 (en) Non-volatile memory express (NVMe) data processing method and system
CN103366794B (zh) 用于减少接脚数内存总线接口的装置及方法
US10635358B2 (en) Memory management method and storage controller
CN108228470B (zh) 一种处理向nvm写入数据的写命令的方法和设备
CN105893275A (zh) 缓存及读取即将写入储存单元的数据的方法以及使用该方法的装置
CN108628543B (zh) 垃圾回收方法以及使用该方法的装置
KR102374239B1 (ko) 판독 지연 시간 단축 방법 및 장치
CN111108488B (zh) 内存块回收方法和装置
US20140372673A1 (en) Information processing apparatus, control circuit, and control method
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
CN111563052A (zh) 降低读延时的缓存方法、装置、计算机设备及存储介质
CN110737607B (zh) 管理hmb内存的方法、装置、计算机设备及存储介质
WO2020186455A1 (zh) 数据存储方法及存储芯片
US11726700B2 (en) Memory controller
US10452313B2 (en) Apparatuses and methods for multiple address registers for a solid state device
JP2021522608A (ja) ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク
CN116302105B (zh) 访问指令调度方法、系统、硬盘及控制器、存储介质和程序产品
CN112000591A (zh) 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质
CN116235138A (zh) 一种应用于固态硬盘ssd的数据读取方法及相关装置
CN109710187A (zh) NVMe SSD主控芯片的读命令加速方法、装置、计算机设备及存储介质
CN110364207B (zh) 解码方法以及储存控制器
CN105701060A (zh) 基于fpga的高速实时数据记录系统
CN110364197B (zh) 解码方法以及存储控制器
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant