Epon网络中olt或onu芯片用ddr缓存以太网包的方法

文档序号:7759473阅读:215来源:国知局
专利名称:Epon网络中olt或onu芯片用ddr缓存以太网包的方法
技术领域
本发明涉及以EPON技术,特别涉及一种EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法。
背景技术
IOG EPON(Ethernet Passive Optical Network,太网无源光网络)网络中,不管是OLT (光缆终端设备)还是ONU(光网络单元),都需要缓存大量数据。这些数据可以存放在芯片内部RAM (random access memory,随机存储器)里面,也可以存放在芯片外部 DDR(DoubIe Data Rate,双倍速率同步动态随机存储器)里面。当为了节约芯片内部RAM而把数据存放到DDR的时候,DDR的访问效率就成了制约我们的瓶颈问题,因为如果提高DDR 的位宽和工作频率同样会影响芯片的面积和功耗。

发明内容
本发明要解决的技术问题是提供一种EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,能优化DDR的访问效率。为解决上述技术问题,本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,DDR中包括一以太网包存储区域;所述以太网包存储区域包括N个存储区间,每个存储区间包括M个相同大小的以太网包存储单元;OLT或ONU芯片接收到的以太网包分为i队,当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一以太网包的各以太网包存储单元所属的存储区间按顺序交错;i、M、N为正整数。N可以为4或8。当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一队的以太网包的各以太网包存储单元所属的存储区间按顺序交错。当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一队的以太网包的当前以太网包存储单元所在的存储区间与用于存放该同一队的以太网包的先前K个以太网包存储单元所在的存储区间都不同,K为小于等于N的正整数。当前以太网包存储单元所在的存储区间被占用的以太网包存储单元数最少。存放同一以太网包的各以太网包存储单元中,写有存放该以太网包的下一以太网包存储单元的指针;所述DDR中还包括一 FD存储区域;所述FD存储区域包括多个相同大小的FD存储单元,所述FD存储单元分为i组, 属于同一组的FD存储单元用于存放属于同一队的以太网包的帧描述符组,一 FD存储单元中写有属于同一组的下一个FD存储单元的指针,每个FD存储单元能存放一个帧描述符组,一个帧描述符组包括j个帧描述符,j为正整数;当OLT或ONU芯片接收到的以太网包存入DDR时,同时将各队的以太网包的帧描述符分别依序以帧描述符组的形式按队存入DDR的各FD存储单元,即将属于同一队的各以太网包的帧描述符依序分为一个或多个帧描述符组后将各帧描述符组依序存入DDR的相应FD存储单元。当OLT或ONU芯片从DDR读出以太网包时,根据从DDR的各FD存储单元读出的相应各队的以太网包的帧描述符从以太网包存储区域读出相应的各以太网包。所述OLT或ONU芯片内部RAM设置有i个缓存区间,每个缓存区间包括尾缓存和头缓存,所述尾缓存的长度为j个帧描述符的长度,所述头缓存长度为2j个帧描述符的长度;当OLT或ONU芯片接收到的以太网包存入DDR时,同时将各队的以太网包的帧描述符分别依序传送到芯片内部MM的i个缓存区间,当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且属于该队的以太网包的帧描述符总数小于3j时,属于该队的以太网包的帧描述符直接从芯片内部RAM 的相应于该队的缓存区间的尾缓存透传到头缓存;当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且芯片内部RAM 的相应于该队的缓存区间的尾缓存中的帧描述符数达到j时,则将该尾缓存中的帧描述符作为一帧描述符组存入FD存储区域的该组FD存储单元中的一 FD存储单元;当相应于某一队的所述FD存储区域的一组FD存储单元存有帧描述符组,则芯片内部RAM的相应于该队的缓存区间的尾缓存中的帧描述符不透传到头缓存,并且芯片内部 RAM的相应于该队的缓存区间的尾缓存中的帧描述符数达到j时,则将该尾缓存中的帧描述符作为一帧描述符组存入FD存储区域的该组FD存储单元中的存有帧描述符组的FD存储单元后的第一个空的FD存储单元;当相应于某一队的所述FD存储区域的一组FD存储单元存有帧描述符组,并且芯片内部RAM的相应于该队的缓存区间的头缓存中空了 j个帧描述符或以上空间时,将该组 FD存储单元中空的FD存储单元后的第一个存有帧描述符组的FD存储单元中存有的帧描述符组读出到芯片内部RAM的相应于该队的缓存区间的所空的头缓存空间;当OLT或ONU芯片从DDR读出以太网包时,OLT或ONU芯片从芯片内部RAM各缓存区间的头缓存读出相应各队的以太网包的帧描述符,并根据读出的相应各队的以太网包的帧描述符从太网包存储区域相应的各太网包存储单元读出相应的各太网包。当OLT或ONU芯片从DDR读出以太网包时,OLT或ONU芯片从芯片内部RAM各缓存区间的头缓存每一次读出相应各队的以太网包的总长度大于等于设定的调度值。所述调度值可以为512字节。本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,将各队以太网包的分别写入DDR的各以太网包存储单元,并同时将各队的以太网包的FD分别依序以组 (Group)的形式按队(queue)存入DDR的各FD存储单元,即将属于同一队的各以太网包的 FD依序分为一个或多个FDG后依序按组存入DDR的各FD存储单元,当以太网包写入DDR进行写地址的分配时,保证存放同一以太网包的各以太网包存储单元按地址申请顺序做到存储区间交错(bank interleave),同时保证存放同一队(queue)内各以太网包的各以太网包存储单元按地址申请顺序做到存储区间交错(bankinterleave),从DDR读出以太网包时控制读地址序列使其也同样做到存储区间交错(bank interleave) 0本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,通过将FD以FDG的方式集中管理,并辅以适当的地址分配管理及调度控制,实现在访问DDR的时候让对各存储区间(bank)的读写动作交错(interleave)起来,大大优化了 DDR的访问效率。


下面结合附图及具体实施方式
对本发明作进一步详细说明。图1是将以太网包写入DDR的以太网包存储单元示意图;图2是FD直接尾缓存透传到头缓存示意图;图3是FDG存入FD存储单元示意图;图4是当访问DDR的同一个存储区间中不同行的数据时的读周期示意图;图5是当访问DDR的同一个存储区间中不同行的数据时的写周期示意图;图6是当访问DDR的不同存储区间中的数据时的读周期示意图;图7是当访问DDR的不同存储区间中的数据时的写周期示意图。
具体实施例方式一 1OGEPON网络中OLT或ONU芯片用DDR缓存以太网包的方法如下在OLT或ONU芯片内部RAM设置i (i为正整数)个缓存区间,每个缓存区间包括尾缓存(Tail Buffer)和头缓存(Head Buffer);在DDR中划分出一以太网包存储区域、一 FD存储区域;所述尾缓存的长度为j个FD (Frame Descriptor,帧描述符,包括一以太网包包长和存储该以太网包的首地址)的长度;所述头缓存长度为2j个FD的长度;所述以太网包存储区域包括N(—般为4个或8个)个存储区间(bank),每个存储区间(bank)包括M个相同大小的以太网包存储单元(cell),以太网包存储单元的大小根据设计需要来决定,可以是128byte、256byte、512byte、1024byte......等等;M、N为正整数;所述FD存储区域包括多个相同大小的FD存储单元(cell),所述FD存储单元分为i组,属于同一组的FD存储单元用于存放属于同一队(queue)的以太网包的FDG(帧描述符组),一 FD存储单元中写有属于同一组的下一个FD存储单元的指针,每个FD存储单元能存放一个FDG,一个FDG包括j个FD,j为正整数;OLT或ONU芯片将接收到的以太网包分为i队(QueueO,Queuel,Queue2,......,
Queuei-1),当OLT或ONU芯片将接收到的以太网包存到DDR时,保证用于存放同一以太网包的各以太网包存储单元所属的存储区间(bank)做到按顺序交错(interleave);同时保证用于存放同一队(queue)的以太网包的各以太网包存储单元所属的存储区间做到按顺序交错。为此,如图1所示,每个以太网包依序存放在一个或多个以太网包单元,当一以太网包(packet)依序存放在两个以上以太网包单元,存放同一以太网包的前一以太网包存储单元中,还写有存放该以太网包的下一以太网包存储单元的指针;当OLT或ONU芯片接收到的以太网包存入DDR时,使用于存放一以太网包的当前以太网包存储单元所在的存储区间与用于存放该以太网包的先前K个以太网包存储单元所在的存储区间都不同,同时使用于存放同一队的以太网包的当前以太网包存储单元所在的存储区间与用于存放该同一队的以太网包的先前K个以太网包存储单元所在的存储区间都不同,K为小于等于N的正整数;并且当前以太网包存储单元所在的存储区间被占用的以太网包存储单元数最少。如果要做到4存储区间交错(即以太网包所存入的连续4个以太网包存储单元属于不同存储区间),那么用于存放一以太网包的当前以太网包存储单元所在的存储区间需要与用于存放该以太网包的先前3个以太网包存储单元所在的存储区间都不同,同时使用于存放同一队(queue)的以太网包的当前以太网包存储单元所在的存储区间与用于存放该同一队的以太网包的先前3个以太网包存储单元所在的存储区间都不同,之后,为了保证各存储区间(bank)使用的均衡,选择满足上述条件并且被占用的以太网包存储单元数最少的存储区间(bank)作为当前以太网包存储单元所在的存储区间。下面举例说明例1 :DDR共4个存储区间,要求2存储区间交错。Frame 0,共 3 个 cell,属于 queue 0,分配地址 0,1,2Frame 1,共 3 个 cell,属于 queue 1,分配地址 3,0,1Frame 2,共 3 个 cell,属于 queue 0,分配地址 3,2,0例2 =DDR共8个存储区间,要求4存储区间交错。Frame 0,共 6 个 cell,属于 queue 0,分配地址 0,1, 2,3,4,5Frame 1,5 个 cell,属于 queue 1,分配地址 6,7,0,1,2Frame 2,共 6 个 cell,属于 queue 0,分配地址 6,7,3,4,5,0当OLT或ONU芯片接收到的以太网包存入DDR时,同时将各队的以太网包的帧描述符分别依序以帧描述符组的形式按队存入DDR的各FD存储单元,即将属于同一队的各以太网包的帧描述符依序分为一个或多个帧描述符组后将各帧描述符组依序存入DDR的相应FD存储单元。为此,可以如图2、图3所示,当OLT或ONU芯片接收到的以太网包存入DDR时,将各队的以太网包的FD分别依序传送到芯片内部RAM的i个缓存区间;当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且属于该队的以太网包的FD总数小于3j时,属于该队的以太网包的FD直接从芯片内部RAM的相应于该队的缓存区间的尾缓存(tail buffer)透传到头缓存(head buffer);当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且芯片内部RAM 的相应于该队的缓存区间的尾缓存中的FD个数达到j时,则将该尾缓存中的FD作为一个 FDG存入FD存储区域的该组FD存储单元中的一 FD存储单元;当相应于某一队的所述FD存储区域的一组FD存储单元存有FDG,则芯片内部 RAM的相应于该队的缓存区间的尾缓存(tail buffer)中的FD不再透传到头缓存(head buffer),并且芯片内部RAM的相应于该队的缓存区间的尾缓存(tail buffer)中的FD个数达到j时,则将该尾缓存中的FD作为一个FDG存入FD存储区域的该组FD存储单元中的存有FDG的FD存储单元后的第一个空的FD存储单元;当OLT或ONU芯片从DDR读出以太网包时,根据从DDR的各FD存储单元读出的相应各队的以太网包的帧描述符从以太网包存储区域读出相应的各以太网包。为此,当相应于某一队的所述FD存储区域的一组FD存储单元存有FDG,并且芯片内部RAM的相应于该队的缓存区间的头缓存(headbuffer)中空了 j个FD或以上空间时,将该组FD存储单元中空的FD存储单元后的第一个存有FDG的FD存储单元中存有的FDG读出到芯片内部RAM的相应于该队的缓存区间的空的头缓存空间,当OLT或ONU芯片从DDR读出以太网包时,OLT或 ONU芯片从芯片内部RAM各缓存区间的头缓存读出相应各队的以太网包的FD,并根据读出的相应各队的以太网包的FD从以太网包存储区域相应的各以太网包存储单元读出相应的各以太网包。EPON网络中OLT或ONU芯片用DDR缓存以太网包,当访问DDR的同一个存储区间 (bank)中不同的行(row)的数据时,访问周期如图4、图5所示,当访问DDR的不同存储区间(bank)中的数据时,访问周期如图6、图7所示。通过图4 图7,可以看出访问DDR的时候让各存储区间(bank)的读写动作交错(interleave)起来,将有助于大大提高DDR的访问效率。本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,将各队以太网包的分别写入DDR的各以太网包存储单元,并同时将各队的以太网包的FD分别依序以组 (Group)的形式按队(queue)存入DDR的各FD存储单元,即将属于同一队的各以太网包的 FD依序分为一个或多个FDG后依序按组存入DDR的各FD存储单元,当以太网包写入DDR进行写地址的分配时,保证存放同一以太网包的各以太网包存储单元按地址申请顺序做到存储区间交错(bank interleave),同时保证存放同一队(queue)内各以太网包的各以太网包存储单元按地址申请顺序做到存储区间交错(bankinterleave),从DDR读出以太网包时控制读地址序列使其也同样做到存储区间交错(bank interleave) 0本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,通过将FD以FDG的方式集中管理,并辅以适当的地址分配管理及调度控制,实现在访问DDR的时候让对各存储区间(bank)的读写动作交错(interleave)起来,大大优化了 DDR的访问效率。由于以太网包的读取是以整包为单位进行的,当一个以太网包足够长时,由于一个以太网包要存入的各个以太网包存储单元在地址分配的时候已经做到了存储区间交错(bank interleave),所以DDR的访问效率已经可以保证;但是对于短包(例如包长为 64byte)来讲,则需要和同一队中前后以太网包要存入的以太网包存储单元保证存储区间交错(bankinterleave)才能达到足够的访问效率,所以读序列的控制实际上就是控制调度的粒度,因此只要每一次调度从一个队中调度出去的FD的总包长(如果芯片内部RAM的相应于该队的缓存区间的头缓存中FD足够的话)大于等于设定的调度值,即可以保证粒度内各以太网包之间的存储区间交错(bankinterleave)。例如,设定调度值为512byte,则对于64byte短包可以一次调度出八个。然后,从DDR中出包的顺序就是FD的调度顺序,这样就保证了粒度内对DDR的读操作是存储区间交错(bank interleave)的。
权利要求
1. 一种EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,DDR中包括一以太网包存储区域;所述以太网包存储区域包括N个存储区间,每个存储区间包括M个相同大小的以太网包存储单元;OLT或ONU芯片接收到的以太网包分为i队,当OLT或ONU芯片接收到的以太网包存入 DDR时,用于存放同一以太网包的各以太网包存储单元所属的存储区间按顺序交错;1.M、N为正整数。
2.根据权利要求1所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,N为4或8。
3.根据权利要求1所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一队的以太网包的各以太网包存储单元所属的存储区间按顺序交错。
4.根据权利要求3所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一队的以太网包的当前以太网包存储单元所在的存储区间与用于存放该同一队的以太网包的先前K个以太网包存储单元所在的存储区间都不同,K为小于等于N的正整数。
5.根据权利要求4所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,当前以太网包存储单元所在的存储区间被占用的以太网包存储单元数最少。
6.根据权利要求1到5任一项所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,存放同一以太网包的各以太网包存储单元中,写有存放该以太网包的下一以太网包存储单元的指针;所述DDR中还包括一 FD存储区域;所述FD存储区域包括多个相同大小的FD存储单元,所述FD存储单元分为i组,属于同一组的FD存储单元用于存放属于同一队的以太网包的帧描述符组,一 FD存储单元中写有属于同一组的下一个FD存储单元的指针,每个FD存储单元能存放一个帧描述符组,一个帧描述符组包括j个帧描述符,j为正整数;当OLT或ONU芯片接收到的以太网包存入DDR时,同时将各队的以太网包的帧描述符分别依序以帧描述符组的形式按队存入DDR的各FD存储单元,即将属于同一队的各以太网包的帧描述符依序分为一个或多个帧描述符组后将各帧描述符组依序存入DDR的相应FD 存储单元。
7.根据权利要求6所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,当OLT或ONU芯片从DDR读出以太网包时,根据从DDR的各FD存储单元读出的相应各队的以太网包的帧描述符从以太网包存储区域读出相应的各以太网包。
8.根据权利要求6所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,所述OLT或ONU芯片内部RAM设置有i个缓存区间,每个缓存区间包括尾缓存和头缓存,所述尾缓存的长度为j个帧描述符的长度,所述头缓存长度为2j个帧描述符的长度;当OLT或ONU芯片接收到的以太网包存入DDR时,同时将各队的以太网包的帧描述符分别依序传送到芯片内部MM的i个缓存区间,当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且属于该队的以太网包的帧描述符总数小于3 j时,属于该队的以太网包的帧描述符直接从芯片内部RAM的相应于该队的缓存区间的尾缓存透传到头缓存;当相应于某一队的所述FD存储区域的一组FD存储单元都为空,并且芯片内部RAM的相应于该队的缓存区间的尾缓存中的帧描述符数达到j时,则将该尾缓存中的帧描述符作为一帧描述符组存入FD存储区域的该组FD存储单元中的一 FD存储单元;当相应于某一队的所述FD存储区域的一组FD存储单元存有帧描述符组,则芯片内部 RAM的相应于该队的缓存区间的尾缓存中的帧描述符不透传到头缓存,并且芯片内部RAM 的相应于该队的缓存区间的尾缓存中的帧描述符数达到j时,则将该尾缓存中的帧描述符作为一帧描述符组存入FD存储区域的该组FD存储单元中的存有帧描述符组的FD存储单元后的第一个空的FD存储单元;当相应于某一队的所述FD存储区域的一组FD存储单元存有帧描述符组,并且芯片内部RAM的相应于该队的缓存区间的头缓存中空了 j个帧描述符或以上空间时,将该组FD存储单元中空的FD存储单元后的第一个存有帧描述符组的FD存储单元中存有的帧描述符组读出到芯片内部RAM的相应于该队的缓存区间的所空的头缓存空间;当OLT或ONU芯片从DDR读出以太网包时,OLT或ONU芯片从芯片内部RAM各缓存区间的头缓存读出相应各队的以太网包的帧描述符,并根据读出的相应各队的以太网包的帧描述符从太网包存储区域相应的各太网包存储单元读出相应的各太网包。
9.根据权利要求7或8任一项所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,其特征在于,当OLT或ONU芯片从DDR读出以太网包时,OLT或ONU芯片从芯片内部RAM各缓存区间的头缓存每一次读出相应各队的以太网包的总长度大于等于设定的调度值。
10.根据权利要求9所述的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法, 其特征在于,所述调度值为512字节。
全文摘要
本发明公开了一种EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,DDR中包括一以太网包存储区域;以太网包存储区域包括N个存储区间,每个存储区间包括M个相同大小的以太网包存储单元;OLT或ONU芯片接收到的以太网包分为i队,当OLT或ONU芯片接收到的以太网包存入DDR时,用于存放同一以太网包的各以太网包存储单元所属的存储区间按顺序交错。本发明的EPON网络中OLT或ONU芯片用DDR缓存以太网包的方法,能优化DDR的访问效率。
文档编号H04L12/56GK102404652SQ20101027779
公开日2012年4月4日 申请日期2010年9月10日 优先权日2010年9月10日
发明者费继承 申请人:高通创锐讯通讯科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1