一种数据输出方法及装置.pdf

上传人:Y948****062 文档编号:6184729 上传时间:2019-05-18 格式:PDF 页数:18 大小:1.76MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410038971.5

申请日:

2014.01.27

公开号:

CN103761065A

公开日:

2014.04.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 5/06申请日:20140127|||公开

IPC分类号:

G06F5/06

主分类号:

G06F5/06

申请人:

华为技术有限公司

发明人:

冯颖劼; 史永杰

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

广州三环专利代理有限公司 44202

代理人:

郝传鑫;熊永强

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种数据输出方法,包括:根据目标业务的传输速率需求信息确定目标输出接口;根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口;通过目标输出接口对应的串行器将共享缓存数据输出。相应地,本发明实施例还公开了一种数据输出装置。采用本发明实施例,可以提高FIFO的利用率。

权利要求书

权利要求书
1.  一种数据输出方法,其特征在于,包括:
根据目标业务的传输速率需求信息确定目标输出接口;
根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;
将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口;
通过目标输出接口对应的串行器将共享缓存数据输出。

2.  如权利要求1所述的方法,其特征在于,若所述根据目标业务的传输速率需求信息确定了多个目标输出接口;
所述根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组包括:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。

3.  如权利要求2所述的方法,其特征在于,所述将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口包括:
根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据;
通过FIFO组将共享缓存数据输出到对应的目标输出接口。

4.  如权利要求3所述的方法,其特征在于,所述根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据包括:
判断当前指向的FIFO组是否处于满状态;
若所述当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。

5.  如权利要求1-4任一项所述的方法,其特征在于,所述通过目标输出接口对应的串行器将共享缓存数据输出之前,还包括:
根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。

6.  一种数据输出装置,其特征在于,包括:
输出接口确定模块,用于根据目标业务的传输速率需求信息确定目标输出接口;
共享FIFO分配模块,用于根据所述输出接口确定模块所确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;
数据传输模块,用于将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口,并通过目标输出接口对应的串行器将共享缓存数据输出。

7.  如权利要求6所述的装置,其特征在于,若所述输出接口确定模块确定了多个目标输出接口;
所述共享FIFO分配模块用于:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。

8.  如权利要求7所述的装置,其特征在于,所述数据传输模块包括:
写口单元,用于根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据;
读口单元,用于通过FIFO组将共享缓存数据输出到对应的目标输出接口;
数据输出单元,用于通过目标输出接口对应的串行器将共享缓存数据输出。

9.  如权利要求8所述的装置,其特征在于,所述写口单元包括:
判断子单元,用于判断当前指向的FIFO组是否处于满状态;
写口子单元,用于若所述判断子单元判断当前指向的FIFO组处于满状态, 则调度下一个FIFO组对应的共享缓存数据。

10.  如权利要求6-9任一项所述的装置,其特征在于,还包括:
设置模块,用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。

说明书

说明书一种数据输出方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据输出方法及装置。
背景技术
随着网络产品对通信芯片集成度以及兼容性要求的不断提高,通信芯片的接口数量以及接口类型(如10M/100M/1000M、GE、XLGE以及Interlaken)日益增加。通信芯片的数据发送侧使用一个大容量的共享缓存对输出到各个接口的数据进行统一管理,再通过串行器将输出到各个接口的数据进行输出。为了保证片内处理性能,共享缓存有着较宽的数据位宽,因此从共享缓存调度出的数据会形成一定量的burst,即数据突发,为了吸收这些burst需要为各个接口分配FIFO,即接口缓存。
目前,主要存在两种FIFO分配方法,第一种,根据接口分配FIFO,即每个接口都独立对应一个FIFO,由于接口数量大于串行器数量,因此,即使是该芯片满宽带运行时,总存在某些接口对应的FIFO不工作,其FIFO的利用率低;第二种,根据串行器对接口进行简单的分组,将使用同一个串行器的多个接口分配一个FIFO,即复用同一个串行器的多个接口共用一个FIFO,因此,FIFO的位宽必须满足对应的接口组中最大接口位宽,当组内的接口存在很大的位宽差异时,同样,其FIFO的利用率低。
发明内容
本发明实施例提供了一种数据输出方法及装置,可以提高FIFO的利用率。
本发明实施例第一方面提供了一种数据输出方法,包括:
根据目标业务的传输速率需求信息确定目标输出接口;
根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;
将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口;
通过目标输出接口对应的串行器将共享缓存数据输出。
在第一种可能的实现方式中,若所述根据目标业务的传输速率需求信息确定了多个目标输出接口;
所述根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组包括:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口包括:
根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据;
通过FIFO组将共享缓存数据输出到对应的目标输出接口。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据包括:
判断当前指向的FIFO组是否处于满状态;
若所述当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。
结合第一方面或第一方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述通过目标输出接口对应的串行器将共享缓存数据输出之前,还包括:
根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。
相应地,本发明实施例第二方面还提供了一种数据输出装置,包括:
输出接口确定模块,用于根据目标业务的传输速率需求信息确定目标输出接口;
共享FIFO分配模块,用于根据所述输出接口确定模块所确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;
数据传输模块,用于将所述目标业务的共享缓存数据写入所述确定的FIFO 组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口,并通过目标输出接口对应的串行器将共享缓存数据输出。
在第一种可能的实现方式中,若所述输出接口确定模块确定了多个目标输出接口;
所述共享FIFO分配模块用于:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据传输模块包括:
写口单元,用于根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据;
读口单元,用于通过FIFO组将共享缓存数据输出到对应的目标输出接口;
数据输出单元,用于通过目标输出接口对应的串行器将共享缓存数据输出。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述写口单元包括:
判断子单元,用于判断当前指向的FIFO组是否处于满状态;
写口子单元,用于若所述判断子单元判断当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。
结合第二方面或第二方面的第一种至第三种可能的实现方式,在第四种可能的实现方式中,还包括:
设置模块,用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。
本发明实施例可以根据目标输出接口的接口位宽以及共享FIFO的位宽确定该目标输出接口需求的共享FIFO的个数,并根据所述确定的共享FIFO的个数为所述目标输出接口分配FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据输出方法的流程图;
图2是本发明实施例提供的一种共享FIFO分配的结构示意图;
图3是本发明实施例提供的另一种共享FIFO分配的结构示意图;
图4是本发明实施例提供的另一种共享FIFO分配的结构示意图;
图5是本发明另一实施例提供的一种数据输出方法的流程图;
图6是本发明实施例提供的一种数据输出装置的结构示意图;
图7是本发明实施例提供的一种数据传输模块的结构示意图;
图8是本发明实施例提供的一种写口单元的结构示意图;
图9是本发明另一实施例提供的一种数据输出装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的一种数据输出方法的流程图。如图1所示本实施例中的数据输出的流程可以包括:
S110,根据目标业务的传输速率需求信息确定目标输出接口。
具体的,通信芯片可以包括多种接口标准的输出接口,例如,10M、100M、1000M、GE或XLGE等等,通信芯片的输出接口中同一种接口标准的输出接口可以存在多个,例如,120Gbps的通信芯片可以包括12个XGE(10Gbps)输出接口、6个2XGE(20Gbps)、3个XLGE(40Gbps)输出接口或1个ILK(120Gbps)输出接口。通信芯片可以根据目标业务的传输速率需求信息确定目标输出接口,例如,目标业务的传输速率需求为10Gbps,通信芯片可以任意选择一个或多个XGE的输出接口作为目标输出接口。
作为一种可选的实施方式,通信芯片可以根据目标业务的传输速率需求信息确定多个目标输出接口,例如,目标业务的传输速率需求为10Gbps,该通信芯片包括12个XGE输出接口,通信芯片可以确定多个甚至全部XGE输出接口 作为所述目标输出接口。
S120,根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组。
具体的,通信芯片可以根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口需求的共享FIFO的个数,在共享FIFO中获取确定个数的共享FIFO作为所述目标输出接口对应的FIFO组。例如,目标输出接口的接口位宽为64bit,共享FIFO的位宽为64bit,则该目标输出接口需求的共享FIFO的个数为1,通信芯片可以在共享FIFO中获取1个共享FIFO作为所述目标输出接口对应的FIFO组,即当该FIFO组存在数据输出时,通过该目标输出接口将数据输出;再例如,目标输出接口的接口位宽为128bit,共享FIFO的位宽为32bit,则该目标输出接口需求的共享FIFO的个数为4,通信芯片可以在共享FIFO中获取4个共享FIFO作为所述目标输出接口对应的FIFO组,即当该FIFO组存在数据输出时,该目标输出接口同时读取所述FIFO组中的数据。通信芯片可以根据目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
其中,目标输出接口的接口位宽可以根据目标输出接口的接口带宽以及输出频率确定,该输出频率可以根据通信芯片的制造工艺以及功耗等因素确定;通信芯片中共享FIFO的个数可以根据串行器的个数确定,串行器的个数可以根据串行器的输出带宽以及通信芯片的总带宽确定,每个共享FIFO的位宽可以根据串行器的输出带宽以及所述输出频率确定。
作为一种可选的实施方式,若通信芯片根据目标业务的传输速率需求信息确定了多个目标输出接口,则可以根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。例如,通信芯片的总带宽为120Gbps,通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口,每个目标输出接口的接口位宽为128bit,若每个共享FIFO的位宽为32bit,则每4个共享FIFO可以组成一个FIFO组,如图2所示;若每个共享FIFO的位宽为128bit,则1个共享FIFO则可以组成一个FIFO组,如图3所示,其中,通信终端可以任意选择3个共享FIFO分别确定为各个目标输出接口对应的FIFO组。再例如,通信芯片的总带宽为120Gbps,通信芯片根据目 标业务的传输速率需求信息确定了3个2XGE输出接口以及6个XGE输出接口为目标输出接口,2XGE输出接口的接口位宽为64bit,XGE输出接口的接口位宽为32bit,若每个共享FIFO的位宽为32bit,则2XGE输出接口对应的FIFO组中共享FIFO的个数为2,XGE输出接口对应的FIFO组中共享FIFO的个数为1,如图4所示。
S130,将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口。
具体的,通信芯片可以将目标业务的共享缓存数据写入确定的FIFO组,通过FIFO组将共享缓存数据输出到对应的目标输出接口。
作为一种可选的实施方式,若通信芯片确定了多个FIFO组,如图2所示,通信芯片可以确定的各个根据FIFO组数据调度的先后顺序依次调度共享缓存数据,并通过FIFO组将共享缓存数据输出到对应的目标输出接口。具体的,通信芯片可以将共享缓存数据根据确定的FIFO组的个数以及各个FIFO组中共享FIFO的个数进行划分,即确定共享缓存数据的输出路径,根据确定的各个FIFO组数据调度的先后顺序依次调度对应的共享缓存数据。
进一步的,若通信芯片确定了多个FIFO组,通信芯片在将共享缓存数据写入对应的FIFO组之前,判断该FIFO组是否处于满状态,若该FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。具体的,FIFO组存在预设的存储空间,当FIFO组存储的共享缓存数据达到预设阈值时,通信芯片则判断FIFO组处于满状态,当当前指向的FIFO组处于满状态时,通信芯片则可以根据确定的各个FIFO组数据调度的先后顺序调度下一个FIFO组对应的共享缓存数据。例如,通信芯片划分的FIFO组与目标输出接口的对应关系如图2所示,其中,各个FIFO组数据调度的先后顺序为F0、F1以及F2,若通信芯片当前指向的FIFO组为F0,且F0当前处于满状态,则通信芯片不调度F0对应的共享缓存数据,直接调度F1对应的共享缓存数据并写入F1,对于F0对应的共享缓存数据,通信芯片可以在下一次向F0写入数据时才调度。
S140,通过目标输出接口对应的串行器将共享缓存数据输出。
具体的,串行器用于将多路低速并行信号转换成高速串行信号,可以根据输出频率读取对应的目标输出接口中的共享缓存数据,从而将共享缓存数据输出。
作为一种可选的实施方式,通信芯片在通过目标输出接口对应的串行器将共享缓存数据输出之前,可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。具体的,通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带宽确定目标输出接口需求的串行器个数,从而设置目标输出接口与串行器的对应关系。例如,目标输出接口的接口带宽为40Gbps,串行器的输出带宽为10Gbps,则可以将目标输出接口与4个串行器建立对应关系。
本发明实施例可以根据目标输出接口的接口位宽以及共享FIFO的位宽确定该目标输出接口需求的共享FIFO的个数,并根据所述确定的共享FIFO的个数为所述目标输出接口分配FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
请参阅图5,图5是本发明另一实施例提供的一种数据输出方法的流程图。本发明实施例以确定多个目标输出接口为例进行描述。如图5所示本实施例中的数据输出的流程可以包括:
S510,根据目标业务的传输速率需求信息确定多个目标输出接口。
具体的,通信芯片可以包括多种接口标准的输出接口,例如,10M、100M、1000M、GE或XLGE等等,通信芯片的输出接口中同一种接口标准的输出接口可以存在多个,例如,120Gbps的通信芯片可以包括12个XGE(10Gbps)输出接口、6个2XGE(20Gbps)、3个XLGE(40Gbps)输出接口或1个ILK(120Gbps)输出接口。通信芯片可以根据目标业务的传输速率需求信息确定多个目标输出接口,确定的多个目标输出接口通过时分复用机制传输共享缓存数据,提高了目标输出接口的利用率,从而提高了共享FIFO的利用率。例如,目标业务的传输速率需求为10Gbps,通信芯片可以在接口标准为XGE的输出接口中确定多个XGE输出接口甚至可以确定所有XGE输出接口作为各个目标输出接口。
S520,根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。
具体的,通信芯片可以根据所述确定的各个目标输出接口的接口位宽以及共享FIFO的位宽确定各个目标输出接口需求的共享FIFO的个数,在共享FIFO中获取确定个数的共享FIFO作为各个目标输出接口对应的FIFO组。例如,通 信芯片的总带宽为120Gbps,通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口,每个目标输出接口的接口位宽为128bit,若每个共享FIFO的位宽为32bit,则每4个共享FIFO可以组成一个FIFO组,如图2所示;若每个共享FIFO的位宽为128bit,则1个共享FIFO则可以组成一个FIFO组,如图3所示,其中,通信芯片可以任意选择3个共享FIFO分别确定为各个目标输出接口对应的FIFO组。再例如,通信芯片的总带宽为120Gbps,通信芯片根据目标业务的传输速率需求信息确定了3个2XGE输出接口以及6个XGE输出接口为目标输出接口,2XGE输出接口的接口位宽为64bit,XGE输出接口的接口位宽为32bit,若每个共享FIFO的位宽为32bit,则2XGE输出接口对应的FIFO组中共享FIFO的个数为2,XGE输出接口对应的FIFO组中共享FIFO的个数为1,如图4所示。通信芯片根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
S530,根据所述确定的各个FIFO组数据调度的先后顺序,确定当前指向的FIFO组,并判断当前指向的FIFO组是否处于满状态。
具体的,FIFO组存在预设的存储空间,当FIFO组存储的共享缓存数据达到预设阈值时,通信芯片则可以判断FIFO组处于满状态。根据确定的各个FIFO组数据调度的先后顺序,当当前指向的FIFO组处于满状态时,通信芯片则执行步骤S540。
S540,若所述当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。
具体的,通信芯片可以将共享缓存数据根据FIFO组的个数以及各个FIFO组中共享FIFO的个数进行划分,从而确定共享缓存数据的输出路径,若当前指向的FIFO组处于满状态,通信芯片则根据确定的各个FIFO组数据调度的先后顺序调度下一个FIFO组对应的共享缓存数据。例如,通信芯片确定的FIFO组与目标输出接口的对应关系如图2所示,其中,FIFO组数据调度的先后顺序为F0、F1以及F2,若通信芯片当前指向的FIFO组为F0,且F0当前处于满状态,则通信芯片不调度F0对应的共享缓存数据,直接调度F1对应的共享缓存数据并写入F1,对于F0对应的共享缓存数据,通信芯片可以在下一次向F0写入数据时才调度。
S550,将调度的共享缓存数据输出到FIFO组对应的目标输出接口。
具体的,FIFO组中的共享缓存数据根据先入先出的原则进行排序,通过FIFO组将共享缓存数据输出到对应的目标输出接口。
S560,通过该目标输出接口对应的串行器将共享缓存数据输出。
具体的,串行器用于将多路低速并行信号转换成高速串行信号,可以根据输出频率读取对应的目标输出接口中的共享缓存数据,从而将共享缓存数据输出。
作为一种可选的实施方式,通信芯片在通过目标输出接口对应的串行器将共享缓存数据输出之前,可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。具体的,通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带宽确定目标输出接口需求的串行器个数,从而设置目标输出接口与串行器的对应关系。例如,目标输出接口的接口带宽为40Gbps,串行器的输出带宽为10Gbps,则可以将目标输出接口与4个串行器建立对应关系。
本发明实施例可以根据各个目标输出接口的接口位宽以及共享FIFO的位宽确定各个目标输出接口需求的共享FIFO的个数,并根据所述确定的共享FIFO的个数为各个目标输出接口分配对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
请参与图6,图6是本发明实施例提供的一种数据输出装置的结构示意图。如图6所示本发明实施例中的数据输出装置至少可以包括输出接口确定模块610、共享FIFO分配模块620、以及数据传输模块630,其中:
输出接口确定模块610,用于根据目标业务的传输速率需求信息确定目标输出接口。
具体实现中,通信芯片可以包括多种接口标准的输出接口,例如,10M、100M、1000M、GE或XLGE等等,通信芯片的输出接口中同一种接口标准的输出接口可以存在多个,例如,120Gbps的通信芯片可以包括12个XGE(10Gbps)输出接口、6个2XGE(20Gbps)、3个XLGE(40Gbps)输出接口或1个ILK(120Gbps)输出接口。输出接口确定模块610可以根据目标业务的传输速率需求信息确定目标输出接口,例如,目标业务的传输速率需求为10Gbps,输出接 口确定模块610可以任意选择一个或多个XGE的输出接口作为目标输出接口。
共享FIFO分配模块620,用于根据所述输出接口确定模块610所确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组。
具体实现中,共享FIFO分配模块620可以根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口需求的共享FIFO的个数,在共享FIFO中获取确定个数的共享FIFO作为所述目标输出接口对应的FIFO组。例如,目标输出接口的接口位宽为64bit,共享FIFO的位宽为64bit,则该目标输出接口需求的共享FIFO的个数为1,共享FIFO分配模块620可以在共享FIFO中获取1个共享FIFO作为所述目标输出接口对应的FIFO组,即当该FIFO组存在数据输出时,通过该目标输出接口将数据输出;再例如,目标输出接口的接口位宽为128bit,共享FIFO的位宽为32bit,则该目标输出接口需求的共享FIFO的个数为4,共享FIFO分配模块620可以在共享FIFO中获取4个共享FIFO作为所述目标输出接口对应的FIFO组,即当该FIFO组存在数据输出时,该目标输出接口同时读取所述FIFO组中的数据。共享FIFO分配模块620可以根据目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
数据传输模块630,用于将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口,并通过目标输出接口对应的串行器将共享缓存数据输出。
作为一种可选的实施方式,若所述输出接口确定模块610确定了多个目标输出接口,所述共享FIFO分配模块620用于:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。
具体实现中,共享FIFO分配模块620可以根据各个目标输出接口的接口位宽以及共享FIFO的位宽确定各个目标输出接口需求的共享FIFO的个数,在共享FIFO中获取确定个数的共享FIFO作为各个目标输出接口对应的FIFO组。例如,输出接口确定模块610根据目标业务的传输速率需求信息确定了3个4XGE的输出接口,每个目标输出接口的接口位宽为128bit,若每个共享FIFO 的位宽为32bit,则共享FIFO分配模块620可以将每4个共享FIFO可以组成一个FIFO组,如图2所示;若每个共享FIFO的位宽为128bit,则共享FIFO分配模块620可以将1个共享FIFO组成一个FIFO组,如图3所示,其中,共享FIFO分配模块620可以任意选择3个共享FIFO分别确定为各个目标输出接口对应的FIFO组。再例如,输出接口确定模块610根据目标业务的传输速率需求信息确定了3个2XGE输出接口以及6个XGE输出接口为目标输出接口,2XGE输出接口的接口位宽为64bit,XGE输出接口的接口位宽为32bit,若每个共享FIFO的位宽为32bit,则共享FIFO分配模块620可以为确定的2XGE输出接口对应的FIFO组分别分配2个共享FIFO,为确定的XGE输出接口对应的FIFO组分别分配1个共享FIFO,如图4所示。
进一步的,所述数据传输模块630包括写口单元631、读口单元632以及数据输出单元633,其中:
写口单元631,用于根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据。
进一步的,所述写口单元631包括:
判断子单元631a,用于判断当前指向的FIFO组是否处于满状态。
写口子单元631b,用于若所述判断子单元631a判断当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。
具体实现中,FIFO组存在预设的存储空间,当FIFO组存储的共享缓存数据达到预设阈值时,判断子单元631a则可以判断FIFO组处于满状态。根据确定的各个FIFO组数据调度的先后顺序,当当前指向的FIFO组处于满状态时,写口子单元631b可以根据确定的各个FIFO组数据调度的先后顺序调度下一个FIFO组对应的共享缓存数据。例如,FIFO组与目标输出接口的对应关系如图2所示,其中,各个FIFO组数据调度的先后顺序为F0、F1以及F2,当前指向的FIFO组为F0,若判断子单元631a判断F0当前处于满状态,写口子单元631b则可以直接调度F1对应的共享缓存数据并写入F1,对于F0对应的共享缓存数据,写口子单元631b可以在下一次向F0写入数据时才调度。
读口单元632,用于通过FIFO组将共享缓存数据输出到对应的目标输出接口。
具体实现中,FIFO组中的共享缓存数据根据先入先出的原则进行排序,通 过FIFO组将共享缓存数据输出到对应的目标输出接口。
数据输出单元633,用于通过目标输出接口对应的串行器将共享缓存数据输出。
具体实现中,串行器用于将多路低速并行信号转换成高速串行信号,数据输出单元633包括串行器,可以根据输出频率读取对应的目标输出接口中的共享缓存数据,从而将共享缓存数据输出。
作为一种可选的实施方式,所述数据输出装置还可以包括设置模块640,所述设置模块640用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。
具体实现中,设置模块640可以根据目标输出接口的接口带宽以及串行器的输出带宽确定目标输出接口需求的串行器个数,从而设置目标输出接口与串行器的对应关系。例如,目标输出接口的接口带宽为40Gbps,串行器的输出带宽为10Gbps,设置模块640则可以将目标输出接口与4个串行器建立对应关系。
本发明实施例可以根据各个目标输出接口的接口位宽以及共享FIFO的位宽确定各个目标输出接口需求的共享FIFO的个数,并根据所述确定的共享FIFO的个数为各个目标输出接口分配对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
请参阅图9,图9是本发明另一实施例提供的一种数据输出装置的结构示意图,如图9所示,该数据输出装置900可以包括:至少一个处理器901,例如CPU,至少一个通信总线902,输出接口903,共享FIFO904以及存储器905。其中,通信总线903用于实现这些组件之间的连接通信,共享FIFO904用于缓存从共享缓存中调度出的共享缓存数据,其中,共享缓存中存储了目标业务的共享缓存数据,输出接口903用于将对应FIFO中的共享缓存数据输出,需要指出的是,该数据输出装置可以包括多个输出接口以及多个共享FIFO,具体数量根据实际情况而定。存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器905中存储一组程序代码,且处理器901用于调用存储器905中存储的程序代码,用于执行以下操作:
根据目标业务的传输速率需求信息在输出接口903中确定目标输出接口;
根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输 出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组;
将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口;
通过目标输出接口对应的串行器将共享缓存数据输出。
作为一种可选的实施方式,若根据目标业务的传输速率需求信息在输出接口903中确定了多个目标输出接口;
处理器901根据所述确定的目标输出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的FIFO组具体可以包括:
根据所述确定的各个目标输出接口对应的接口位宽以及共享FIFO的位宽确定各个目标输出接口对应的FIFO组。
进一步的,处理器901将所述目标业务的共享缓存数据写入所述确定的FIFO组,并通过所述FIFO组将共享缓存数据输出到对应的目标输出接口具体可以包括:
根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据;
通过FIFO组将共享缓存数据输出到对应的目标输出接口。
进一步的,处理器901根据确定的各个FIFO组数据调度的先后顺序依次调度共享缓存数据具体可以包括:
判断当前指向的FIFO组是否处于满状态;
若所述当前指向的FIFO组处于满状态,则调度下一个FIFO组对应的共享缓存数据。
作为一种可选的实施方式,所述通过目标输出接口对应的串行器将共享缓存数据输出之前,处理器901还执行如下步骤:
根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。
本发明实施例可以根据各个目标输出接口的接口位宽以及共享FIFO的位宽确定各个目标输出接口需求的共享FIFO的个数,并根据所述确定的共享FIFO的个数为各个目标输出接口分配对应的FIFO组,实现了共享FIFO的量化分组,从而提高了FIFO的利用率。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个 实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(Application Specific Integrated Circuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

一种数据输出方法及装置.pdf_第1页
第1页 / 共18页
一种数据输出方法及装置.pdf_第2页
第2页 / 共18页
一种数据输出方法及装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种数据输出方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种数据输出方法及装置.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103761065 A (43)申请公布日 2014.04.30 CN 103761065 A (21)申请号 201410038971.5 (22)申请日 2014.01.27 G06F 5/06(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 冯颖劼 史永杰 (74)专利代理机构 广州三环专利代理有限公司 44202 代理人 郝传鑫 熊永强 (54) 发明名称 一种数据输出方法及装置 (57) 摘要 本发明实施例公开了一种数据输出方法, 包 括 : 根据目标业务的传输速率需求信息确定目。

2、标 输出接口 ; 根据所述确定的目标输出接口的接口 位宽以及共享 FIFO 的位宽确定目标输出接口对 应的至少一个共享 FIFO 作为所述目标输出接口 对应的 FIFO 组 ; 将所述目标业务的共享缓存数据 写入所述确定的FIFO组, 并通过所述FIFO组将共 享缓存数据输出到对应的目标输出接口 ; 通过目 标输出接口对应的串行器将共享缓存数据输出。 相应地, 本发明实施例还公开了一种数据输出装 置。 采用本发明实施例, 可以提高FIFO的利用率。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书。

3、2页 说明书10页 附图5页 (10)申请公布号 CN 103761065 A CN 103761065 A 1/2 页 2 1. 一种数据输出方法, 其特征在于, 包括 : 根据目标业务的传输速率需求信息确定目标输出接口 ; 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接口对 应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组 ; 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享 缓存数据输出到对应的目标输出接口 ; 通过目标输出接口对应的串行器将共享缓存数据输出。 2. 如权利要求 1 所述的方法, 。

4、其特征在于, 若所述根据目标业务的传输速率需求信息 确定了多个目标输出接口 ; 所述根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接 口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组包括 : 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目 标输出接口对应的 FIFO 组。 3. 如权利要求 2 所述的方法, 其特征在于, 所述将所述目标业务的共享缓存数据写入 所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口包 括 : 根据确定的各个 FIFO 组数据调度的先后顺序依次。

5、调度共享缓存数据 ; 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 4. 如权利要求 3 所述的方法, 其特征在于, 所述根据确定的各个 FIFO 组数据调度的先 后顺序依次调度共享缓存数据包括 : 判断当前指向的 FIFO 组是否处于满状态 ; 若所述当前指向的 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数据。 5. 如权利要求 1-4 任一项所述的方法, 其特征在于, 所述通过目标输出接口对应的串 行器将共享缓存数据输出之前, 还包括 : 根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。 6. 一种数据输出装置, 其特征在于, 。

6、包括 : 输出接口确定模块, 用于根据目标业务的传输速率需求信息确定目标输出接口 ; 共享 FIFO 分配模块, 用于根据所述输出接口确定模块所确定的目标输出接口的接口 位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出 接口对应的 FIFO 组 ; 数据传输模块, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过 所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口对应的串 行器将共享缓存数据输出。 7. 如权利要求 6 所述的装置, 其特征在于, 若所述输出接口确定模块确定了多个目标 输出接口 ; 所述共享 。

7、FIFO 分配模块用于 : 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目 标输出接口对应的 FIFO 组。 8. 如权利要求 7 所述的装置, 其特征在于, 所述数据传输模块包括 : 权 利 要 求 书 CN 103761065 A 2 2/2 页 3 写口单元, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据 ; 读口单元, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口 ; 数据输出单元, 用于通过目标输出接口对应的串行器将共享缓存数据输出。 9. 如权利要求 8 所述的装置, 其特征在于, 所述写口单元包括 : 判。

8、断子单元, 用于判断当前指向的 FIFO 组是否处于满状态 ; 写口子单元, 用于若所述判断子单元判断当前指向的 FIFO 组处于满状态, 则调度下一 个 FIFO 组对应的共享缓存数据。 10. 如权利要求 6-9 任一项所述的装置, 其特征在于, 还包括 : 设置模块, 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器 的对应关系。 权 利 要 求 书 CN 103761065 A 3 1/10 页 4 一种数据输出方法及装置 技术领域 0001 本发明涉及计算机技术领域, 尤其涉及一种数据输出方法及装置。 背景技术 0002 随着网络产品对通信芯片集成度以及兼容性要求的不。

9、断提高, 通信芯片的接口数 量以及接口类型 (如 10M/100M/1000M、 GE、 XLGE 以及 Interlaken) 日益增加。通信芯片的 数据发送侧使用一个大容量的共享缓存对输出到各个接口的数据进行统一管理, 再通过串 行器将输出到各个接口的数据进行输出。为了保证片内处理性能, 共享缓存有着较宽的数 据位宽, 因此从共享缓存调度出的数据会形成一定量的 burst, 即数据突发, 为了吸收这些 burst 需要为各个接口分配 FIFO, 即接口缓存。 0003 目前, 主要存在两种 FIFO 分配方法, 第一种, 根据接口分配 FIFO, 即每个接口都独 立对应一个 FIFO, 由。

10、于接口数量大于串行器数量, 因此, 即使是该芯片满宽带运行时, 总存 在某些接口对应的 FIFO 不工作, 其 FIFO 的利用率低 ; 第二种, 根据串行器对接口进行简单 的分组, 将使用同一个串行器的多个接口分配一个 FIFO, 即复用同一个串行器的多个接口 共用一个 FIFO, 因此, FIFO 的位宽必须满足对应的接口组中最大接口位宽, 当组内的接口 存在很大的位宽差异时, 同样, 其 FIFO 的利用率低。 发明内容 0004 本发明实施例提供了一种数据输出方法及装置, 可以提高 FIFO 的利用率。 0005 本发明实施例第一方面提供了一种数据输出方法, 包括 : 0006 根据目。

11、标业务的传输速率需求信息确定目标输出接口 ; 0007 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接 口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组 ; 0008 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将 共享缓存数据输出到对应的目标输出接口 ; 0009 通过目标输出接口对应的串行器将共享缓存数据输出。 0010 在第一种可能的实现方式中, 若所述根据目标业务的传输速率需求信息确定了多 个目标输出接口 ; 0011 所述根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标。

12、输 出接口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组包括 : 0012 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0013 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述将所 述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据 输出到对应的目标输出接口包括 : 0014 根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据 ; 说 明 书 CN 103761065 A 4 2/10 页 5 0015 通过 FIF。

13、O 组将共享缓存数据输出到对应的目标输出接口。 0016 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述根据 确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据包括 : 0017 判断当前指向的 FIFO 组是否处于满状态 ; 0018 若所述当前指向的 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数 据。 0019 结合第一方面或第一方面的第一种至第三种中任一种可能的实现方式, 在第四种 可能的实现方式中, 所述通过目标输出接口对应的串行器将共享缓存数据输出之前, 还包 括 : 0020 根据所述确定的目标输出接口的接口带宽设置目标输。

14、出接口与串行器的对应关 系。 0021 相应地, 本发明实施例第二方面还提供了一种数据输出装置, 包括 : 0022 输出接口确定模块, 用于根据目标业务的传输速率需求信息确定目标输出接口 ; 0023 共享 FIFO 分配模块, 用于根据所述输出接口确定模块所确定的目标输出接口的 接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标 输出接口对应的 FIFO 组 ; 0024 数据传输模块, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并 通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口对应 的串行器将共享。

15、缓存数据输出。 0025 在第一种可能的实现方式中, 若所述输出接口确定模块确定了多个目标输出接 口 ; 0026 所述共享 FIFO 分配模块用于 : 0027 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0028 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述数据 传输模块包括 : 0029 写口单元, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存 数据 ; 0030 读口单元, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口 ; 0031 数据输出单元, 用。

16、于通过目标输出接口对应的串行器将共享缓存数据输出。 0032 结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述写口 单元包括 : 0033 判断子单元, 用于判断当前指向的 FIFO 组是否处于满状态 ; 0034 写口子单元, 用于若所述判断子单元判断当前指向的 FIFO 组处于满状态, 则调度 下一个 FIFO 组对应的共享缓存数据。 0035 结合第二方面或第二方面的第一种至第三种可能的实现方式, 在第四种可能的实 现方式中, 还包括 : 0036 设置模块, 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串 行器的对应关系。 说 明 书 CN 1037。

17、61065 A 5 3/10 页 6 0037 本发明实施例可以根据目标输出接口的接口位宽以及共享 FIFO 的位宽确定该目 标输出接口需求的共享 FIFO 的个数, 并根据所述确定的共享 FIFO 的个数为所述目标输出 接口分配 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 附图说明 0038 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领域普 通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 0039 图 1。

18、 是本发明实施例提供的一种数据输出方法的流程图 ; 0040 图 2 是本发明实施例提供的一种共享 FIFO 分配的结构示意图 ; 0041 图 3 是本发明实施例提供的另一种共享 FIFO 分配的结构示意图 ; 0042 图 4 是本发明实施例提供的另一种共享 FIFO 分配的结构示意图 ; 0043 图 5 是本发明另一实施例提供的一种数据输出方法的流程图 ; 0044 图 6 是本发明实施例提供的一种数据输出装置的结构示意图 ; 0045 图 7 是本发明实施例提供的一种数据传输模块的结构示意图 ; 0046 图 8 是本发明实施例提供的一种写口单元的结构示意图 ; 0047 图 9 是。

19、本发明另一实施例提供的一种数据输出装置的结构示意图。 具体实施方式 0048 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发 明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例, 都属于本发明保护的范围。 0049 请参阅图1, 图1是本发明实施例提供的一种数据输出方法的流程图。 如图1所示 本实施例中的数据输出的流程可以包括 : 0050 S110, 根据目标业务的传输速率需求信息确定目标输出接口。 0051 具体的, 通信芯片可以包括多种接口。

20、标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE (40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。通信芯片可以根据目标业务的传输速 率需求信息确定目标输出接口, 例如, 目标业务的传输速率需求为 10Gbps, 通信芯片可以任 意选择一个或多个 XGE 的输出接口作为目标输出接口。 0052 作为一种可选的实施方式, 通信芯片。

21、可以根据目标业务的传输速率需求信息确定 多个目标输出接口, 例如, 目标业务的传输速率需求为10Gbps, 该通信芯片包括12个XGE输 出接口, 通信芯片可以确定多个甚至全部 XGE 输出接口作为所述目标输出接口。 0053 S120, 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标 输出接口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组。 0054 具体的, 通信芯片可以根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定个数的共享 说 明 书 CN 103。

22、761065 A 6 4/10 页 7 FIFO作为所述目标输出接口对应的FIFO组。 例如, 目标输出接口的接口位宽为64bit, 共享 FIFO的位宽为64bit, 则该目标输出接口需求的共享FIFO的个数为1, 通信芯片可以在共享 FIFO中获取1个共享FIFO作为所述目标输出接口对应的FIFO组, 即当该FIFO组存在数据 输出时, 通过该目标输出接口将数据输出 ; 再例如, 目标输出接口的接口位宽为 128bit, 共 享 FIFO 的位宽为 32bit, 则该目标输出接口需求的共享 FIFO 的个数为 4, 通信芯片可以在 共享 FIFO 中获取 4 个共享 FIFO 作为所述目标。

23、输出接口对应的 FIFO 组, 即当该 FIFO 组存 在数据输出时, 该目标输出接口同时读取所述 FIFO 组中的数据。通信芯片可以根据目标输 出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为 所述目标输出接口对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用 率。 0055 其中, 目标输出接口的接口位宽可以根据目标输出接口的接口带宽以及输出频 率确定, 该输出频率可以根据通信芯片的制造工艺以及功耗等因素确定 ; 通信芯片中共享 FIFO 的个数可以根据串行器的个数确定, 串行器的个数可以根据串行器的输出带宽以及通 。

24、信芯片的总带宽确定, 每个共享 FIFO 的位宽可以根据串行器的输出带宽以及所述输出频 率确定。 0056 作为一种可选的实施方式, 若通信芯片根据目标业务的传输速率需求信息确定了 多个目标输出接口, 则可以根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目标输出接口对应的 FIFO 组。例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接 口的接口位宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则每 4 个共享 FIFO 可以组成一 个 FIFO 组, 如图 2 。

25、所示 ; 若每个共享 FIFO 的位宽为 128bit, 则 1 个共享 FIFO 则可以组成 一个 FIFO 组, 如图 3 所示, 其中, 通信终端可以任意选择 3 个共享 FIFO 分别确定为各个目 标输出接口对应的 FIFO 组。再例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业 务的传输速率需求信息确定了 3 个 2XGE 输出接口以及 6 个 XGE 输出接口为目标输出接口, 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口的接口位宽为 32bit, 若每个共享 FIFO 的 位宽为 32bit, 则 2XGE 输出接口对应的 FIFO 组中共享 FI。

26、FO 的个数为 2, XGE 输出接口对应 的 FIFO 组中共享 FIFO 的个数为 1, 如图 4 所示。 0057 S130, 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0058 具体的, 通信芯片可以将目标业务的共享缓存数据写入确定的 FIFO 组, 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0059 作为一种可选的实施方式, 若通信芯片确定了多个FIFO组, 如图2所示, 通信芯片 可以确定的各个根据 FIFO 组数据调度的先后顺序依次调度共享缓存数据, 并通过 FIFO 组 将共享。

27、缓存数据输出到对应的目标输出接口。具体的, 通信芯片可以将共享缓存数据根据 确定的 FIFO 组的个数以及各个 FIFO 组中共享 FIFO 的个数进行划分, 即确定共享缓存数据 的输出路径, 根据确定的各个 FIFO 组数据调度的先后顺序依次调度对应的共享缓存数据。 0060 进一步的, 若通信芯片确定了多个 FIFO 组, 通信芯片在将共享缓存数据写入对应 的 FIFO 组之前, 判断该 FIFO 组是否处于满状态, 若该 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数据。具体的, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享 说 明 书 CN 103。

28、761065 A 7 5/10 页 8 缓存数据达到预设阈值时, 通信芯片则判断FIFO组处于满状态, 当当前指向的FIFO组处于 满状态时, 通信芯片则可以根据确定的各个 FIFO 组数据调度的先后顺序调度下一个 FIFO 组对应的共享缓存数据。例如, 通信芯片划分的 FIFO 组与目标输出接口的对应关系如图 2 所示, 其中, 各个 FIFO 组数据调度的先后顺序为 F0、 F1 以及 F2, 若通信芯片当前指向的 FIFO 组为 F0, 且 F0 当前处于满状态, 则通信芯片不调度 F0 对应的共享缓存数据, 直接调度 F1对应的共享缓存数据并写入F1, 对于F0对应的共享缓存数据, 通。

29、信芯片可以在下一次向 F0 写入数据时才调度。 0061 S140, 通过目标输出接口对应的串行器将共享缓存数据输出。 0062 具体的, 串行器用于将多路低速并行信号转换成高速串行信号, 可以根据输出频 率读取对应的目标输出接口中的共享缓存数据, 从而将共享缓存数据输出。 0063 作为一种可选的实施方式, 通信芯片在通过目标输出接口对应的串行器将共享缓 存数据输出之前, 可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行 器的对应关系。具体的, 通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带 宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。

30、。例 如, 目标输出接口的接口带宽为 40Gbps, 串行器的输出带宽为 10Gbps, 则可以将目标输出 接口与 4 个串行器建立对应关系。 0064 本发明实施例可以根据目标输出接口的接口位宽以及共享 FIFO 的位宽确定该目 标输出接口需求的共享 FIFO 的个数, 并根据所述确定的共享 FIFO 的个数为所述目标输出 接口分配 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0065 请参阅图5, 图5是本发明另一实施例提供的一种数据输出方法的流程图。 本发明 实施例以确定多个目标输出接口为例进行描述。如图 5 所示本实施例中的数据输出的流程 可以。

31、包括 : 0066 S510, 根据目标业务的传输速率需求信息确定多个目标输出接口。 0067 具体的, 通信芯片可以包括多种接口标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE (40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。通信芯片可以根据目标业务的传输速 率需求信息确定多个目标输出接口, 确定的多个目标输出接口通过时分复。

32、用机制传输共享 缓存数据, 提高了目标输出接口的利用率, 从而提高了共享 FIFO 的利用率。例如, 目标业务 的传输速率需求为 10Gbps, 通信芯片可以在接口标准为 XGE 的输出接口中确定多个 XGE 输 出接口甚至可以确定所有 XGE 输出接口作为各个目标输出接口。 0068 S520, 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽 确定各个目标输出接口对应的 FIFO 组。 0069 具体的, 通信芯片可以根据所述确定的各个目标输出接口的接口位宽以及共享 FIFO 的位宽确定各个目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定个数 。

33、的共享 FIFO 作为各个目标输出接口对应的 FIFO 组。例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接 口的接口位宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则每 4 个共享 FIFO 可以组成一 个 FIFO 组, 如图 2 所示 ; 若每个共享 FIFO 的位宽为 128bit, 则 1 个共享 FIFO 则可以组成 说 明 书 CN 103761065 A 8 6/10 页 9 一个 FIFO 组, 如图 3 所示, 其中, 通信芯片可以任意选择 3 个共享 FIFO 分别确定。

34、为各个目 标输出接口对应的 FIFO 组。再例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业 务的传输速率需求信息确定了 3 个 2XGE 输出接口以及 6 个 XGE 输出接口为目标输出接口, 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口的接口位宽为 32bit, 若每个共享 FIFO 的 位宽为 32bit, 则 2XGE 输出接口对应的 FIFO 组中共享 FIFO 的个数为 2, XGE 输出接口对应 的 FIFO 组中共享 FIFO 的个数为 1, 如图 4 所示。通信芯片根据所述确定的各个目标输出接 口对应的接口位宽以及共享 FIFO 的位宽确定各。

35、个目标输出接口对应的 FIFO 组, 实现了共 享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0070 S530, 根据所述确定的各个 FIFO 组数据调度的先后顺序, 确定当前指向的 FIFO 组, 并判断当前指向的 FIFO 组是否处于满状态。 0071 具体的, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享缓存数据达到预设阈 值时, 通信芯片则可以判断 FIFO 组处于满状态。根据确定的各个 FIFO 组数据调度的先后 顺序, 当当前指向的 FIFO 组处于满状态时, 通信芯片则执行步骤 S540。 0072 S540, 若所述当前指向的FIFO组处于满状。

36、态, 则调度下一个FIFO组对应的共享缓 存数据。 0073 具体的, 通信芯片可以将共享缓存数据根据 FIFO 组的个数以及各个 FIFO 组中共 享FIFO的个数进行划分, 从而确定共享缓存数据的输出路径, 若当前指向的FIFO组处于满 状态, 通信芯片则根据确定的各个 FIFO 组数据调度的先后顺序调度下一个 FIFO 组对应的 共享缓存数据。例如, 通信芯片确定的 FIFO 组与目标输出接口的对应关系如图 2 所示, 其 中, FIFO 组数据调度的先后顺序为 F0、 F1 以及 F2, 若通信芯片当前指向的 FIFO 组为 F0, 且 F0当前处于满状态, 则通信芯片不调度F0对应的。

37、共享缓存数据, 直接调度F1对应的共享缓 存数据并写入F1, 对于F0对应的共享缓存数据, 通信芯片可以在下一次向F0写入数据时才 调度。 0074 S550, 将调度的共享缓存数据输出到 FIFO 组对应的目标输出接口。 0075 具体的, FIFO 组中的共享缓存数据根据先入先出的原则进行排序, 通过 FIFO 组将 共享缓存数据输出到对应的目标输出接口。 0076 S560, 通过该目标输出接口对应的串行器将共享缓存数据输出。 0077 具体的, 串行器用于将多路低速并行信号转换成高速串行信号, 可以根据输出频 率读取对应的目标输出接口中的共享缓存数据, 从而将共享缓存数据输出。 007。

38、8 作为一种可选的实施方式, 通信芯片在通过目标输出接口对应的串行器将共享缓 存数据输出之前, 可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行 器的对应关系。具体的, 通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带 宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。例 如, 目标输出接口的接口带宽为 40Gbps, 串行器的输出带宽为 10Gbps, 则可以将目标输出 接口与 4 个串行器建立对应关系。 0079 本发明实施例可以根据各个目标输出接口的接口位宽以及共享 FIFO 的位宽确定 各个目标输出接口需求的共享 FIFO 的个数, 并。

39、根据所述确定的共享 FIFO 的个数为各个目 标输出接口分配对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0080 请参与图 6, 图 6 是本发明实施例提供的一种数据输出装置的结构示意图。如图 6 说 明 书 CN 103761065 A 9 7/10 页 10 所示本发明实施例中的数据输出装置至少可以包括输出接口确定模块 610、 共享 FIFO 分配 模块 620、 以及数据传输模块 630, 其中 : 0081 输出接口确定模块 610, 用于根据目标业务的传输速率需求信息确定目标输出接 口。 0082 具体实现中, 通信芯片可以包括多种。

40、接口标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE(40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。输出接口确定模块 610 可以 根据目标业务的传输速率需求信息确定目标输出接口, 例如, 目标业务的传输速率需求为 10Gbps, 输出接口确定模块 610 可以任意选择一个或多个 XGE 的输出接口作为目标输出接 口。 008。

41、3 共享 FIFO 分配模块 620, 用于根据所述输出接口确定模块 610 所确定的目标输出 接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所 述目标输出接口对应的 FIFO 组。 0084 具体实现中, 共享FIFO分配模块620可以根据所述确定的目标输出接口的接口位 宽以及共享 FIFO 的位宽确定目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确 定个数的共享 FIFO 作为所述目标输出接口对应的 FIFO 组。例如, 目标输出接口的接口位 宽为 64bit, 共享 FIFO 的位宽为 64bit, 则该目标输出接口需求的共享 F。

42、IFO 的个数为 1, 共 享 FIFO 分配模块 620 可以在共享 FIFO 中获取 1 个共享 FIFO 作为所述目标输出接口对应 的 FIFO 组, 即当该 FIFO 组存在数据输出时, 通过该目标输出接口将数据输出 ; 再例如, 目 标输出接口的接口位宽为 128bit, 共享 FIFO 的位宽为 32bit, 则该目标输出接口需求的共 享 FIFO 的个数为 4, 共享 FIFO 分配模块 620 可以在共享 FIFO 中获取 4 个共享 FIFO 作为所 述目标输出接口对应的FIFO组, 即当该FIFO组存在数据输出时, 该目标输出接口同时读取 所述 FIFO 组中的数据。共享 。

43、FIFO 分配模块 620 可以根据目标输出接口的接口位宽以及共 享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0085 数据传输模块 630, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口 对应的串行器将共享缓存数据输出。 0086 作为一种可选的实施方式, 若所述输出接口确定模块 610 确定了多个目标输出接 口, 所述共享 FIFO 分配模块 620 用于 : 。

44、0087 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0088 具体实现中, 共享FIFO分配模块620可以根据各个目标输出接口的接口位宽以及 共享 FIFO 的位宽确定各个目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定 个数的共享 FIFO 作为各个目标输出接口对应的 FIFO 组。例如, 输出接口确定模块 610 根 据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接口的接口位 宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则共享 FIFO 分配模。

45、块 620 可以将每 4 个 共享 FIFO 可以组成一个 FIFO 组, 如图 2 所示 ; 若每个共享 FIFO 的位宽为 128bit, 则共享 说 明 书 CN 103761065 A 10 8/10 页 11 FIFO 分配模块 620 可以将 1 个共享 FIFO 组成一个 FIFO 组, 如图 3 所示, 其中, 共享 FIFO 分 配模块 620 可以任意选择 3 个共享 FIFO 分别确定为各个目标输出接口对应的 FIFO 组。再 例如, 输出接口确定模块 610 根据目标业务的传输速率需求信息确定了 3 个 2XGE 输出接口 以及 6 个 XGE 输出接口为目标输出接口,。

46、 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口 的接口位宽为 32bit, 若每个共享 FIFO 的位宽为 32bit, 则共享 FIFO 分配模块 620 可以为 确定的 2XGE 输出接口对应的 FIFO 组分别分配 2 个共享 FIFO, 为确定的 XGE 输出接口对应 的 FIFO 组分别分配 1 个共享 FIFO, 如图 4 所示。 0089 进一步的, 所述数据传输模块 630 包括写口单元 631、 读口单元 632 以及数据输出 单元 633, 其中 : 0090 写口单元 631, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓 存数据。 。

47、0091 进一步的, 所述写口单元 631 包括 : 0092 判断子单元 631a, 用于判断当前指向的 FIFO 组是否处于满状态。 0093 写口子单元 631b, 用于若所述判断子单元 631a 判断当前指向的 FIFO 组处于满状 态, 则调度下一个 FIFO 组对应的共享缓存数据。 0094 具体实现中, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享缓存数据达到预 设阈值时, 判断子单元 631a 则可以判断 FIFO 组处于满状态。根据确定的各个 FIFO 组数据 调度的先后顺序, 当当前指向的FIFO组处于满状态时, 写口子单元631b可以根据确定的各 个 FI。

48、FO 组数据调度的先后顺序调度下一个 FIFO 组对应的共享缓存数据。例如, FIFO 组与 目标输出接口的对应关系如图 2 所示, 其中, 各个 FIFO 组数据调度的先后顺序为 F0、 F1 以 及 F2, 当前指向的 FIFO 组为 F0, 若判断子单元 631a 判断 F0 当前处于满状态, 写口子单元 631b 则可以直接调度 F1 对应的共享缓存数据并写入 F1, 对于 F0 对应的共享缓存数据, 写 口子单元 631b 可以在下一次向 F0 写入数据时才调度。 0095 读口单元 632, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0096 具体实现中, F。

49、IFO 组中的共享缓存数据根据先入先出的原则进行排序, 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0097 数据输出单元 633, 用于通过目标输出接口对应的串行器将共享缓存数据输出。 0098 具体实现中, 串行器用于将多路低速并行信号转换成高速串行信号, 数据输出单 元 633 包括串行器, 可以根据输出频率读取对应的目标输出接口中的共享缓存数据, 从而 将共享缓存数据输出。 0099 作为一种可选的实施方式, 所述数据输出装置还可以包括设置模块 640, 所述设置 模块 640 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对 应关系。 0100 具体实现中, 设置模块 640 可以根据目标输出接口的接口带宽以及串行器的输出 带宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。 例如, 目标输出接口的接口带宽为40Gb。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1