书签 分享 收藏 举报 版权申诉 / 18

一种数据输出方法及装置.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)等。
    以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

    关 键  词:
    一种 数据 输出 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种数据输出方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6184729.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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