用于gponolt的mac上行调度方法和装置的制作方法

文档序号:7682026阅读:263来源:国知局
专利名称:用于gpon olt的mac上行调度方法和装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及用于千兆无源光网络
(Gigabit-capable Passive Optical Networks ,简称GPON )的光线i 各 终端(Optical Line Terminal,简称OLT)的J 某体访问控制(Media Access Control,简称MAC )上4亍调度方法和装置。
背景技术
在目前的宽带4妄入中,绝大多凄t釆用xDSL( x- Digital Subscriber Loop, x数字签约用户环)技术,而xDSL 4艮难满足像IPTV( Internet Protocol Television,互联网协i义电牙见),在线网乡各游戏,视J贞点才番, 会议电视等高带宽的需求。根据预测,每个用户的带宽需求在5年 内将达到20~50Mb/s,而在IO年内将可能达到70Mb/s,传统的才支 术将无法胜4壬如此高的带宽需求,而PON( Passive Optical Networks, 无源光网全各)才支术可以大显身手。
PON才支术包4舌APON ( ATM Passive Optical Networks, ATM无 源光网络),EPON ( Etnernet Passive Optical Networks ,以太网无源 光网络),以及2004年初ITU-T会议上通过的G.984系歹'J GPON (Gigabit-capable Passive Optical Networks,吉比净争能力无源光网纟各) 协议标准。新^是出的GPON与APON, EPON相比较具有强大的优 势。在GPON技术中,在网络侧MAC上行业务的调度一般用硬件 来实现,相对于传统的DSL的业务调度来说,GPON MAC上行业 务的调度要求的性能更高,上行要求达到1.25Gbits/s。
目前的GPON MAC上4于业务在端口调度功能方面存在灵活性 不够的问题,例如不能配置多条队列。

发明内容
本发明旨在^是供一种GPON MAC上4亍调度方法和装置,能够 解决目前的GPON MAC上行业务在端口调度功能方面存在灵活性 不够的问题。
根据本发明的一个方面,提供了 一种用于GPON OLT的MAC 上4亍调度方法,包括以下步骤将获取的关于已存入緩沖器的数据 包的描述符写入对应数据包所要上行转发的目的端口的队列;对每 个队列进行轮询,解析出轮询所获得的描述符的含义;根据含义从 緩冲器中读取数据包;以及将数据包组装成帧,输出到目的端口的 出口队列中。
根据本发明的另 一方面,提供了 一种用于GPON OLT的MAC 上行调度装置,包括描述符緩存模块,用于将获取的关于已存入 緩沖器的数据包的描述符写入对应数据包所要上行转发的目的端口 的队列;队列调度控制器模块,用于对每个队列进行轮询,解析出 轮询所获得的描述符的含义;DMA接口才莫块,用于根据含义从緩 冲器中直接存储器读取数据包;以及出口队列接口模块,用于将数 据包组装成帧,输出到目的端口的出口队列中。
本发明上述实施例l是供了高带宽,效率高,灵活性好的GPON MAC上4于调度方法和装置。


此处所i兌明的附图用来4是供对本发明的进一步理解,构成本申
请的一部分,本发明的示意性实施例及其"i兌明用于解释本发明,并 不构成对本发明的不当限定。在附图中
图1示出了根据本发明实施例的用于GPON OLT的MAC上行 调度方法的流程图2示出了根据本发明实施例的GPON MAC上行调度装置的 结构框图3示出了根据本发明实施例的GPON MAC上行调度装置实 现流程图4示出了根据本发明实施例的GPON MAC上行调度装置转 发帧结构图。
具体实施例方式
下面将参考附图并结合实施例,来详细i兌明本发明。
图1示出了根据本发明实施例的用于GPON OLT的MAC上行 调度方法的流程图,包4舌以下步艰《
步骤S10,将获取的关于已存入緩冲器的数据包的描述符写入 对应数据包所要上行转发的目的端口的队列;
步骤S20,对每个队列进行4仑询,解析出轮询所获得的描述符 的含义;步骤S30,根据含义从緩冲器中读取数据包;以及
步骤S40,将凄t据包组装成帧,输出到目的端口的出口队列中。
该实施例的MAC上行调度方法对应数据包所要上行转发的目 的端口建立了多个队列,所以在端口调度功能方面l是高了灵活性。
优选的,目的端口包括以太网"l妄口 0,以太网4姿口 1, CPU4妻 口 0,以及CPU^妻口 1; i殳置以太网4妻口 0和以太网4妄口 l只十应的 队列深度分别为lkbit, CPU接口 O和CPU接口 l对应的队列深度 分另'J为2048 bit。
优选的,描述符可以包括
(1 )drop(丟去标志);(2 )portjd(端口索引号);(3 )frame—len (帧长度);(4 )first—buf一index(第一个緩冲区索引号);(5 )dest_port (目的端口 ); ( 6 ) oam (才喿作管理维护标志);(7 ) onu—id (光网络 单元索引号)。
优选的,根据含义从緩冲器中读取数据包具体包括根据含义 中的《爰沖区号和帧的长度申i青DMA ( Direct Memory Access ,直4妄 存储器存取);根据申请的地址和长度从緩冲器中DMA数据包。
优选的,队列为先进先出(FIFO)结构。在本文中如无特别指 出,通常FIFO就是指4戈队列。
优选的,对每个队列进行轮询为公平轮询,如果当前轮询到的 队列不空,就将该队列里的描述符读出来。优选的,其中,根据申请的地址和长度从緩沖器中DMA数据 包具体包括当数据包大于2048字节时,分多次DMA数据包,每 次DMA最多2048字节。
优选的,将数据包组装成帧具体包括设置帧为69位,包括帧 头、帧尾和数据主体,其中,设置帧头包括帧头标志SOP,需要透 传的信息,如帧长度,port—id, oam才示志、,目的端口冲旨示,onu id 等;设置数据主体包括数据包中的数据;以及设置帧尾为结束标志。
优选的,还包括以下步艰A:如果发现描述符具有drop信号指示, 则通知和释放緩冲器中描述符所对应的数据包所緩存的緩沖区。
现有技术GPON MAC上4于业务除了存在灵活性问题,而且存 在易堵塞,緩冲区查表效率不高、数据包处理不能区分大包小包, 不支持多PON口,不支持2048 bytes分片等问题。显然,上述的优 选方法,因为提供了队列轮询机制、灵活的查表方法,数据包区分 大小、多PON口队列、分片方法等,所以解决了上述的技术问题, 实现了高带宽,效率高,灵活性好的优越性能。
图2示出了根据本发明实施例的GPON MAC上行调度装置的 结构^i图,包括
描述符緩存模块A,用于将获取的关于已存入緩沖器的数据包 的描述符写入对应数据包所要上行转发的目的端口的队列;
队列调度控制器模块B ,用于对每个队列进行轮询,解析出轮 询所获得的描述符的含义;
DMA接口冲莫块E,用于根据含义从緩沖器中DMA数据包;以
及出口队列接口模块D,用于将数据包组装成帧,输出到目的端 口的出口队列中。队列结构可以是FIFO结构。
GPON MAC上行调度装置的主要作用是在包完整地被存储到 DRR2 SDRAM之后,将包的相关信息,即包描述符写进队列,以 Y更发送的时候读取。目前发送的目的端口有4个,以太网接口 0, 以太网才妄口 1, CPU4妄口 0,以及CPU^妄口 1, PON 口 0只于应以太 网4妄口 0和CPU 4妾口 0, PON 口 1对应以太网4妾口 1和CPU 4妾口 1。每个端口分别i殳一个队列,采取/>平專仑询的方式进4于发送。队列 采用FIFO结构,其中两个以太网4妄口的队列深度i殳为lkbit,其它 二个CPU接口的队列深度设为2048,包描述符由重组模块输出到 队列管理模块,它包括以下数据信号
(1 ) drop标志(2 ) port—id ( 3 ) frame—len ( 4 ) flrst—buf—index (5 ) dest_port ( 6 ) oam标志(7 ) onu—id。在入队列时,才艮据PON ID和目地端口将包的描述符按照先后顺序写进各自所属的队列,共 有4个队列。4个队列中只要4壬-f可一个不空,就可以进4亍发送了。 发送的时候,对4个队列采取公平轮询的方式读取其中的包描述符, 一个完整的包发完之后再去l仑询下一个目地端口队列,如此反复, 直到发完所有的包。
对于大于2048bytes的包进行分片发送,就是一次轮寻每个端 口一次最大只发送2048bytes的凝:据包,同时对每一个队列i殳置一 组寄存器对剩余的帧长度进行緩存,以便DMA进行下一次申请, 直到DMA把一帧数据转发完毕。
对于有drop信号指示的数据包要丢去,并通知緩冲区管理模块 释放相应的緩沖区。当 一个数据包从DD2 SDRAM中读出并成功转发后要通知緩沖 区管理模块释放相应的緩冲区。
从结构图可见,这些模块的关系是描述符緩存模块A把来自 外部的帧信息描述符按不同的队列进行緩存,把需要丟去的描述符 信息传送给緩存回收控制模块C,队列调度控制器模块B根据描述 符緩存模块A中各个队列的空满状态指示读取队列中的描述符信息 进行解析,将要读取DDR2 SDRAM内容的地址,长度等信息送给 DMA接口模块E,同时,队列调度控制器模块B将DMA接口模块 E从DDR2 SDRAM中读回来的数据输出到出口队列接口模块D, 整个调度过程完成之后队列调度控制器模块B将緩沖区号送到緩存 回收模块C进行緩沖区回收。
具体来说,图2中的各模块的硬件实现具体如下
描述符入队模块A的硬件实现具体如下
就是把来自重组之后的描述符信息写入队列,描述符信息包括 帧长度,OAM标示,端口ID号,第一个^C冲区号,目的端口号, ONUjD号,4巴这些信息组合成一个59bits宽的数据。在这里队列 用FIFO来实现,以太网交换端口队列的深度为1024, CPU端口队 列的深度为128。
当来自重组模块的写请求有效时,如果丢去标示信号DROP无 效,并且根据目的端口指示的队列也没有满,则把组合之后的59bits 宽的翁3居写入相应目的端口队列FIFO中,同时产生FIFO空/满指 示信号。如果在重组^^莫块的写请求有效时,丢去标示信号DROP也同时有效,则要产生丢去请求标示信号和要丢去的緩沖区号,送到緩沖区才莫块控制4妄口进行处理。
如果在重组才莫块的写请求有效时,丢去标示信号DROP无效,并且相应的目的端口队列满了,则要丢去相应的帧,产生丢去请求标示信号和要丢去的緩冲区号,送到緩冲区^t块控制接口进行处理。
队列调度控制模块B的硬件实现具体如下
只要轮询到的队列不空,并且在相应出口准备好的条件下,调度控制器就会从该队列中读取组装好的描述符,从描述符中提取帧长度4言息,夕爰沖区号,port_id, onu—id, oam才示示,dest_port 4言息,然后对巴它暂存在相应的 一组寄存器中。
当调度控制器调度出 一个端口之后,调度控制器就等待从DDR中读凝:据完成,当完成读DDR的凄t据之后调度控制器就去轮询下一个端口,这样周而复始,永不停息。
当某个出口出现堵塞时,有两种情况, 一种是调度过程中出现堵塞,在这种情况下,调度控制器为了避免堵塞其它端口,坚持把一帧的数据调度完,把它写进出口FIFO,由下一级丢去。另外一种情况就是如果调度控制器轮询到该端口之前出口就堵塞,调度控制器就不调度该端口直接「4仑询下一个端口 ,当该出口所对应的入口队列满之后就直接丟去,避免了堵塞其它端口。
为了解决一些过长的帧占用调度控制器的问题,提高调度效率和出口负载的均匀性,采用了 128bytes的调度策略,即对每个轮询到的端口,每次最大只能调度出128bytes的数据,剩下的数据等待下一次调度,这样就要为每一个端口设置一个剩余帧长度保存寄存器以供下次调度时用,当一帧数据都调度完成之后才能从队列中读取描述符开始下一帧的调度。
緩存回收控制模块C的硬件实现具体如下
緩存回收控制模块有三组收入的回收请求,第一组是来自PON口 0的緩沖区释放请求,第二组是来自PON 口 1的緩冲区释放请求,第三组是来自描述符入队模块的緩沖区释放请求,緩存回收控制接口模块对这三个请求按固定优先级进行仲裁,描述符入队模块的緩沖区释放请求的优先级最高,PON 口 0的緩沖区释放请求优先级次之,PON 口 1的緩冲区释放请求的优先级最低,并将仲裁获胜的一组緩沖区号送出给緩冲区管理模块,同时对获胜的请求进行应答。
出口队列接口才莫块D的硬件实现具体如下
出口 FIFCM妻口才莫块的llT入是,人DDR2读回来的凄欠据,以及在队列调度控制器中暂存的需要透传的帧长度信息,緩冲区号,port—id, onu_id, oam才示示,dest_port 4言息。4巴帧长度4言息,纟爰冲区号,port—id, onu—id, oam标示,dest_port信息组装成帧头,在帧头的bit68置1以表示是帧头,同时,产生写帧头使能信号,该使能信号保持一个时钟周期,要与帧头数居对齐。
输出到出口 FIFO的数据是69bits宽的数据流,当从DDR每次读回数据64 bits来构成69bits的数据时,在bit64, bit65, bit66要4翁入有j丈字节指示才示志be, bit67, bit68 #卜零。
当帧结束时,在bit67要置1以示是帧尾,在bit64, bit65, bit66要插入有效字节指示标志be。对于帧头,帧尾,以及每一个有效的数据,都要产生一个写使
能信号,并和有效凄t据对齐,并将写使能信号和69bits宽的凄t据输出到下一级的4妄口 FIFO。
DMA接口才莫块E的硬件实现具体如下
DMA接口模块的输入是暂存在队列调度控制器模块中的帧长度和緩冲区号,每次申请DMA的长度不大于2048 bytes,当帧的长度大于2048 bytes时,按128 bytes申请,余下的字节数等待下一次调度后申请,直到一帧申请完毕。
当向DMA发出申请之后,等待DMA应答,采样到DMA应答信号置高后,要从DMA的FIFO中读取数据给出口队列接口模块,读取数据的个数与申请的个数相同。
当DMA应答后,调度控制器开始调度出下一个端口 , DMA接口才莫块就开始下一个DMA申请,这样周而复始地进行所有端口调度—DMA申请—数据转发的工作。
当从DMAFIFO中读完每一帧的数据之后,要对该帧占用的緩沖区进行回收,要向緩存回收控制模块产生緩冲区释放请求,并送出需要回收的第一个緩沖区号。
在这里, 一个緩冲区存放的数据长度最大为2048 bytes,当帧的长度大于2048 bytes, 一帧凄t据在DDR中可能占用了多个緩沖区,要根据第 一个緩沖区号申请查表,并将查表得到的緩冲区号作为DMA申请下一个緩冲区的首地址。图3详细描述了整个GPON MAC上行调度装置的工作流程,实现了从描述符入队到数据转发以及緩冲区回收控制的整个流程。,包4舌以下步艰《
第一步描述符组装
描述符组装就是对来自外部重组模块的描述符按转发的目的端口将相关信息(帧长度,第一个緩沖区号,目的端口号等)进行组装成入队列FIFO格式的l丈才居。
第二步队列满丢去该包,释》文緩冲区
如果需要入对的队列满了 ,则要把需要入队的描述符所对应的帧丢去,并释》文相应的緩冲区。
第三步描述符入队
如果需要入队的队列没有满,就要把组装好的描述符写入相应的队列。
第四步端口调度
当描述符写入队列之后,队列调度控制器模块就会对每个队列进行4仑询,如果队列FIFO不空,就会将该队列里的描述符读出来,解析出该描述符的含义,包括緩沖区号,转发端口 ,帧长度,onu—id,portjd, oam包才旨示等"f言息。
第五步申^青DMA
根据緩沖区号和帧的长度申请DMA , DMA控制器根据申请的地址和长度从DDR2 SDRAM中读回需要转发的数据,为了提高调度效率,对于大于2048bytes的帧需要进行分片处理,即每次DMA申请最多2048字节。
第六步读转发数据
如果收到DMA应答信号,就要从DMA控制器中读回需要转发的数据。
第七步帧的组装和转发
帧包括帧头,帧尾和数据主体,帧的结构见图三所示。帧是69bits的数据结构,帧头包括帧头标志SOP,需要透传的信息,如帧长度,port—id, oam标志,目的端口指示,onu—id等,凄丈据主体就是,人DDR2 SDRAM读回来的凄t据,帧尾就是一帧数据转发完后的结束标志。
当帧转发时,每一帧都要按帧头,数据主体,帧尾进行组装,组装完后产生一个数据有效信号,对准有效数据,将该数据输出到对应端口的出口 FIFO中,完成整个GPON MAC上行调度过程。
第八步转发完一帧后,释放緩冲区
当一帧转发完之后,即EOF信号有效时,才艮据第一个緩沖区号释放相应的緩沖区。
第九步超过128bytes字节的调度
当帧长度超过128bytes时,要緩存緩冲区号和剩余帧长度,为下一次调度4吏用。图4示出了根据本发明实施例的GPON MAC上行调度装置转发帧结构图。
从DDR2 SDRAM (即緩冲器)读回来的数据要按照图4所示的格式进行组装,然后进行转发到每个出口 。
port—id[ll:0]对应bit[ll:O],是端口的索引号。
len[13:0]对应bit[25:12]:是帧的长度。
oam对应bit[26]: oam指示。
pti对应[29: 27]: pti指示。
onu—id对应[41: 30]: onu的ID号。
pon—id对应[43:42]: PON 口的ID号。
be[2:0]对应bit[66:64]:帧尾字节的byte数目指示。
sop对应bit[67]:帧首指示。
eop对应bit[68]:帧尾指示。
当帧尾时,eop为l,下一级硬件(或软件)应该根据be的值取最后一个输出数据中的有效字节数,约定如下be[2] be[l]
be[O]
bytes bytes bytes bytes bytes bytes bytes bytes
8
1
2
4
0 0 0
0
1 1
0
0
1 1
0 0
6
7
1
1
0
1
0
1
0
1
0
1
在缺省条件下,如果不是帧尾,be为7。当帧尾(eop-l)的情 况下,如果be等于0,要才艮据帧的长度来计算最后读回来的有效字 节是8个。
从以上的描述中,可以看出,本发明实现了如下技术效果
克服了以往DSL效率和性能不高的缺陷,提高了灵活性、高效 率和高带宽,使GPON MAC上行业务达到了上行带宽2.5Gbits/s效果。
显然,本领域的4支术人员应该明白,上述的本发明的各才莫块或 各步艰《可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述4又为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的寺支术人员来i兌,本发明可以有各种更改和变化。凡在
本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1. 一种用于GPON OLT的MAC上行调度方法,其特征在于,包括以下步骤将获取的关于已存入缓冲器的数据包的描述符写入对应所述数据包所要上行转发的目的端口的队列;对每个所述队列进行轮询,解析出轮询所获得的描述符的含义;根据所述含义从所述缓冲器中读取所述数据包;以及将所述数据包组装成帧,输出到所述目的端口的出口队列中。
2. 根据权利要求1所述的上行调度方法,其特征在于,所述目的 端口包^"以太网"l妄口 0,以太网4妻口 1, CPU4妄口 0,以及CPU <接口 1; i殳置所述以太网4妄口 0和以太网4妄口 1对应的队列深 度分别为lk bit,所述CPU接口 0和CPU接口 1对应的队列 深度分别为2048 bit。
3. 才艮据片又利要求1所述的上行调度方法,其特4正在于,所述描述 符包4舌以下至少之一丢去标志、端口索引号、帧长度、第一个緩冲区索引号、 目的端口、操作管理维护标志、和光网络单元索引号。
4. 根据权利要求1所述的上行调度方法,其特征在于,所述队列 为先进先出结构。
5. 根据权利要求1所述的上行调度方法,其特征在于,对每个所 述队列进行轮询为公平轮询,如果当前轮询到的所述队列不 空,就将该队列里的所述描述符读出来。
6. 根据权利要求1所述的上行调度方法,其特征在于,根据所述 含义从所述緩沖器中读取所述数据包具体包括根据所述含义中的緩沖区号和帧的长度申请直接存储器 读取;根据申请的地址和长度从所述緩沖器中直接存储器读取 所述ft据包。
7. 根据权利要求6所述的上行调度方法,其特征在于,其中,根 据申请的地址和长度从所述緩沖器中直接存储器读取所述数 据包具体包括当所述教:据包大于2048字节时,分多次直接存储器读:f又 所述数据包,每次直接存储器读取最多2048字节。
8. 根据权利要求1所述的上行调度方法,其特征在于,将所述数 据包组装成帧具体包括i殳置帧为69位,包括帧头、帧尾和数据主体,其中,设置帧头包括帧头标志和需要透传的信息;设置数据主体包括所述数据包中的数据;以及设置帧尾为结束标志。
9. 根据权利要求1所述的上行调度方法,其特征在于,还包括以 下步骤如果发现所述描述符具有丢去标志,则通知和释;^文所述纟爰 冲器中所述描述符所对应的数据包所緩存的緩冲区。
10.—种用于GPON OLT的MAC上行调度装置,其特;f正在于,包 括描述符緩存模块,用于将获取的关于已存入緩冲器的数据 包的描述符写入对应所述数据包所要上行转发的目的端口的 队列;队列调度控制器模块,用于对每个所述队列进行轮询,解 析出轮询所获得的描述符的含义;DMA接口模块,用于根据所述含义从所述緩沖器中直接 存储器读取所述数据包;以及出口队列接口模块,用于将所述数据包组装成帧,输出到 所述目的端口的出口队列中。
全文摘要
本发明提供了一种用于GPON OLT的MAC上行调度方法和装置,方法包括以下步骤将获取的关于已存入缓冲器的数据包的描述符写入对应数据包所要上行转发的目的端口的队列;对每个队列进行轮询,解析出轮询所获得的描述符的含义;根据含义从缓冲器中读取数据包;以及将数据包组装成帧,输出到目的端口的出口队列中。本发明为GPON MAC上行业务在端口调度功能方面提供了高带宽,效率高,灵活性好的优越性能。
文档编号H04L12/56GK101478473SQ20081000016
公开日2009年7月8日 申请日期2008年1月2日 优先权日2008年1月2日
发明者罗国强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1