一种片内、片外存储器按流量动态调度分包数据的方法

文档序号:6441518阅读:400来源:国知局
专利名称:一种片内、片外存储器按流量动态调度分包数据的方法
一种片内、片外存储器按流量动态调度分包数据的方法技术领域
本发明属于数据通信领域,涉及一种分包数据的动态调度方法,具体应用FPGA(现场可编程门阵列)芯片设计分包交换数据在高速通道向低速通道存储转发转换过程中,根据分包数据流量的不同在芯片内部SRAM(静态随机存储器)和片外SDRAM (同步动态随机存储器)动态切换存储并调度,实现低数据流量时应用内部存储器高速、稳定调度,高数据流量时应用片外存储器调度。
背景技术
数据通信方式具有电路交换、分组交换、报文交换等多种方式,其中分组交换和报文交换都需要进行存储转发操作,此外,工业领域多种数据转发及处理都要涉及到存储转发操作,尤其是高速数据通道的数据向低速数据通道进行转发时,如以太网数据处理、视频数据处理等。
对于出口及入口速率不对等进行的数据存储转发操作,应用现场可编程门阵列进行设计是高效和通用的方式,现场可编程门阵列内部具有静态随机存储器,具有操作全双工、高速、可靠但容量小的特点,大容量的存储转发一般应用同步动态随机存储器进行片外存储,具有容量大、半双工、速度较静态随机存储器低且是片外操作依赖同步动态随机存储器本身性能的特点。
普遍地,数据传输出入口速率不对等而采用片外同步动态随机存储器的方式进行处理具有以下不足1.通过片外同步动态随机存储器调度数据会增加传输时延,对传输视频、语音等实时性要求高的应用会有影响。
2.现场应用如静电、感应雷等因素会引起同步动态随机存储器出现挂死现象,从而导致数据传输故障,需重新上电或更换芯片解决问题。
3.实际应用时高速数据入口往往具有瞬时数据持续时间短,以间歇性迸发为主的特点。发明内容
—种片内、片外存储器按流量动态调度分包数据的方法,该方法将入口瞬时高速数据包首先缓存到现场可编程门阵列高速片内存储器中,出口低速上载缓存空时将一个数据包从片内存储器上载,数据流量统计机制判断片内存储器将满时,新的入口数据包将被存储到片外存储器中,切换保护机制保证片内、片外存储器缓存的数据被依次上载到低速出口上载缓存中,片外存储器空后,新的入口数据包会切换到片内存储器存储。
一种片内、片外存储器按流量动态调度分包数据的方法,其实现步骤为步骤1.瞬时高速数据包优先使用片内存储器缓存数据,而控制缓存调度的数据写入判决器会实时监控片内缓存使用情况。
步骤2.当数据写入判决器检查到片内缓存使用到达预设的阈值后,会在本帧数据缓存结束后,将片内存储器状态标记为已满。
步骤3.新的数据包到达后,数据写入判决器监测到片内存储器已满,会自动将数据流切换到片外存储器缓存。
步骤4.在高速数据缓存的同时,低速数据接口必然会产生数据读出请求;数据读出判决器优先检查片内存储器中是否有数据存在,若存在,则将数据连续性读出,放入下一级的低速数据接口缓存,直至将片内存储器读空。
步骤5.当片内存储器被读空后,数据读出判决器将片内存储器状态标记为已空, 在读取下一帧数据时自动切换到片外存储器,直至将片外存储器读空。
步骤6.此时数据写入判决器将又检查到片内存储器为空,重复进行步骤1的写入操作,进入下一轮的调度操作。
采用本发明设计片内、片外存储器按流量动态调度分包数据具有如下效果 效果1.优先使用片内存储器缓存数据,在数据流量较低的情况下,可仅使用片内高速存储器,提高系统实时性。
效果2.即使片外存储器损坏,也可切换至片内存储器操作,在一些恶劣的环境中,最大限度的保证基本业务的稳定。
效果3.基于本方法设计,同一设备可适应多种应用环境,而且在某些低速应用时,完全可以省去片外存储器,而无需改动系统。


图1是分包数据流缓存结构图;图2是片内、片外存储器动态调度流程图。
具体实施方式
下面结合附图对本发明进行进一步的说明图1所示的是分包数据流缓存结构图,描述了迸发性高速分包数据流经过缓存调度, 变为连续性低速数据流的过程。图中1表示高速数据源,进入调度系统后,汇集为高速数据总线2。此时数据写入判决器3会首先判定片内存储器5的状态,若片内存储器5未满,则优先使用,从高速数据总线2下载数据,缓存到片内存储器5。数据写入判决器3同时根据系统预先设定好的阈值,监控片内缓存的使用情况,直至片内缓存耗用达到阈值,更新片内存储器5的状态为已满。下一帧数据到达后,因片内存储器5已满,数据写入判决器3自动将数据流切换到片外存储器6,进行后续缓存。当且仅当片内存储器5状态为满时,才会使用片外存储器6。因此,数据写入缓存,是一个自动按流量动态调度的过程。
在高速数据缓存的同时,低速数据接口会产生读取请求,从存储器中将数据包导出。其过程如下低速接口缓存8状态为空时,表示低速数据接口空闲,会要求从低速数据总线7下载数据,此时数据读出判决器4会首先判断片内存储器5状态是否为空,若非空, 则优先由片内存储器5导出数据,直至读空后,才切换至片外存储器6。同样,也仅在将片外存储器6读空后,才会切换到片内存储器。此过程由数据读出判决器4进行仲裁,并同步更新片内、片外存储器的状态标记。
片内、片外存储器状态被标记为空后,数据写入判决器3则会再次进行数据写入操作,进入下一个循环,如此往复,完成片内、片外存储器按流量动态调度的过程。
图2所示为片内、片外存储器动态调度流程图,主要描述数据写入、读出判决器在实际仲裁过程中所遵循的逻辑流程。下面结合图2,对动态调度过程进一步详细说明。当高速分包数据流进入数据总线后,系统优先使用片内存储器,数据写入判决器判定片内存储器状态,若未达到预定阀值,则新的数据包持续向片内存储器写入,在写入数据的同时数据是不断的向低速缓存方向导出的,因此只有高速入口数据流与低速出口数据流在持续时间内形成足够的容积差的情况下,片内存储器才能够达到预定的阀值。当高低速缓存数据差达到阈值后,数据写入判决器会判断当前帧数据是否结束,若未结束,则仍向片内存储器写入,以保证帧的完整性,当前帧结束后,数据写入判决器会关闭片内存储器,同时开启片外存储器,新的数据包会自动切换至片外存储器存储。这样就完成了动态的根据流量的写入到片内、片外存储器的写入调度过程,其间片内存储器的缓存的阈值可根据现场可编程门阵列的内部资源进行调整,以达到性能最优化。
写入调度的同时,数据读出判决器收到低速接口的数据请求后,会优先判断当前是否使用片内存储器进行读取,若是,则连续从片内存储器导出数据,直至读空。然后,数据读出判决器将片内存储器状态更新为已空,并判断是否有数据需要从片外存储器导出,如果没有则关闭片内存储器读选择,由于此时片外读选择必然是关闭的,因此实际上数据导出调度处于循环等待中,直至某一时刻有新的数据被写入到片外或片内存储器当中。当片外存储器读选择为真时,则连续从片外存储器中导出数据直至读空,因为只有片内存储器读空后,导出调度才会判断片外存储器读选择,因此当片外存储器被读空后,片内片外存储器必然都是空的,此时导出调度会关闭片外读选择及关闭片外存储器,同时开启片内存储器,并返回到等待新的数据流进入最开始过程,由此完成了整体的片内、片外存储器根据数据流量进行动态调度的过程。
写入、读出判决器在实际工作过程中,同步执行,互补操作,通过对片内、片外存储器的连续动态切换,共同完成数据流的缓存过程。在数据流量较小时,高低速数据流的缓存数据差未达到系统阈值,则仅使用片内存储器进行数据调度,速度快,可靠性高。在数据流量较大时,联合使用片内、片外存储器,动态调度,性能高,应用广。
权利要求
1. 一种片内、片外存储器按流量动态调度分包数据的方法,其特征在于该方法包括以下步骤步骤1.瞬时高速数据包优先使用片内存储器缓存数据,控制缓存调度的数据写入判决器实时监控片内缓存使用情况;步骤2.当数据写入判决器检查到片内缓存使用到达预设的阈值后,则在本帧数据缓存结束后,将片内存储器状态标记为已满;步骤3.新的数据包到达后,数据写入判决器监测到片内存储器已满,则自动将数据流切换到片外存储器缓存;步骤4.在高速数据缓存的同时,低速数据接口必然会产生数据读出请求;数据读出判决器优先检查片内存储器中是否有数据存在,若存在,则将数据连续性读出,放入下一级的低速数据接口缓存,直至将片内存储器读空;步骤5.当片内存储器被读空后,数据读出判决器将片内存储器状态标记为已空,在读取下一帧数据时自动切换到片外存储器,直至将片外存储器读空;步骤6.此时数据写入判决器将又检查到片内存储器为空,重复进行步骤1的写入操作,进入下一轮的调度操作。
全文摘要
本发明涉及一种片内、片外存储器按流量动态调度分包数据的方法。本发明首先缓存到现场可编程门阵列高速片内存储器中,出口低速上载缓存空时将一个数据包从片内存储器上载,数据流量统计机制判断片内存储器将满时,新的入口数据包将被存储到片外存储器中,切换保护机制保证片内、片外存储器缓存的数据被依次上载到低速出口上载缓存中,片外存储器空后,新的入口数据包会切换到片内存储器存储。本发明提高了系统实时性、最大限度的保证基本业务的稳定。
文档编号G06F12/08GK102521159SQ20111042277
公开日2012年6月27日 申请日期2011年12月16日 优先权日2011年12月16日
发明者乔世栋, 任忠惠 申请人:杭州初灵信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1