技术领域
[0001] 本
申请涉及通信领域,尤其是一种转换装置、网络设备及数据传输方法。
背景技术
[0002] 网络设备(如路由器、交换机、
防火墙等)包括主控板和
接口板,主控板可以包括PCI-E(Peripheral Component Interconnect Express,外设部件互连标准快速)接口,接口板也可以包括PCI-E接口,基于此,主控板可以通过PCI-E总线与接口板连接,也就是说,该PCI-E总线的两侧均为PCI-E接口。
[0003] 在某些应用场景下,接口板不具有PCI-E接口,而是具有低速接口(如本地总线接口),为了使主控板与接口板交互,则需要在主控板与接口板之间部署转换装置,该转换装置具有PCI-E接口和低速接口,主控板通过PCI-E总线与转换装置连接,接口板通过低速总线(如本地总线)与转换装置连接。
[0004] 在上述应用场景下,为了从接口板读取数据1-数据10,则主控板向转换装置发送读取命令,由转换装置从接口板读取数据1,将数据1返回给主控板。主控板在获取到数据1后,向转换装置发送读取命令,由转换装置从接口板读取数据2,将数据2返回给主控板,以此类推,直到成功读取数据1-数据10。
[0005] 上述数据读取操作需要耗费较长的时间,在这段时间内,主控板始终被占用,主控板无法处理其它任务,即其它任务只能等待,浪费了主控板的资源。
发明内容
[0006] 本申请提供一种转换装置,所述转换装置应用于网络设备,所述网络设备还包括主控板和接口板,所述转换装置通过第一类接口与所述主控板连接,所述转换装置通过第二类接口与所述接口板连接,其中:所述转换装置包括中断处理单元、读处理单元、缓冲区、直接内存存取DMA
控制器;
[0007] 所述中断处理单元,用于接收所述接口板发送的中断;在每次接收到所述接口板发送的中断时,则禁止将所述中断发送给所述主控板,并向所述读处理单元输出控制命令;
[0008] 所述读处理单元,用于在每次接收到所述控制命令时,则向所述接口板发送读操作命令,以使所述接口板根据所述读操作命令返回数据;
[0009] 所述缓冲区,用于存储所述接口板返回的数据;
[0010] 所述DMA控制器,用于获取运行参数,当所述运行参数满足数据上送条件时,则将所述缓冲区中的数据发送给所述主控板。
[0011] 本申请提供一种网络设备,所述网络设备包括主控板、接口板和转换装置,其特征在于,所述转换装置通过第一类接口与所述主控板连接,所述转换装置通过第二类接口与所述接口板连接;其中:
[0012] 所述接口板,用于向所述转换装置发送中断;
[0013] 所述转换装置,用于接收所述接口板发送的中断;在每次接收到所述接口板发送的中断时,禁止将所述中断发送给所述主控板,并向所述接口板发送读操作命令,以使所述接口板根据所述读操作命令返回数据;在接收到所述接口板返回的数据后,将所述数据存储到所述转换装置的缓冲区中;
[0014] 所述转换装置,还用于获取运行参数,当所述运行参数满足数据上送条件时,则将所述缓冲区中的数据发送给所述主控板。
[0015] 本申请提供一种数据传输方法,应用于网络设备,所述网络设备包括主控板、接口板和转换装置,其特征在于,所述转换装置通过第一类接口与主控板连接,所述转换装置通过第二类接口与接口板连接,所述方法包括:
[0016] 所述接口板向所述转换装置发送中断;
[0017] 所述转换装置接收所述接口板发送的中断;在每次接收到接口板发送的中断时,禁止将所述中断发送给所述主控板,并向所述接口板发送读操作命令;
[0018] 所述接口板在接收到所述读操作命令后,向所述转换装置发送数据;
[0019] 所述转换装置在接收到所述接口板返回的数据后,将所述数据存储到所述转换装置的缓冲区中;
[0020] 所述转换装置获取运行参数,当所述运行参数满足数据上送条件时,则将所述缓冲区中的数据发送给所述主控板。
[0021] 基于上述技术方案,本申请
实施例中,转换装置在接收到接口板发送的中断后,不将所述中断发送给主控板,而是直接从接口板读取数据,这样,从接口板读取数据的过程,就不需要主控板发起,转换装置将读取的数据存储到缓冲区中,在数据读取完成后,将缓冲区中的数据发送给主控板。显然,上述方式可以避免主控板发起数据读取过程,减少数据读取操作所耗费的时间,避免主控板长期被数据读取操作占用,节约主控板资源,提高带宽利用率,提高主控板获取数据的效率,提高网络设备的整体性能,降低主控板的占用率。
附图说明
[0022] 为了更加清楚地说明本申请实施例或者
现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
[0023] 图1是本申请一种实施方式中的网络设备的
硬件结构图;
[0024] 图2是本申请一种实施方式中的转换装置的硬件结构图;
[0025] 图3是本申请一种实施方式中的网络设备的硬件结构图;
[0026] 图4是本申请一种实施方式中的数据传输方法的
流程图。
具体实施方式
[0027] 在本申请使用的术语,仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和
权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或者所有可能组合。
[0028] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者,“当……时”,或者,“响应于确定”。
[0029] 本申请实施例中提出一种网络设备(如路由器、交换机、防火墙、
服务器等),该网络设备可以包括主控板、接口板和转换装置。参见图1所示,为该网络设备的结构示意图,该网络设备可以包括但不限于:主控板10、转换装置20、接口板30和接口板40。其中,主控板10可以与接口板40连接,主控板10还可以与转换装置20连接,且转换装置20可以与接口板30连接。
[0030] 在一个例子中,转换装置20与主控板10可以部署在同一个单板,也就是说,一个单板同时包括转换装置20与主控板10。或者,转换装置20可以部署在单独的单板,即转换装置20与主控板10部署在不同的单板。当然,上述只是两个示例,对此转换装置20的
位置不做限制。例如,转换装置20还可以与接口板30部署在同一个单板,或者,针对包括主控板、网板和接口板的网络设备,转换装置20还可以与网板部署在同一个单板,对此不做限制。
[0031] 参见图1所示,以转换装置20部署在单独的单板为例进行说明。
[0032] 其中,主控板10包括基于SOC(System on Chip,系统芯片)实现的CPU(Central Processing Unit,
中央处理器),由CPU与接口板30/接口板40通信,即向接口板30/接口板40写入数据,并从接口板30/接口板40读取数据。
[0033] 在一个例子中,某些接口板(如接口板40)具有高速接口(如PCI-E接口、SGMII(Serial Gigabit Media Independent,串行千兆介质无关)接口等,图1中以PCI-E接口为例进行说明),由于主控板10具有PCI-E接口,因此,主控板10与接口板40直接连接,也就是说,主控板10与接口板40可以通过高速总线(如PCI-E总线、SGMII总线等,图1中以PCI-E总线为例进行说明)连接。
[0034] 在另一个例子中,某些接口板(如接口板30)可以具有低速接口(如本地总线接口、TDM(Time Division Multiplexing,时分复用)接口等,在图1中以本地总线接口为例进行说明),但是,其不具有PCI-E接口,由于主控板10具有PCI-E接口,但是不具有本地总线接口,因此,主控板10可以通过转换装置20与接口板30连接,也就是说,主控板10不是与接口板30直接进行连接。
[0035] 进一步的,转换装置20可以具有PCI-E接口和本地总线接口,因此,转换装置20可以通过PCI-E接口与主控板10连接,也就是说,转换装置20与主控板10可以通过PCI-E总线连接。此外,转换装置20可以通过本地总线接口与接口板30连接,也就是说,转换装置20与接口板30可以通过低速总线(如本地总线、TDM总线等,在图1中以本地总线为例进行说明)连接。
[0036] 在上述应用场景下,针对主控板10与接口板40之间的通信过程,可以包括:主控板10通过PCI-E总线向接口板40写入数据,主控板10通过PCI-E总线从接口板40读取数据,对此数据写入过程和数据读取过程,均不再赘述。
[0037] 针对主控板10与接口板30之间的通信过程,可以包括:主控板10通过PCI-E总线将数据发送给转换装置20,转换装置20通过本地总线向接口板30写入数据,对此数据写入过程不再赘述。主控板10通过PCI-E总线向转换装置20发送读取命令,转换装置20通过本地总线从接口板30读取数据,并通过PCI-E总线将数据返回给主控板10,在后续实施例中,介绍这个数据读取过程。
[0038] 在传统方式中,为了从接口板30读取数据,主控板10向转换装置20发送读取命令,转换装置20通过本地总线从接口板30读取数据,由于本地总线的数据位宽为8比特,因此,转换装置20只从接口板30读取8比特的数据,将数据发送给主控板10。主控板10在接收到8比特的数据数据后,若未读取到所有数据,则继续向转换装置20发送读取命令,以此类推。
[0039] 假设接口板30包括80个比特的数据,则主控板10需要发送10次读取命令,转换装置20从接口板30读取10次数据,转换装置20向主控板10发送10次数据。显然,数据读取操作需要耗费较长的时间,这段时间内,主控板10始终被占用,无法处理其它任务,其它任务只能等待,浪费主控板10的资源。
[0040] 针对上述发现,本申请实施例中,转换装置20接收到接口板30发送的中断后,不再将中断转发给主控板,而是直接通过本地总线从接口板30读取数据,并将读取的数据存储到缓冲区中。转换装置20可以从接口板30读取多次数据,一直到满足数据上送条件,才将缓冲区中的数据发送给主控板。例如,接口板30包括80个比特的数据,则转换装置20从接口板30读取10次数据,每次读取8个比特,这样,一共读取80个比特的数据,并将读取的所有数据存储到缓冲区中。在数据读取完成后,转换装置20将缓冲区中的数据发送给主控板。
[0041] 综上可以看出,在转换装置20从接口板30读取数据,将数据存储到缓冲区中,将缓冲区中的数据发送给主控板10的过程,主控板10并不参与,也就是说,数据读取操作耗费的时间,主控板10未被占用,能够继续处理其它任务,从而节约主控板10的资源,降低主控板10的占用率,提高网络设备整体性能。
[0042] 为了实现上述功能,本申请实施例中提出一种转换装置,该转换装置可以应用于网络设备,该网络设备还可以包括主控板(如具有第一类接口的主控板)和接口板(如具有第二类接口的接口板),转换装置可以包括第一类接口和第二类接口,转换装置通过该第一类接口与主控板连接,转换装置通过该第二类接口与接口板连接。其中,该第一类接口可以为高速接口(如PCI-E接口、SGMII接口等,图1中以PCI-E接口为例进行说明),该第二类接口可以为低速接口(如本地总线接口、TDM接口等,图1中以本地总线接口为例进行说明)。
[0043] 参见图2所示,为转换装置20的结构示意图,该转换装置20可以包括但不限于:中断处理单元21、读处理单元22、缓冲区23、DMA(Direct Memory Access,直接内存存取)控制器24。缓冲区23是转换装置20内部的存储区域,可以包括但不限于RAM(Random Access Memory,随机存取
存储器)等。
[0044] 在一个例子中,中断处理单元21,用于接收接口板30发送的中断;在每次接收到接口板30发送的中断时,则禁止将该中断发送给主控板10,并向读处理单元22输出控制命令。读处理单元22,用于在每次接收到该控制命令时,则可以向接口板30发送读操作命令,以使接口板30根据该读操作命令返回数据;缓冲区23,用于存储接口板30返回的数据;DMA控制器24,用于获取运行参数,当运行参数满足数据上送条件时,则将缓冲区23中的数据发送给主控板10。
[0045] 可选的,DMA控制器24在每个周期获取运行参数,并根据该运行参数判断是否满足数据上送条件。如果是,则将缓冲区23中的所有数据发送给主控板10。如果否,则不将缓冲区23中的数据发送给主控板10,而是等待下一周期,继续获取运行参数,根据运行参数判断是否满足数据上送条件,以此类推。
[0046] 可选的,DMA控制器24确定运行参数满足数据上送条件时具体用于:
[0047] 情况一、若该运行参数为缓冲区23中的数据量,当该缓冲区23中的数据量达到预设
阈值时,则可以确定该运行参数满足数据上送条件。
[0048] 情况二、若该运行参数为中断间隔时间,当中断处理单元21在预设时间内未接收到接口板发送的中断时,则可以确定该运行参数满足数据上送条件。
[0049] 情况三、若该运行参数包括缓冲区23中的数据量和中断间隔时间,当该缓冲区23中的数据量达到预设阈值时,则确定该运行参数满足数据上送条件;或者,当中断处理单元21在预设时间内未接收到接口板发送的中断时,则确定该运行参数满足数据上送条件。
[0050] 可选的,DMA控制器24将缓冲区23中的数据发送给主控板10时具体用于:将缓冲区23中的所有数据存储到主控板10对应的内存中;在数据存储完成后,即缓冲区23中的所有数据均存储到该内存后,向主控板10发送DMA完成中断,以使主控板10在接收到DMA完成中断后,从内存中获取数据。
[0051] 进一步的,DMA控制器24向主控板10发送DMA完成中断,以使主控板10在接收到DMA完成中断后,从内存中获取数据时具体用于:
[0052] DMA控制器24向主控板10发送DMA完成中断,并将缓冲区23中的数据对应的BD信息和数据长度发送给主控板10,以使主控板10在接收到该DMA完成中断后,根据该BD信息和该数据长度,从内存中获取数据。
[0053] 基于上述技术方案,本申请实施例中,转换装置在接收到接口板发送的中断后,不将所述中断发送给主控板,而是直接从接口板读取数据,这样,从接口板读取数据的过程,就不需要主控板发起,转换装置将读取的数据存储到缓冲区中,在数据读取完成后,将缓冲区中的数据发送给主控板。显然,上述方式可以避免主控板发起数据读取过程,减少数据读取操作所耗费的时间,避免主控板长期被数据读取操作占用,节约主控板资源,提高带宽利用率,提高主控板获取数据的效率,提高网络设备的整体性能,降低主控板的占用率。
[0054] 以下结合图2所示的应用场景,对上述方案进行详细说明。参见图2所示,转换装置20可以包括:中断处理单元21、读处理单元22、缓冲区23、DMA控制器24。其中,转换装置20可以包括但不限于逻辑芯片,例如,FPGA(Field Programmable Gate Array,现场可编程
门阵列)、CPLD(Complex Programmable Logic Device,复杂
可编程逻辑器件)、ASIC(Application Specific Integrated Circuit,专用集成
电路)等,对此转换装置20的类型,在此不做具体限制。
[0055] 在一个例子中,当接口板30存在待读取数据(即需要发送给主控板10的数据)时,接口板30通过中断通道向转换装置20的中断处理单元21发送中断。
[0056] 中断处理单元21在接收到该中断后,并不向主控板10转发该中断,而是由中断处理单元21自身响应该中断,也就是说,中断处理单元21在接收到该中断后,禁止将该中断发送给主控板10,而是基于该中断确定需要从接口板30读取数据。为了从接口板30读取数据,则中断处理单元21可以向读处理单元22输出控制命令,该控制命令用于指示读处理单元22从接口板30读取数据。
[0057] 读处理单元22在接收到该控制命令时,可以向接口板30发送读操作命令,以使接口板30根据该读操作命令向转换装置20的缓冲区23返回数据,如返回8比特的数据。具体的,读处理单元22可以只向接口板30发送一个读操作命令,接口板30在接收到该读操作命令后,可以通过本地总线接口向转换装置20的缓冲区23返回数据,缓冲区23在接收到该数据后,可以存储该数据。
[0058] 接口板30将数据发送给缓冲区23后,若接口板30仍然存在待读取数据,则接口板30继续向中断处理单元21发送中断。中断处理单元21接收到中断后,向读处理单元22输出控制命令,读处理单元22接收到控制命令时,向接口板30发送读操作命令,以使接口板30根据该读操作命令向缓冲区23返回数据,以此类推,一直到接口板30不存在待读取数据,则停止发送中断,中断处理单元21未接收到中断后,则不会向读处理单元22输出控制命令,读处理单元22不再向接口板30发送读操作命令,从而不再从接口板读取数据。
[0059] 在一个例子中,DMA控制器24在每个统计周期(统计周期的间隔可以根据经验进行配置),均可以获取运行参数,并根据该运行参数判断是否满足数据上送条件。如果满足,则DMA控制器24可以将缓冲区23中的所有数据发送给主控板10。如果不满足,则DMA控制器24当前不将缓冲区23中的数据发送给主控板10,而是等待下一个周期,继续获取运行参数,并根据该运行参数判断是否满足数据上送条件,以此类推。
[0060] 其中,该运行参数可以是缓冲区23中的数据量,该运行参数也可以是中断间隔时间,对此运行参数不做限制,结合如下方式对上述过程进行说明。
[0061] 方式一、运行参数是缓冲区23中的数据量。DMA控制器24在每个统计周期,获取缓冲区23中的数据量。若该数据量达到预设阈值(预设阈值可以根据经验配置,如缓冲区23的最大存储量的95%,对此预设阈值不做限制),则表示缓冲区23中已经存储大量数据,这些数据已经要占满缓冲区23的存储空间,因此,DMA控制器24确定满足数据上送条件,并将缓冲区23中的所有数据发送给主控板10。若该数据量未达到预设阈值,则表示缓冲区23中仍然存储空间未被占用,因此,DMA控制器24确定不满足数据上送条件,当前不将缓冲区23中的数据发送给主控板10,等待下一个周期,获取缓冲区23中的数据量。
[0062] 方式二、运行参数是中断间隔时间,即当前时刻与中断处理单元21最近一次接收到中断的时刻的差值。DMA控制器24在每个统计周期,获取中断处理单元21的中断间隔时间,若根据该中断间隔时间确定中断处理单元21在预设时间(预设时间可以根据经验配置,对此不做限制)内未接收到中断时,则DMA控制器24确定满足数据上送条件,并将缓冲区23中的所有数据发送给主控板10。若根据该中断间隔时间确定中断处理单元21在预设时间内已接收到中断时,则DMA控制器24确定不满足数据上送条件,当前不将缓冲区23中的数据发送给主控板10,等待下一个周期,获取中断处理单元21的中断间隔时间。
[0063] 例如,当接口板30存在待读取数据时,接口板30每隔时间长度A(时间长度A是经验值,会存在误差)向转换装置20发送一次中断,预设时间可以大于或者等于时间长度A,后续以时间长度B为例,时间长度B大于时间长度A。
[0064] 中断处理单元21每次接收到中断时,DMA控制器24可以记录中断的接收时刻。例如,中断处理单元21在时刻1接收到中断时,DMA控制器24记录中断的接收时刻为时刻1;中断处理单元21在时刻2接收到中断时,DMA控制器24记录中断的接收时刻为时刻2,并删除之前记录的时刻1,以此类推。
[0065] DMA控制器24在每个统计周期,确定当前时刻与最近一个中断的接收时刻(如时刻2)的差值。若该差值大于时间长度B,则说明接口板30在时间长度B内未向中断处理单元21发送中断,中断处理单元21在时间长度B内未接收到中断,其原因可能是接口板30已经不存在待读取数据,也就是说,逻辑装置20的读处理单元22已经从接口板30读取了所有数据,因此,DMA控制器24确定满足数据上送条件,并将缓冲区23中的所有数据发送给主控板10。
[0066] 若该差值小于时间长度B,则说明接口板30在时间长度B内向中断处理单元21发送中断,中断处理单元21在时间长度B内接收到中断,即接口板30仍然存在待读取数据。因此,DMA控制器24确定不满足数据上送条件。
[0067] 方式三、运行参数是缓冲区23中的数据量和中断间隔时间。
[0068] DMA控制器24在每个统计周期,获取缓冲区23中的数据量和中断间隔时间。若该数据量达到预设阈值,DMA控制器24确定满足数据上送条件,并将缓冲区23中的所有数据发送给主控板10。或者,若根据该中断间隔时间确定中断处理单元21在预设时间内未接收到中断时,则DMA控制器24确定满足数据上送条件,并将缓冲区23中的所有数据发送给主控板10。
[0069] 在一个例子中,当满足数据上送条件时,则DMA控制器24可以将缓冲区23中的所有数据发送给主控板10。具体的,DMA控制器24将缓冲区23中的所有数据存储到主控板10对应的内存中。例如,DMA控制器24通过DMA写操作,将缓冲区23中的所有数据直接搬移到主控板10对应的内存中,DMA写操作是基于DMA技术实现,DMA控制器24在向内存中写入数据时,不需要主控板10的参与,因此省去了主控板10的操作,不涉及DMA控制器24与主控板10的交互,DMA控制器24只要将数据搬移到主控板10对应的内存即可。
[0070] 综上所述,DMA控制器24是将缓冲区23中的所有数据搬移到主控板10对应的内存中,这个操作不需要主控板10的参与,对此过程不做限制。
[0071] 在数据存储完成后,即缓冲区23中的所有数据均存储到该内存后,DMA控制器24还可以向主控板10发送DMA完成中断(如PCI-E带内中断)、BD(Buffer Descriptor,缓冲描述符)信息和数据长度等内容,该BD信息可以包括但不限于缓冲区23中的数据在内存中的起始地址,当然,BD信息还可以包括其它内容,对此不做限制。该数据长度是缓冲区23中的数据的数据长度。
[0072] 主控板10在接收到该DMA完成中断、BD信息和数据长度后,基于该DMA完成中断,确定需要从内存中获取数据。为了从内存中获取数据,主控板10利用该BD信息确定数据在内存中的起始地址,然后,从这个起始地址开始,读取与该数据长度匹配的数据,这样,主控板10成功获取到接口板30的数据。
[0073] 基于上述技术方案,本申请实施例中,转换装置在接收到接口板发送的中断后,不将中断发送给主控板,而是直接从接口板读取数据,这样,从接口板读取数据的过程,就不需要主控板发起,转换装置将读取的数据存储到缓冲区中,在数据读取完成后,将缓冲区中的数据发送给主控板。显然,上述方式可以避免主控板发起数据读取过程,即不需要主控板参与数据的获取,主控板只在接收到DMA完成中断后,才去内存中读取数据,从而释放主控板的大量资源,避免主控板长期被数据读取操作占用,节约主控板资源,提高带宽利用率,提高主控板获取数据的效率,提高网络设备的整体性能,降低主控板的占用率。
[0074] 参见图3所示,本申请实施例中还提出一种网络设备,所述网络设备可以包括主控板、接口板和转换装置,所述转换装置可以通过第一类接口与所述主控板连接,所述转换装置可以通过第二类接口与所述接口板连接;其中:
[0075] 所述接口板,用于向所述转换装置发送中断;
[0076] 所述转换装置,用于接收所述接口板发送的中断;在每次接收到所述接口板发送的中断时,禁止将所述中断发送给所述主控板,并向所述接口板发送读操作命令,以使所述接口板根据所述读操作命令返回数据;在接收到所述接口板返回的数据后,将所述数据存储到所述转换装置的缓冲区中;
[0077] 所述转换装置,还用于获取运行参数,当所述运行参数满足数据上送条件时,则将所述缓冲区中的数据发送给所述主控板。
[0078] 可选的,在一个例子中,若所述运行参数为数据量,所述转换装置确定所述运行参数满足数据上送条件时具体用于:当所述缓冲区中的数据量达到预设阈值时,则确定所述运行参数满足数据上送条件。
[0079] 可选的,在一个例子中,若所述运行参数为中断间隔时间,所述转换装置确定所述运行参数满足数据上送条件时具体用于:当所述转换装置在预设时间内未接收到接口板发送的中断时,则确定所述运行参数满足数据上送条件。
[0080] 可选的,在一个例子中,所述转换装置将所述缓冲区中的数据发送给所述主控板时具体用于:将所述缓冲区中的所有数据存储到所述主控板对应的内存中;所述转换装置,还用于在数据存储完成后,向主控板发送DMA完成中断;
[0081] 所述主控板,用于接收所述转换装置发送的所述DMA完成中断,并在接收到所述DMA完成中断后,从所述内存中获取数据。
[0082] 可选的,在一个例子中,所述转换装置,还用于在向主控板发送DMA完成中断后,将所述缓冲区中的数据对应的缓冲描述符BD信息和数据长度发送给所述主控板;所述主控板从所述内存中获取数据时具体用于:接收所述BD信息和数据长度,并根据所述BD信息和数据长度,从所述内存中获取数据。
[0083] 可选的,在一个例子中,所述转换装置与所述主控板可以部署在同一个单板;或者,所述转换装置可以部署在单独的单板。
[0084] 其中,网络设备中各部件的功能,可以参见上述实施例,在此不再赘述。
[0085] 基于与上述网络设备、转换装置同样的申请构思,本申请实施例还提出一种数据传输方法,可以应用于网络设备,所述网络设备包括主控板、接口板和转换装置,所述转换装置通过第一类接口与主控板连接,所述转换装置通过第二类接口与接口板连接,参见图4所示,该方法可以包括:
[0086] 步骤401,接口板向转换装置发送中断。
[0087] 步骤402,转换装置接收接口板发送的中断;在每次接收到接口板发送的中断时,禁止将所述中断发送给主控板,并向接口板发送读操作命令。
[0088] 步骤403,接口板在接收到所述读操作命令后,向转换装置发送数据。
[0089] 步骤404,转换装置在接收到接口板返回的数据后,将所述数据存储到转换装置的缓冲区中。
[0090] 步骤405,转换装置获取运行参数,当所述运行参数满足数据上送条件时,则将所述缓冲区中的数据发送给主控板。
[0091] 可选的,在一个例子中,若所述运行参数为数据量,所述转换装置确定所述运行参数满足数据上送条件,可以包括:当所述缓冲区中的数据量达到预设阈值时,则确定所述运行参数满足数据上送条件。
[0092] 可选的,在一个例子中,若述运行参数为中断间隔时间,所述转换装置确定所述运行参数满足数据上送条件,可以包括:当所述转换装置在预设时间内未接收到接口板发送的中断时,则确定所述运行参数满足数据上送条件。
[0093] 可选的,在一个例子中,所述转换装置将所述缓冲区中的数据发送给主控板,可以包括:将所述缓冲区中的所有数据存储到所述主控板对应的内存中;在数据存储完成后,向所述主控板发送DMA完成中断,以使所述主控板在接收到所述DMA完成中断后,从所述内存中获取数据。
[0094] 可选的,在一个例子中,所述转换装置向所述主控板发送DMA完成中断,以使所述主控板在接收到所述DMA完成中断后,从所述内存中获取数据,可以包括:向所述主控板发送DMA完成中断,并将所述缓冲区中的数据对应的缓冲描述符BD信息和数据长度发送给所述主控板,以使所述主控板在接收到所述DMA完成中断后,根据所述BD信息和数据长度,从所述内存中获取数据。
[0095] 上述实施例阐明的系统、装置、模
块或单元,具体可以由计算
机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、
个人数字助理、媒体播放器、导航设备、
电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0096] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个
软件和/或硬件中实现。
[0097] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或
计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0098] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方
框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0099] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0100] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0101] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何
修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。