一种自适应动态调整带宽的装置及方法

文档序号:7695845阅读:88来源:国知局
专利名称:一种自适应动态调整带宽的装置及方法
技术领域
本发明涉及数据缓存控制技术领域,具体涉及一种自适应动态调整带宽的装置及方法。
背景技术
对存储器进行存取数据的处理时,可以采用按权重分时对存储器进行读写的存储调度方法。一个权重值对应着一个固定的调度带宽,调度带宽要满足读写数据处理的带宽要求,而存储器的数据位宽数和控制存储器的时钟频率就决定了调度的总带宽,最终读写调度的带宽由读写占用的相应权重值决定。因此,当存储器的数据位宽确定后,读写数据的调度带宽要满足读写数据处理的带宽要求,就需要选择合适的时钟频率和调度的权重值。假设有4个写通道和4个读通道对外部存储器进行读写操作,平均分配各通道的权重值,则可分成8个调度时间片分时进行读写调度。若每个通道的最大要求带宽为500M,则总共需要4G的带宽。而实际使用中一般不会出现所有读写通道同时达到最大带宽流量的情况,即在每8个调度时间片内,在某些时间片内并不会进行读写操作,这就造成了时间片的浪费,使得带宽的利用率降低。当各个通道要求的最大带宽值较高时,就需要通过提高时钟频率或增加存储器片数来满足带宽要求,这就对设计的难度、稳定度、成本等因素提出了更高的要求。公开号为CN101686177的发明公开了一种多业务传送网的动态带宽分配方法、设备及系统,其中,该方法包括获取传输多类型业务的数据帧中所有传输容器T-CONT帧的带宽请求信息;根据所述带宽请求信息及设定的带宽分配算法分配各T-CONT帧的带宽;发送带宽分配信息给多业务传送网中的各节点。利用该方法,可以使不同类型的业务动态地共享信道带宽,提高了带宽利用率,同时保证了业务服务质量。但是,上述方式是基于设定的带宽分配算法实现其动态共享带宽以提高带宽率的,这就对带宽分配算法的设计提出了较高的要求,而且,该算法一旦确定,当网络情况发生变化时,依然不能按照当前情形自行进行调节。

发明内容
本发明的目的是提供一种自适应动态调整带宽的装置及方法,以解决现有无法实时根据当前网络情况对带宽进行调节的缺陷。为解决上述技术问题,本发明提供了一种自适应动态调整带宽的装置,包括存储调度模块,所述装置还包括读存储控制模块及通道读请求转换模块;所述通道读请求转换模块用于分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,所述读操作请求所请求的数据位宽值等于所述累计值;所述读存储控制模块用于在检测到所述通道读请求转换模块中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则读出所述读操作请求并发送给所述存储调度模块。进一步地,所述通道读请求转换模块中包含与每个通道对应的先进先出(FIFO)子模块和与每个通道对应的请求累计子模块;所述请求累计子模块用于累计来自其对应的通道的读请求所请求的数据位宽;还用于在累计的来自于对应的通道的读请求所请求的数据位宽的累计值大于等于所述预设的数据位宽值时,生成该通道的所述读操作请求并发送给对应的FIFO子模块;所述FIFO子模块用于缓存接收到的所述读操作请求。进一步地,所述读存储控制模块检测到所述通道读请求转换模块中存储有至少一个通道对应的读操作请求,具体包括所述读存储控制模块对所述N个FIFO子模块进行轮询,检测到其中至少一个FIFO子模块中存储有至少一个读操作请求。
进一步地,所述读存储控制模块判断出所述通道符合读操作要求,具体包括所述读存储控制模块判断出外部存储器中已存储所述通道I个以上的报文,且所述通道内部数据随机存取存储器的剩余数据空间大于所述读操作请求所请求的数据位宽值。进一步地,所述预设的数据位宽值不超过对外部存储器进行一次读操作的最大允许数据位宽值。进一步地,所述装置还包括数据处理模块;所述存储调度模块根据接收到的所述读操作请求向所述外部存储器发起读操作,并将读出的数据发送给所述数据处理模块;所述数据处理模块与所述N个通道相连,用于将接收到的数据发送给所述读操作请求所对应的通道。进一步地,所述数据处理模块还用于向所述读存储控制模块上报各个通道的内部数据随机存取存储器的剩余数据空间信息;所述存储调度模块还用于将所述外部存储器中存储的各通道的报文的数量上报给所述读存储控制模块。为解决上述技术问题,本发明还提供了一种自适应动态调整带宽的方法,应用于对外部存储器进行读写操作的装置中,包括分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,所述读操作请求所请求的数据位宽值等于所述累计值;在检测到本装置中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则向所述外部存储器发起读操作请求。进一步地,所述判断出所述通道符合读操作要求,具体包括判断出所述外部存储器中已存储所述通道I个以上的报文,且所述通道内部数据随机存取存储器的剩余数据空间大于所述读操作请求所请求的数据位宽值。进一步地,所述预设的数据位宽值不超过对所述外部存储器进行一次读操作的最大允许数据位宽值。采用本发明后,能够根据接口带宽的需求实时调整调度带宽,有效降低对存储器调度带宽的设计要求。并且本发明无需设定带宽分配算法,完全只基于上游的请求,因此更具有通用性及自适应性。


图I为本发明实施例中自适应动态调整带宽的装置的结构图;图2为本发明应用示例中读请求产生的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。如图I所示,一种自适应动态调整带宽的装置,包括存储调度模块、数据处理模块及写存储控制模块。在本示例中,新增通道读请求转换模块及读存储控制模块。写存储控制模块用于完成对数据写入请求、数据和地址的控制。当待写入的数据 满足写入外部存储器的要求时,写存储控制模块用于向存储调度模块发送写请求、写地址和待写入的数据,由存储调度模块把待写入的数据写入到外部存储器中。存储调度模块用于完成各个通道读写外部存储器的调度。其用于接收各个通道的读写请求,根据请求相应地完成对外部存储器内的数据的读写操作。存储调度模块按照预设的读写方向的权重处理读写方向的请求;根据读写方向的请求分时占用存储器的带宽,保证读写方向的读写带宽。通道读请求转换模块用于分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,读操作请求所请求的数据位宽值等于上述累计值。假设有N个通道要进行读带宽的调度,即发出N个读请求Reql ReqN,在通道读请求转换模块中设置N个FIFO (First IN First Out,先进先出)和N个请求累计子模块,每个FIFO与一个通道和一个请求累计子模块一一对应。为保证FIFO不溢出,设定FIFO要有足够的深度。每个请求累计子模块独立地对对应的通道发来的读请求所请求的数据位宽进行累计,直到累计的数据位宽的值大于等于预设的数据位宽值时,向对应的FIFO发出对外部存储器进行一次读操作的读操作请求,FIFO收到该读操作请求后进行保存;其中,该预设的数据位宽值不超过对外部存储器进行一次读操作的最大允许数据位宽值。读存储控制模块用于完成读操作请求和读地址的控制,进行读操作请求的调度控制。在检测到所述通道读请求转换模块中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则读出上述读操作请求并发送给存储调度模块。其用于轮询通道读请求转换模块中的各FIFO的状态,如果轮询到的FIFO非空,则再判断出外部存储器中已存储该FIFO对应的通道I个以上的报文以及该通道内部数据RAM (Random AccessMemory,随机存取存储器)有足够的数据空间时,产生该通道对外部存储器的读操作请求并发送给存储调度模块;然后继续轮询下一 FIFO的情况。其中,外部存储器中各通道的报文存储情况由存储调度模块实时上报给读存储控制模块,而各通道内部数据RAM的空满状态由数据处理模块上报给读存储控制模块;读存储控制模块与通道读请求转换模块配合,将各个通道实时变化的读请求转化为向外部存储器进行数据读取操作的读操作请求,使得调度带宽动态跟踪通道实际的带宽需求,实现各个通道调度带宽的自适应调整。避免了采用每个通道占用固定调度带宽的传统调度方法,更有效地提高了带宽利用率,进而降低了存储器调度的带宽设计要求。数据处理模块将通过存储调度模块从外部存储器读出的数据存入内部数据RAM,并可根据各个通道的读请求进行数据的输出。下面结合附图,对该发明在POS (Packet Over SDH,基于同步数字体系网络承载IP包)接口技术上行中的实施作进一步详细描述。在本示例中,POS接口模块以太网采用一个GE (Gigabit Ethernet,千兆)接口,SDH接口支持4个STM-1或2个STM-4的模式。以太网接收方向从以太网口接收报文,提取报文的净荷存入外部存储器;SDH发送方向从外部存储器读取数据映射到各个通道。下面对发明涉及的各个模块进行详细说明。第一部分,写存储控制模块。先将以太网接口接收到的报文的净荷存入内部RAM。内部RAM完成以太网时钟域 到存储调度模块控制时钟域的转换。当内部RAM存储的数据满足存入外部存储器的要求且外部存储器未满时,根据该报文所属的通道号,向存储调度模块发送写请求、写地址和待写入的数据,接收到存储调度模块的响应后清除写请求。第二部分,存储调度模块。由于写方向的以太网口为GE (Gigabit Ethernet,千兆以太网)口,而读方向的SDH接口最大带宽需求为2*622M。因此设计一片工作频率为IOOMHz的SSRAM(SynchronousStatic Random Access Memory,同步静态随机存取存储器),外部存储器调度总带宽为100*32 = 3. 2G,分成3个时间片,每个时间片有超过IG的调度带宽,其中以太网接收方向的写调度权重为1,占用I个时间片;SDH发送方向的读调度权重为2,占用两个时间片。存储调度模块采用调度器控制时钟,接收各个通道的读写请求,根据请求完成各个通道读写存储器的调度。一次读写调度的数据位宽设计为4拍时钟的数据,共4*32 = 128比特,即16个字节。第三部分,通道读请求转换模块。在本示例中,SDH支持8个虚级联组通道,每个通道的最大带宽要求为622MHz,通道读请求转换模块分别将8个通道的读请求转换成8个申请调度带宽的读操作请求。在本示例中,每个通道设置一个地址空间大小为16,位宽为I的FIFO。检测SDH发送的各个通道的数据请求Reql Req8,分别对各个通道的请求位宽分别进行累计。请求信号的一个SDH时钟周期对应一个字节数据的读请求,通道每接收到一个字节的读请求,对该通道的读请求位宽累计值加I。当某个通道的请求位宽累计值接近一次存储器调度的数据带宽即16个字节(本示中设为当某个通道的请求累计值等于12个字节)时,向该通道对应的FIFO写入一个读操作请求,清零该通道的读请求位宽累加值并重新开始累计。FIFO写入采用SDH时钟,FIFO满则停止写。第四部分,读存储控制模块。读存储控制模块用于完成数据读操作请求和读地址的控制。如图2所示,轮询各个通道对应的FIFO的状态,如果轮询的当前通道对应的FIFO为空,则将FIFO读地址加1,继续检测下一个通道对应的FIFO ;如果轮询到的通道对应的FIFO非空,且该通道内部数据RAM有写入数据的空间,并且外部存储器已存储有该通道一帧以上的报文数据,则向存储调度模块发送该通道的读操作请求及读地址,接收到存储调度模块发送的响应后清除该读操作请求。该读存储控制模块与通道读请求转换模块相结合,将SDH接口各通道对带宽的实时读请求转换成申请数据调度带宽的读操作请求,实现根据各通道的实时配置自适应地动态调整各个通道申请数据的带宽,各个通道根据实时的数据请求情况共享调度带宽,避免了采用每个通道划分一个固定调度带宽的方法进行调度时,各个通道在低流量却仍占用固定的调度带宽的情况,提高了带宽的利用率。
第五部分,数据处理模块。将通过存储调度模块从外部存储器中读出的数据按通道号存入内部数据RAM。由内部数据RAM完成调度器控制时钟域到SDH时钟域的转换。根据收到的各通道的读请求对相应通道的数据进行成帧等处理后输出。在对外部存储器进行读写操作的装置中,实现自适应动态调整带宽的方法,包括分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,所述读操作请求所请求的数据位宽值等于所述累计值;在检测到本装置中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则向所述外部存储器发起读操作请求。优选地,上述判断出所述通道符合读操作要求,具体包括判断出所述外部存储器中已存储所述通道I个以上的报文,且所述通道内部数据随机存取存储器的剩余数据空间大于所述读操作请求所请求的数据位宽值。优选地,上述预设的数据位宽值不超过对所述外部存储器进行一次读操作的最大允许数据位宽值。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,该方案已经在中兴的光传输设备中得到了验证。本发明适用于多个通道共享一个调度带宽的情况,通过动态跟踪各个通道的带宽需求自适应调整调度带宽,从而实现各通道调度带宽共享,提高带宽利用率,降低了对带宽设计的要求。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种自适应动态调整带宽的装置,包括存储调度模块,其特征在于还包括读存储控制模块及通道读请求转换模块; 所述通道读请求转换模块用于分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,所述读操作请求所请求的数据位宽值等于所述累计值;所述读存储控制模块用于在检测到所述通道读请求转换模块中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则读出所述读操作请求并发送给所述存储调度模块。
2.如权利要求I所述的装置,其特征在于 所述通道读请求转换模块中包含与每个通道对应的先进先出(FIFO)子模块和与每个通道对应的请求累计子模块; 所述请求累计子模块用于累计来自其对应的通道的读请求所请求的数据位宽;还用于在累计的来自于对应的通道的读请求所请求的数据位宽的累计值大于等于所述预设的数据位宽值时,生成该通道的所述读操作请求并发送给对应的FIFO子模块; 所述FIFO子模块用于缓存接收到的所述读操作请求。
3.如权利要求2所述的装置,其特征在于 所述读存储控制模块检测到所述通道读请求转换模块中存储有至少一个通道对应的读操作请求,具体包括 所述读存储控制模块对所述N个FIFO子模块进行轮询,检测到其中至少一个FIFO子模块中存储有至少一个读操作请求。
4.如权利要求I 3中任意一项所述的装置,其特征在于 所述读存储控制模块判断出所述通道符合读操作要求,具体包括 所述读存储控制模块判断出外部存储器中已存储所述通道I个以上的报文,且所述通道内部数据随机存取存储器的剩余数据空间大于所述读操作请求所请求的数据位宽值。
5.如权利要求I 3中任意一项所述的装置,其特征在于 所述预设的数据位宽值不超过对外部存储器进行一次读操作的最大允许数据位宽值。
6.如权利要求4所述的装置,其特征在于,还包括数据处理模块; 所述存储调度模块根据接收到的所述读操作请求向所述外部存储器发起读操作,并将读出的数据发送给所述数据处理模块; 所述数据处理模块与所述N个通道相连,用于将接收到的数据发送给所述读操作请求所对应的通道。
7.如权利要求6所述的装置,其特征在于 所述数据处理模块还用于向所述读存储控制模块上报各个通道的内部数据随机存取存储器的剩余数据空间信息; 所述存储调度模块还用于将所述外部存储器中存储的各通道的报文的数量上报给所述读存储控制模块。
8.—种自适应动态调整带宽的方法,应用于对外部存储器进行读写操作的装置中,包括 分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;其中,所述读操作请求所请求的数据位宽值等于所述累计值; 在检测到本装置中存储有至少一个通道的读操作请求后,若判断出所述通道符合读操作要求,则向所述外部存储器发起读操作请求。
9.如权利要求8所述的方法,其特征在于 所述判断出所述通道符合读操作要求,具体包括 判断出所述外部存储器中已存储所述通道I个以上的报文,且所述通道内部数据随机存取存储器的剩余数据空间大于所述读操作请求所请求的数据位宽值。
10.如权利要求8或9所述的方法,其特征在于 所述预设的数据位宽值不超过对所述外部存储器进行一次读操作的最大允许数据位宽值。
全文摘要
本发明公开了一种自适应动态调整带宽的装置及方法,以解决现有无法实时根据当前网络情况对带宽进行调节的缺陷。该装置包括读存储控制模块及通道读请求转换模块通道读请求转换模块用于分别累计来自每一通道的读请求所请求的数据位宽;如来自于某通道的读请求所请求的数据位宽的累计值大于等于预设的数据位宽值,生成并缓存该通道的一读操作请求;读操作请求所请求的数据位宽值等于累计值;读存储控制模块用于在检测到通道读请求转换模块中存储有至少一个通道的读操作请求后,若判断出通道符合读操作要求,则读出读操作请求并发送给存储调度模块。采用本发明后,能够根据接口带宽的需求实时调整调度带宽,有效降低对存储器调度带宽的设计要求。
文档编号H04L12/56GK102833145SQ20111016258
公开日2012年12月19日 申请日期2011年6月16日 优先权日2011年6月16日
发明者彭海远, 夏晓荣 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1