CN102469007A - Onu计算上行队列的上报长度的方法 - Google Patents

Onu计算上行队列的上报长度的方法 Download PDF

Info

Publication number
CN102469007A
CN102469007A CN2010105348215A CN201010534821A CN102469007A CN 102469007 A CN102469007 A CN 102469007A CN 2010105348215 A CN2010105348215 A CN 2010105348215A CN 201010534821 A CN201010534821 A CN 201010534821A CN 102469007 A CN102469007 A CN 102469007A
Authority
CN
China
Prior art keywords
queue
upstream
length
bag
onu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010105348215A
Other languages
English (en)
Inventor
费继承
饶勇
叶聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Atheros International Shanghai Co Ltd
Original Assignee
Qualcomm Atheros International Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Atheros International Shanghai Co Ltd filed Critical Qualcomm Atheros International Shanghai Co Ltd
Priority to CN2010105348215A priority Critical patent/CN102469007A/zh
Publication of CN102469007A publication Critical patent/CN102469007A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种ONU计算上行队列的上报长度的方法,ONU为每个上行队列创建一个入口包长队列和一个出口包长队列,分别存储在SRAM和DRAM中;ONU的每个上行队列有新的上行数据包加入时,该上行数据包的长度记录在该上行队列对应的入口包长队列之中;当入口包长队列存储的数据长度达到Unit_dram时,该部分数据转存至该上行队列对应的出口包长队列之中;ONU还为每个上行队列创建n个上报队列,均存储在ONU芯片内部的SRAM中。本发明ONU计算上行队列的上报长度的方法仅需占用SRAM的部分存储空间,却充分利用了DRAM的存储空间,并具有读写速度快、效率高的优点。

Description

ONU计算上行队列的上报长度的方法
技术领域
本发明涉及一种EPON(Ethernet Passive Optical Network,以太网无源光网络)网络中report(报告消息)消息的形成方法。
背景技术
EPON网络是一个点对多点网络,一个OLT(Optical Line Terminal,光纤线路终端)通过光纤和POS(Passive Optical Splitter,无源光分路器)连接多个ONU(Optical Network Unit,光纤网络单元)。从ONU到OLT的通讯方向为上行方向,EPON网络中每个ONU向OLT发送report消息报告上行通讯需求,OLT据此向每个ONU发送gate(门消息)消息为每个ONU分配上行带宽或上行传输时间。
每个ONU都具有多个上行队列,每个上行队列按照FIFO(first in firstout,先进先出)原则排列有多个上行数据包。OLT为每个ONU的每个上行队列设置有多个阈值(threshold),ONU在形成report消息时需要根据OLT设置的多个阈值计算每个上行队列的上报长度。对于ONU的每个上行队列,如果OLT设置了n个阈值,则该ONU需要为该上行队列计算n个上报长度。其中上报长度x是小于或等于阈值x的前提下该上行队列从头开始最大数量的完整数据包长度,x为小于或等于n的自然数。
请参阅图1,这是一个ONU的一个上行队列的示意图,该上行队列从头开始排列有数据包A、B、C、D、E,长度分别为400、800、200、600、400个字节。OLT为该ONU的该上行队列设置了2个阈值,阈值1为1000字节,阈值2为2000字节。该ONU在形成report消息时需要为该上行队列计算2个上报长度,其中上报长度1是小于或等于1000字节的前提下该上行队列从头开始最大数量的完整数据包长度,上报长度2是小于或等于2000字节的前提下该上行队列从头开始最大数量的完整数据包长度。显然在图1中,上报长度1为数据包A的长度即400个字节。上报长度2为数据包A、B、C、D的长度即2000个字节。
为了便于在形成report消息时计算每个上行队列的多个上报长度,需要将每个上行队列的每个上行数据包长度存储起来。ONU设备的MAC(MediaAccess Control,介质访问控制)芯片(简称为ONU芯片)内具有SRAM(staticrandom access memory,静态随机存储器),芯片外具有DRAM(dynamic randomaccess memory,动态随机存储器)。将每个上行数据包长度存储在所述SRAM无疑是最方便的快速的,可是所述SRAM存储空间有限,如果需要存储大量数据则所述SRAM将占据很大的芯片面积。而将每个上行数据包长度存储在所述DRAM则对于DRAM带宽要求极大而且DRAM的延迟会造成计算效率不足。
发明内容
本发明所要解决的技术问题是提供一种EPON网络中ONU计算上行队列的上报长度的方法,该方法综合利用ONU芯片内外的存储资源,并具有较快的计算速度。
为解决上述技术问题,本发明ONU计算上行队列的上报长度的方法为:
ONU为每个上行队列创建一个入口包长队列和一个出口包长队列;所述入口包长队列和出口包长队列的每个元素都是该上行队列中的一个上行数据包的长度,所述入口包长队列和出口包长队列的总和记载了该上行队列中所有上行数据包的长度;
ONU的每个上行队列有新的上行数据包加入时,该上行数据包的长度记录在该上行队列对应的入口包长队列之中;
当入口包长队列存储的数据长度达到Unit_dram时,ONU将所述入口包长队列中长度为Unit_dram的数据存储至该上行队列对应的出口包长队列之中,然后将所述长度为Unit_dram的数据从所述入口包长队列中删除;
所述Unit_dram是所述DRAM的最小读取或写入单位;
ONU的每个上行队列有上行数据包发出时,所述发出的上行数据包的长度从该上行队列对应的出口包长队列或入口包长队列之中删除掉;
ONU还为每个上行队列创建n个上报队列,其中n为OLT为该ONU的该上行队列设置的阈值的数量;每个上报队列均为所述出口包长队列的一部分,每个上报队列中均包括一个截止元素;第x个截止元素表示其所对应的上行数据包是不大于第x个阈值的前提下该上行队列所包含的最大数量的完整的上行数据包中的最后一个上行数据包,x为小于或等于n的自然数;
所述入口包长队列以及n个上报队列存储在ONU芯片内部的SRAM中;所述出口包长队列存储在ONU芯片外部的DRAM中;
第x个上报长度就是该上行队列的第1个上行数据包到第x个截止元素所对应的上行数据包的长度总和。
本发明ONU计算上行队列的上报长度的方法仅需占用SRAM的部分存储空间,却充分利用了DRAM的存储空间,并具有读写速度快、效率高的优点。
附图说明
图1是ONU计算上行队列的上报长度的规则示意图;
图2是本发明ONU计算上行队列的上报长度的示意图。
具体实施方式
请参阅图2,本发明ONU计算上行队列的上报长度的方法为:
ONU为每个上行队列创建一个入口包长队列和一个出口包长队列。所述入口包长队列和出口包长队列的每个元素都是该上行队列中的一个上行数据包的长度,所述入口包长队列和出口包长队列的总和记载了该上行队列中所有上行数据包的长度。
ONU的每个上行队列有新的上行数据包加入时,该上行数据包的长度先记录在该上行队列对应的入口包长队列之中。当入口包长队列存储的数据长度达到Unit_dram时,ONU将所述入口包长队列中长度为Unit_dram的数据存储至该上行队列对应的出口包长队列之中,然后将所述长度为Unit_dram的数据从所述入口包长队列中删除。
所述Unit_dram是所述DRAM的最小读取或写入单位,也称为所述DRAM的有效存储单位。
ONU的每个上行队列有上行数据包发出时,该上行数据包的长度就从该上行队列对应的出口包长队列或入口包长队列之中删除掉。
如果将入口包长队列和出口包长队列相串联即可发现,新加入的上行数据包长度总是记录在入口包长队列中。这里区分两种情况:第一种情况是入口包长队列所记载的数据长度曾经达到过Unit_dram,则此时该上行队列中最早的上行数据包长度必然已经转存到出口包长队列中。第二种情况是入口包长队列所记载的数据长度从未达到过Unit_dram,则此时该上行队列中最早的上行数据包长度仍在入口包长队列中。
ONU还为每个上行队列创建n个上报队列。所述n是OLT为该ONU的该上行队列设置的阈值的数量,n为自然数。每个上报队列均为所述出口包长队列或入口包长队列的一部分,并且每个上报队列中均包括一个截止元素。每个截止元素均表示该上行队列中的一个上行数据包的长度。这样,所述出口包长队列和入口包长队列的串联队列中就包括n个截止元素,按照截止元素所对应的上行数据包的先后分别称为第1个截止元素、第2个截止元素、……、第n个截止元素。显然,第x个上报队列中包括第x个截止元素,x为小于或等于n的自然数。
第x个截止元素是这样定义的:该上行队列的第1个上行数据包到第x个截止元素所对应的上行数据包的长度总和小于或等于第x个阈值,该上行队列的第1个上行数据包到第x个截止元素所对应的上行数据包之后的一个数据包的长度总和大于第x个阈值。换而言之,第x个截止元素所对应的上行数据包表示在不大于第x个阈值的前提下该上行队列所包含的最大数量的完整的上行数据包中的最后一个上行数据包。
第x个上报长度就是该上行队列的第1个上行数据包到第x个截止元素所对应的上行数据包的长度总和。
所述入口包长队列以及n个上报队列存储在ONU芯片内部的SRAM中。所述出口包长队列存储在ONU芯片外部的DRAM中。
设所述入口包长队列的长度为Length_in,所述出口包长队列的长度为Length_out,每个上报队列的长度均为Length_report,每个上行队列所能包含的上行数据包的最大数量为PacketNum_max,每个上行数据包长度的存储空间为PacketLength,则:
Unit_dram≤Length_in≤2×Unit_dram;
Length_out=PacketNum_max×PacketLength+Unit_dram;
Length_report=Unit_dram;
所述入口包长队列的长度为1~2倍的DRAM有效存储单位之间,在该有限空间内只能记录对应的上行队列中最后进入的上行数据包的长度,其余较早进入的上行数据包的长度全部记载在出口包长队列之中。通常Length_out远大于Length_in。值得注意的是,所述出口包长队列的长度不仅能记录对应上行队列的所有上行数据包长度,还具有一个Unit_dram的余量,该余量是为入口包长队列的数据转存而准备的。
一个上行队列中每个上行数据包的长度是不同的,但记录每个上行数据包长度的存储空间PacketLength是相同的。PacketLength是所述入口包长队列、出口包长队列和n个上报队列的存储单元。
本发明中每个上报队列的长度均为固定的,每个上报队列可视为出口包长队列或入口包长队列的一个局部镜像。设k=Unit_dram/PacketLength,k为自然数,则每个上报队列包括k个元素,即记载了k个上行数据包的长度。
以第x个上报队列为例,每个上报队列是这样形成的:首先第x个上报队列取该上行队列的第一个上行数据包长度到第k个上行数据包长度,然后ONU计算这k个上行数据包长度(即k个元素)中是否包括第x个截止元素。如果这k个元素中不包括第x个截止元素,则该第x个上报队列接着取该上行队列的第k+1个上行数据包长度到第2k个上行数据包长度,然后ONU计算这k个元素中是否包括第x个截止元素;如果这k个元素中仍不包括第x个截止元素,则该第x个上报队列接着取该上行队列的第2k+1个上行数据包长度到第3k个上行数据包长度,然后ONU计算这k个元素中是否包括第x个截止元素……以此类推,直至第x个上报队列中的k个元素中包括了第x个截止元素,则第x个上报队列成形。
当ONU的每个上行队列中有上行数据包发出时,该上行队列所对应的出口包长队列或入口包长队列就将已发出的数据包长度删除掉,此时需要重新计算n个截止元素。
当ONU的一个或多个上行队列中有阈值的数量或阈值的取值发生变化时,也需要重新计算n个截止元素。
重新计算的截止元素就是是根据更新后的最早的上行数据包、或者更新后的阈值而确定的在不大于第x个阈值的前提下该上行队列所包含的最大数量的完整的上行数据包中的最后一个上行数据包所对应的长度元素。根据n个新的截止元素,每个上行队列需要重新形成。
每个上行队列重新形成的方法为:第x个上行队列判断现有的k个元素中是否包括新的第x个截止元素;如果不包括新的第x个截止元素,则该第x个上报队列接着取现有k个元素之后的k个元素,然后再判断这k个元素中是否包括新的第x个截止元素……以此类推,直至该第x个上报队列中包括了新的第x个截止元素为止。
第x个新的上报长度就是该上行队列的第1个上行数据包到第x个新的截止元素所对应的上行数据包的长度总和。
本发明为每个上行队列引入了n个上报队列,每个上报队列专门用于计算一个上报长度,因而计算n个上报长度可同时在SRAM中进行,因而计算速度很快,并且占用很少的SRAM存储空间。

Claims (4)

1.一种ONU计算上行队列的上报长度的方法,其特征是:
ONU为每个上行队列创建一个入口包长队列和一个出口包长队列;所述入口包长队列和出口包长队列的每个元素都是该上行队列中的一个上行数据包的长度,所述入口包长队列和出口包长队列的总和记载了该上行队列中所有上行数据包的长度;
ONU的每个上行队列有新的上行数据包加入时,该上行数据包的长度记录在该上行队列对应的入口包长队列之中;
当入口包长队列存储的数据长度达到Unit_dram时,ONU将所述入口包长队列中长度为Unit_dram的数据存储至该上行队列对应的出口包长队列之中,然后将所述长度为Unit_dram的数据从所述入口包长队列中删除;
所述Unit_dram是所述DRAM的最小读取或写入单位;
ONU的每个上行队列有上行数据包发出时,所述发出的上行数据包的长度从该上行队列对应的出口包长队列或入口包长队列之中删除掉;
ONU还为每个上行队列创建n个上报队列,其中n为OLT为该ONU的该上行队列设置的阈值的数量;每个上报队列均为所述出口包长队列的一部分,每个上报队列中均包括一个截止元素;第x个截止元素表示其所对应的上行数据包是不大于第x个阈值的前提下该上行队列所包含的最大数量的完整的上行数据包中的最后一个上行数据包;
第x个上报长度就是该上行队列的第1个上行数据包到第x个截止元素所对应的上行数据包的长度总和;
所述x为小于或等于n的自然数;
所述入口包长队列以及n个上报队列存储在ONU芯片内部的SRAM中;所述出口包长队列存储在ONU芯片外部的DRAM中。
2.根据权利要求1所述的ONU计算上行队列的上报长度的方法,其特征是,设所述入口包长队列的长度为Length_in,所述出口包长队列的长度为Length_out,每个上报队列的长度均为Length_report,每个上行队列所能包含的上行数据包的最大数量为PacketNum_max,每个上行数据包长度的存储空间为PacketLength,则:
Unit_dram≤Length_in≤2×Unit_dram;
Length_out=PacketNum_max×PacketLength+Unit_dram;
Length_report=Unit_dram。
3.根据权利要求2所述的ONU计算上行队列的上报长度的方法,其特征是,每个上报队列是这样形成的:首先第x个上报队列取该上行队列的第一个上行数据包长度到第k个上行数据包长度,然后ONU计算这k个元素中是否包括第x个截止元素;
所述k=Unit_dram/PacketLength,k为自然数;
如果这k个元素中不包括第x个截止元素,则该第x个上报队列接着取该上行队列的第k+1个上行数据包长度到第2k个上行数据包长度,然后ONU计算这k个元素中是否包括第x个截止元素;
如果这k个元素中仍不包括第x个截止元素,则该第x个上报队列接着取该上行队列的第2k+1个上行数据包长度到第3k个上行数据包长度,然后ONU计算这k个元素中是否包括第x个截止元素……
以此类推,直至第x个上报队列的k个元素中包括了第x个截止元素,则第x个上报队列成形。
4.根据权利要求2所述的ONU计算上行队列的上报长度的方法,其特征是,当ONU的每个上行队列中有上行数据包发出时,或者当ONU的一个或多个上行队列中有阈值的数量或阈值的取值发生变化时,则该上行队列重新计算n个截止元素;
重新计算的截止元素就是是根据更新后的最早的上行数据包、或者更新后的阈值而确定的在不大于第x个阈值的前提下该上行队列所包含的最大数量的完整的上行数据包中的最后一个上行数据包所对应的长度元素;
根据n个新的截止元素,每个上行队列需要重新形成,其方法为:第x个上行队列判断现有的k个元素中是否包括新的第x个截止元素;
所述k=Unit_dram/PacketLength,k为自然数;
如果不包括新的第x个截止元素,则该第x个上报队列接着取现有k个元素之后的k个元素,然后再判断这k个元素中是否包括新的第x个截止元素……
以此类推,直至该第x个上报队列中包括了新的第x个截止元素为止。
CN2010105348215A 2010-11-08 2010-11-08 Onu计算上行队列的上报长度的方法 Pending CN102469007A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105348215A CN102469007A (zh) 2010-11-08 2010-11-08 Onu计算上行队列的上报长度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105348215A CN102469007A (zh) 2010-11-08 2010-11-08 Onu计算上行队列的上报长度的方法

Publications (1)

Publication Number Publication Date
CN102469007A true CN102469007A (zh) 2012-05-23

Family

ID=46072207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105348215A Pending CN102469007A (zh) 2010-11-08 2010-11-08 Onu计算上行队列的上报长度的方法

Country Status (1)

Country Link
CN (1) CN102469007A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560936A (zh) * 2013-11-22 2014-02-05 烽火通信科技股份有限公司 一种pon系统中计算onu平均队列长度的方法
CN103618722A (zh) * 2013-11-29 2014-03-05 东软集团股份有限公司 基于vfs扫描网络传输数据的方法及系统
US8971699B2 (en) 2012-12-07 2015-03-03 Industrial Technology Research Institute Optical network failure recovery method
CN104426684A (zh) * 2013-08-20 2015-03-18 上海斐讯数据通信技术有限公司 Pon系统及其状态更新方法
CN109413122A (zh) * 2017-08-16 2019-03-01 深圳市中兴微电子技术有限公司 一种数据处理方法、网络处理器及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025903A2 (en) * 2002-09-13 2004-03-25 Passave Ltd. Methods for dynamic bandwidth allocation and queue management in ethernet passive optical networks
CN1897760A (zh) * 2006-04-10 2007-01-17 中国电信股份有限公司 基于定时器的动态带宽分配能力发现和参数配置方法
CN101150516A (zh) * 2007-09-28 2008-03-26 杭州华三通信技术有限公司 一种分配带宽的方法、设备和系统
CN101534254A (zh) * 2009-04-21 2009-09-16 华为技术有限公司 一种队列报告方法、装置和无源光网络系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025903A2 (en) * 2002-09-13 2004-03-25 Passave Ltd. Methods for dynamic bandwidth allocation and queue management in ethernet passive optical networks
CN1897760A (zh) * 2006-04-10 2007-01-17 中国电信股份有限公司 基于定时器的动态带宽分配能力发现和参数配置方法
CN101150516A (zh) * 2007-09-28 2008-03-26 杭州华三通信技术有限公司 一种分配带宽的方法、设备和系统
CN101534254A (zh) * 2009-04-21 2009-09-16 华为技术有限公司 一种队列报告方法、装置和无源光网络系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971699B2 (en) 2012-12-07 2015-03-03 Industrial Technology Research Institute Optical network failure recovery method
CN104426684A (zh) * 2013-08-20 2015-03-18 上海斐讯数据通信技术有限公司 Pon系统及其状态更新方法
CN104426684B (zh) * 2013-08-20 2018-10-12 上海斐讯数据通信技术有限公司 Pon系统及其状态更新方法
CN103560936A (zh) * 2013-11-22 2014-02-05 烽火通信科技股份有限公司 一种pon系统中计算onu平均队列长度的方法
CN103560936B (zh) * 2013-11-22 2016-08-17 烽火通信科技股份有限公司 一种pon系统中计算onu平均队列长度的方法
CN103618722A (zh) * 2013-11-29 2014-03-05 东软集团股份有限公司 基于vfs扫描网络传输数据的方法及系统
CN103618722B (zh) * 2013-11-29 2016-08-24 东软集团股份有限公司 基于vfs扫描网络传输数据的方法及系统
CN109413122A (zh) * 2017-08-16 2019-03-01 深圳市中兴微电子技术有限公司 一种数据处理方法、网络处理器及计算机存储介质
CN109413122B (zh) * 2017-08-16 2022-05-13 深圳市中兴微电子技术有限公司 一种数据处理方法、网络处理器及计算机存储介质

Similar Documents

Publication Publication Date Title
CN102469007A (zh) Onu计算上行队列的上报长度的方法
JP6077125B2 (ja) データ処理方法及び装置
CN100591047C (zh) 一种多级交换网的反压方法、系统及交换节点
CN102045258B (zh) 数据缓存管理方法及装置
CN108462652B (zh) 一种报文处理方法、装置和网络设备
CN104796212B (zh) 一种光突发传送网、节点和传输方法
EP4319055A1 (en) Message transmission method and apparatus
CN103581055B (zh) 报文的保序方法、流量调度芯片及分布式存储系统
CN101257442B (zh) 基于时间压力的时间确定性数据交换方法
CN101635682A (zh) 一种存储管理的方法和系统
TWI526927B (zh) 資料緩衝器記憶體、資料緩衝器記憶體系統及其資料儲存方法
CN102684976A (zh) 一种基于ddr sdram进行数据读写的方法、装置及系统
US20170237677A1 (en) Data caching method and device, and storage medium
CN105656807A (zh) 一种网络芯片多通道数据传输方法及传输装置
CN101848135A (zh) 芯片的统计数据的管理方法和装置
CN103746940B (zh) 一种网络设备以及解包输出报文的方法
CN103026671B (zh) 一种流量整形的方法及设备
CN102946443A (zh) 一种实现大规模数据传输的多任务调度方法
CN109995667A (zh) 传输报文的方法和发送设备
CN108337582A (zh) 基于现场可编程门阵列的时分复用交换系统
CN102932265A (zh) 数据缓存管理装置和方法
CN103701721A (zh) 报文传输方法及装置
CN102571535B (zh) 一种数据延迟装置、方法及通信系统
US20090290592A1 (en) Ring buffer operation method and switching device
CN101674502B (zh) 一种gpon系统中数据帧重组的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20120523

C20 Patent right or utility model deemed to be abandoned or is abandoned