一种测试存储器访问时延的方法及系统的制作方法

文档序号:6782512阅读:225来源:国知局
专利名称:一种测试存储器访问时延的方法及系统的制作方法
技术领域
本发明涉及存储器测试技术,特别是指一种测试存储器访问时延的方法及系统。
背景技术
现今网络发展速度惊人,网络流量的增长及新业务的出现,需要网络设备具有线速和灵活的处理能力。网络处理器是一种可编程器件,一般应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、服务质量(QoS)等。凭借其高速处理及灵活的可编程性,网络处理器已成为当今网络中数据处理的有效解决方案。
目前,影响网络处理器线速转发的一个最关键的问题是存储器的访问延迟。现有网络处理器中有多种不同的存储器,如静态随机存储器(SRAM)、三重内容可寻址存储器(TCAM, Ternary Content Addressable Memory)、同步动态随机存储器(SDRAM)等,这些存储器存放着各种业务表项,如端口表、媒体访问控制(MAC)表、路由表等。但由于查找存储器的结果不能立即返回,因此,存储器在发起读操作到返回所请求的有效数据之间存在着一定的延迟。在访问延迟时间内,微码指令不能利用存储器的查表结果。
微码是存储于网络处理器中的指令集,微码指令通过读取各种业务表项来控制转发层面数据报文的转发。存储器查表一般在一段周期区间内[Tmin,Tmax]返回有效值;并且,
如果在Tmin之前进行查表,查表结果肯定是错误的;在TmijP TMX之间查表,查表结果有可能
是正确的也有可能错误的;在T^之后查表,得到的查表结果一定是正确的。
存储器的访问时延Tlaten。y是指存储器有效值返回的最小指令周期,Tlaten。y = Tmax,微码必须在Tlaten。y之后使用查表结果。如果在Tlaten。y之前使用查表结果,微码指令用错误的查表返回值控制转发层面的转发行为,就会造成转发紊乱,业务功能失常。因此,精确地
确定存储器的访问时延Tiatm。y对数据报文的转发是非常重要的。

发明内容
有鉴于此,本发明的主要目的在于提供一种测试存储器访问时延的方法和系统,
能精确测定存储器的访问时延,从而使数据报文能有序转发,保证业务的正常进行。 为达到上述目的,本发明的技术方案是这样实现的 本发明公开了一种测试存储器访问时延的方法,该方法包括 设置特征值,并设置记录采样时刻返回值情况的计数器; 测试仪发送数据包触发微码执行,将采样时刻T和采样时刻T-l微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。 所述计数器包括采样时刻T的返回值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻T-1的返回值错误计数器。
所述将比较结果记录在计数器中具体为 如果采样时刻T或采样时刻T-l微码得到的返回值与所设置的特征值相等,则采
4样时刻T的返回值正确计数器或采样时刻T-l的返回值正确计数器加1 ;如果采样时刻T或采样时刻T-l微码得到的返回值与所设置的特征值不相等,则采样时刻T的返回值错误计数器或采样时刻T-l的返回值错误计数器加1。 该方法进一步包括每发送一个数据包后比较和记录比较结果一次,发送一个测试周期后停止发送数据。 所述根据计数结果确定存储器的访问时延具体为如果采样时刻T-l的返回值错误计数器不等于0且采样时刻T的返回值错误计数器等于0,则采样时刻T为存储器的访问时延;否则,采样时刻T不为存储器的访问时延。 采样时刻T不为存储器的访问时延时,该方法进一步包括调整采样时刻T的值,并清空所有计数器;测试仪重新开始发送数据包触发微码执行,重新分别比较采样时刻T和采样时刻T-l微码得到的返回值与设置的特征值。 —种测试存储器访问时延的系统,该系统包括测试仪、存储器、比较模块、计数器模块以及判断模块。其中, 测试仪,用于发送数据报文,触发微码执行;
存储器,用于存储特征值; 比较模i央,用于分别比较采样时刻T和T-l时刻微码得到的返回值与特征值是否
相等,并将比较结果发送给计数器模块; 计数器模块,用于记录返回值的正确与错误情况; 判断模块,用于判断所选的采样时刻T是否为存储器的访问时延。 所述计数器模块包括采样时刻T的返回值正确计数器、采样时刻T的返回值错误
计数器、采样时刻T-l的返回值正确计数器和采样时刻T-l返回值错误计数器。 所述判断所选的采样时刻T是否为存储器的访问时延为采样时刻T-l的返回值
错误计数器不等于0且采样时刻T的返回值错误计数器等于0时,所选采样时刻T为存储
器的访问时延。 所述判断在发送数据包一个测试周期后进行。 该系统还包括调整模块,用于在采样时刻T不是存储器访问时延时,调整采样时刻T的值,并清空所有计数器; 相应的,所述测试仪重新开始发送数据包,触发微码执行。 本发明所提供的测试存储器访问时延的方法及系统,将采样时刻T和采样时刻T-l微码得到的返回值与存储器中的特征值进行比较,并将比较结果记入计数器中,在测试周期到后通过读取并判断计数器的计数值,能精确测定存储器的访问时延,进而保证微码指令采用正确的查表返回值控制数据报文的转发,使转发行为井然有序,从而保证业务正常进行。


图1为本发明测试存储器访问时延方法的实现流程 图2为本发明测试存储器访问时延系统的组成结构示意图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。 本发明实现测试存储器访问时延的方法如图1所示,包括以下步骤 步骤101 :设置特征值V,并设置记录采样时刻返回值情况的计数器; 本步骤中,可将所设置的特征值V写入存储器的固定地址,如存储器地址X,以便
后续与采样时刻微码得到的返回值进行比较;所述特征值V可以选取一些特殊数值,比如
全0、全1,或者0/1交替等二进制数值,以方便实际操作; 这里,可以分别对应采样时刻T-1 、采样时刻T微码得到的返回值正确或错误情况设置四个计数器Coimter_EqualT、 Coimter_UnequalT、 Coimter_EqualT—i以及Counter-UnequalT—i ,其中,下标表示的是采样时刻,Counter-Equal计数器用来记录返回值正确时的情况,Counter-Unequal计数器用来记录返回值错误时的情况,初始化时将四个计
数器清空。
步骤102 :测试仪向端口发送数据报文触发微码执行;
步骤103 :微码读取特征值对应的存储地址的内容; 这里,所述读取特征值对应的存储地址的内容为读取存储器地址X的内容,实际就是读取特征值,但微码在存储器访问时延之前不能得到真正的特征值,而只能得到随机值。
步骤104 :分别比较采样时刻T-l和采样时刻T微码得到的存储地址的返回值是否与特征值V相等,如果相等,则相应采样时刻的Counter-Equal的计数值加1 ;如果不相等,则相应采样时刻的Counter-Unequal的计数值加1 ; 这里,采样时刻T的选取原则上可以任意选取,但为了减少循环次数,快速得到存
储器访问时延的准确值,可以根据相应芯片规定参数选取采样时刻T。举个例子来说,假设
某类型芯片规定的存储器访问时延Tlaten。y为27,规定的Tlaten。y值并不一定是芯片真实的存
储器访问时延值,那么,就可以选定采样时刻为27,测试在27周围的临界值。 所述返回值就是微码读取特征值对应的存储地址内容所得到的值,在访问时延之
前是随机值,在访问时延时是特征值。 步骤105 :每发送一个数据包后就重复执行步骤103和104 —次,发送一段时间Ts数据包后,停止发送数据包; 这里,所述Ts称为一个测试周期;测试周期Ts可以选的稍长一些,时间越长,测试结果也就越准确。 一般,测试周期Ts内所发送数据包数目应等于Ts时间后Counter-Equal和Counter-Unequal计数器的计数值之和。具体的讲,假设Ts时间内发送数据包的数目为N,则Counter_EqualT+Counter_UnequalT = N, Counter_EqualT—i+Counter-UnequalT—工=N。
步骤106 107 :读取并判断Counter_UnequalT及Counter_UnequalT—丄的计数值,如果Counter-UnequalT—!不等于0且Counter-UnequalT等于0,则确定找到访问时延Tlatency=T,结束当前处理流程;否则,进入步骤108 ; 步骤108 :判断Counter-UnequalT及Counter-UnequalT—!是否都等于0,如果是,则表明T大于Twy,调整采样时刻T的值,将T值减去1后作为新的采样时刻,清空所有计数器,返回步骤102,直到找到Tlateney ;如果Counter-UnequalT及Counter-UnequalT—!都有计数值,则表明T过小,调整采样时刻T的值,将T值加上1后作为新的采样时刻后,清空所有计数器,返回步骤102,直到找到Tlat CT ;
6
由于本发明测试存储器访问时延的方案,根据采样时刻微码返回值与存储器特征值实时比较,并根据测试周期的结果来确定当前合适的Twy,因此,可以精确地测定存储器访问时延的值,进而使报文能有序转发,保证业务的正常进行。 基于上述方法,如图2所示,本发明测试存储器访问时延的系统包括测试仪21、存储器22、比较模块23、计数器模块24以及判断模块25 ;其中, 测试仪21,用于发送数据报文,触发微码执行;一般在一个测试周期Ts内发送N个数据包; 存储器22,用于存储特征值V ; 这里,在测试仪21开始发送数据报文之前,将特征值V写入存储器地址;所述特征
值V可以选取一些特殊数值,比如全0、全l,或者0/1交替等二进制数值,以方便实际操作; 比较模块23,用于分别比较采样时刻T和T-l时微码得到的存储器的返回值与事
先写入存储器的特征值V是否相等,并将比较结果发送给计数器模块24 ; 这里,当采样时刻T为访问时延Twy时,则返回值就是特征值;如果不是,则返回
值为随机值。返回值与特征值相等为正确,不相等为错误; 计数器模块24,用于记录返回值的正确与错误情况; 这里,预先为采样时刻T和T-l分别分配两个计数器Counter-EqualT,Coimter_UnequalT, Coimter_EqualT—" Coimter_UnequalT—丄,其中,下标表不米样时刻,Counter-Equal计数器用来记录返回值正确时的计数值,Counter-Unequal计数器用来记录返回值错误时的计数值;每发送一个数据包,相应计数器就根据比较结果计数一次;
判断模块25,用于判断所选的采样时刻T是否为存储器的访问时延Tlatency。
这里,如果Counter-UnequalT—!不等于0且Counter-UnequalT等于0,则表明采样时刻T为存储器的访问时延Tlaten。y ;否则,表明采样时刻T不是存储器的访问时延TlateMy。
本发明的测试存储器访问时延系统,在测试仪21发送数据包后,微码读取存储器22的内容;然后由比较模块23分别比较采样时刻T和T-l微码得到的返回值与预先设定的特征值是否相等;比较后由计数器模块24记录返回值的正确与错误这两种情况;测试仪21每发送一个数据包,就读取存储器22的内容,同时比较模块23和计数器模块24就分别执行一次; 在发送数据包Ts时间后,读取每个计数器的计数值,进入判断模块25,判断当前选取的采样时刻T是否为存储器的访问时延Tlaten。y,如果Counter-UnequaV工不等于0且Counter-UnequalT等于0,则表明采样时刻T为存储器的访问时延Tlateney ;否则,表明采样时刻T不是存储器的访问时延TlateMy。 该系统还包括调整模块,用于在采样时刻T不是存储器的访问时延Tlateney时,调整采样时刻T的值,并清空所有计数器,测试仪21重新开始发送数据包,触发比较模块23重新比较。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
一种测试存储器访问时延的方法,其特征在于,该方法包括设置特征值,并设置记录采样时刻返回值情况的计数器;测试仪发送数据包触发微码执行,将采样时刻T和采样时刻T-1微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。
2. 根据权利要求1所述的方法,其特征在于,所述计数器包括采样时刻T的返回值正 确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻 T-l的返回值错误计数器。
3. 根据权利要求2所述的方法,其特征在于,所述将比较结果记录在计数器中具体为 如果采样时刻T或采样时刻T-l微码得到的返回值与所设置的特征值相等,则采样时刻T的返回值正确计数器或采样时刻T-l的返回值正确计数器加1 ;如果采样时刻T或采 样时刻T-l微码得到的返回值与所设置的特征值不相等,则采样时刻T的返回值错误计数 器或采样时刻T-1的返回值错误计数器加1。
4. 根据权利要求3所述的方法,其特征在于,该方法进一步包括每发送一个数据包后 比较和记录比较结果一次,发送一个测试周期后停止发送数据。所述根据计数结果确定存储器的访问时延具体为如果采样时刻T-1的返回值错误计 数器不等于0且采样时刻T的返回值错误计数器等于O,则采样时刻T为存储器的访问时 延;否则,采样时刻T不为存储器的访问时延。
5. 根据权利要求4所述的方法,其特征在于,采样时刻T不为存储器的访问时延时,该 方法进一步包括调整采样时刻T的值,并清空所有计数器;测试仪重新开始发送数据包触 发微码执行,重新分别比较采样时刻T和采样时刻T-l微码得到的返回值与设置的特征值。
6. —种测试存储器访问时延的系统,其特征在于,该系统包括测试仪、存储器、比较模块、计数器模块以及判断模块。其中,测试仪,用于发送数据报文,触发微码执行; 存储器,用于存储特征值;比较模±央,用于分别比较采样时刻T和T-l时刻微码得到的返回值与特征值是否相等, 并将比较结果发送给计数器模块;计数器模块,用于记录返回值的正确与错误情况; 判断模块,用于判断所选的采样时刻T是否为存储器的访问时延。
7. 根据权利要求6所述的系统,其特征在于,所述计数器模块包括采样时刻T的返回 值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-l的返回值正确计数器和采样 时刻T-1返回值错误计数器。
8. 根据权利要求7所述的系统,其特征在于,所述判断所选的采样时刻T是否为存储器 的访问时延为采样时刻T-l的返回值错误计数器不等于0且采样时刻T的返回值错误计 数器等于0时,所选采样时刻T为存储器的访问时延。
9. 根据权利要求8所述的系统,其特征在于,所述判断在发送数据包一个测试周期后 进行。
10. 根据权利要求8所述的系统,其特征在于,该系统还包括调整模块,用于在采样时 刻T不是存储器访问时延时,调整采样时刻T的值,并清空所有计数器;相应的,所述测试仪重新开始发送数据包,触发微码执行c
全文摘要
本发明公开了一种测试存储器访问时延的方法,包括设置特征值,并设置记录采样时刻返回值情况的计数器;将采样时刻T和采样时刻T-1微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。本发明还同时公开了一种测试存储器访问时延的系统,采用该方法和系统能精确的测定访问时延,从而可以使微码指令用正确的查表返回值控制转发层面数据报文的转发,保证业务功能的正常进行。
文档编号G11C29/56GK101740138SQ20091024144
公开日2010年6月16日 申请日期2009年12月2日 优先权日2009年12月2日
发明者周佳, 姜海明 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1