CN101740138A - 一种测试存储器访问时延的方法及系统 - Google Patents
一种测试存储器访问时延的方法及系统 Download PDFInfo
- Publication number
- CN101740138A CN101740138A CN200910241444A CN200910241444A CN101740138A CN 101740138 A CN101740138 A CN 101740138A CN 200910241444 A CN200910241444 A CN 200910241444A CN 200910241444 A CN200910241444 A CN 200910241444A CN 101740138 A CN101740138 A CN 101740138A
- Authority
- CN
- China
- Prior art keywords
- sampling instant
- counter
- rreturn value
- time delay
- access time
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56012—Timing aspects, clock generation, synchronisation
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种测试存储器访问时延的方法,包括:设置特征值,并设置记录采样时刻返回值情况的计数器;将采样时刻T和采样时刻T-1微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。本发明还同时公开了一种测试存储器访问时延的系统,采用该方法和系统能精确的测定访问时延,从而可以使微码指令用正确的查表返回值控制转发层面数据报文的转发,保证业务功能的正常进行。
Description
技术领域
本发明涉及存储器测试技术,特别是指一种测试存储器访问时延的方法及系统。
背景技术
现今网络发展速度惊人,网络流量的增长及新业务的出现,需要网络设备具有线速和灵活的处理能力。网络处理器是一种可编程器件,一般应用于通信领域的各种任务,比如:包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、服务质量(QoS)等。凭借其高速处理及灵活的可编程性,网络处理器已成为当今网络中数据处理的有效解决方案。
目前,影响网络处理器线速转发的一个最关键的问题是存储器的访问延迟。现有网络处理器中有多种不同的存储器,如:静态随机存储器(SRAM)、三重内容可寻址存储器(TCAM,Ternary Content Addressable Memory)、同步动态随机存储器(SDRAM)等,这些存储器存放着各种业务表项,如端口表、媒体访问控制(MAC)表、路由表等。但由于查找存储器的结果不能立即返回,因此,存储器在发起读操作到返回所请求的有效数据之间存在着一定的延迟。在访问延迟时间内,微码指令不能利用存储器的查表结果。
微码是存储于网络处理器中的指令集,微码指令通过读取各种业务表项来控制转发层面数据报文的转发。存储器查表一般在一段周期区间内[Tmin,Tmax]返回有效值;并且,如果在Tmin之前进行查表,查表结果肯定是错误的;在Tmin和Tmax之间查表,查表结果有可能是正确的也有可能错误的;在Tmax之后查表,得到的查表结果一定是正确的。
存储器的访问时延Tlatency是指存储器有效值返回的最小指令周期,Tlatency=Tmax,微码必须在Tlatency之后使用查表结果。如果在Tlatency之前使用查表结果,微码指令用错误的查表返回值控制转发层面的转发行为,就会造成转发紊乱,业务功能失常。因此,精确地确定存储器的访问时延Tlatency对数据报文的转发是非常重要的。
发明内容
有鉴于此,本发明的主要目的在于提供一种测试存储器访问时延的方法和系统,能精确测定存储器的访问时延,从而使数据报文能有序转发,保证业务的正常进行。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种测试存储器访问时延的方法,该方法包括:
设置特征值,并设置记录采样时刻返回值情况的计数器;
测试仪发送数据包触发微码执行,将采样时刻T和采样时刻T-1微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。
所述计数器包括:采样时刻T的返回值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻T-1的返回值错误计数器。
所述将比较结果记录在计数器中具体为:
如果采样时刻T或采样时刻T-1微码得到的返回值与所设置的特征值相等,则采样时刻T的返回值正确计数器或采样时刻T-1的返回值正确计数器加1;如果采样时刻T或采样时刻T-1微码得到的返回值与所设置的特征值不相等,则采样时刻T的返回值错误计数器或采样时刻T-1的返回值错误计数器加1。
该方法进一步包括:每发送一个数据包后比较和记录比较结果一次,发送一个测试周期后停止发送数据。
所述根据计数结果确定存储器的访问时延具体为:如果采样时刻T-1的返回值错误计数器不等于0且采样时刻T的返回值错误计数器等于0,则采样时刻T为存储器的访问时延;否则,采样时刻T不为存储器的访问时延。
采样时刻T不为存储器的访问时延时,该方法进一步包括:调整采样时刻T的值,并清空所有计数器;测试仪重新开始发送数据包触发微码执行,重新分别比较采样时刻T和采样时刻T-1微码得到的返回值与设置的特征值。
一种测试存储器访问时延的系统,该系统包括:测试仪、存储器、比较模块、计数器模块以及判断模块。其中,
测试仪,用于发送数据报文,触发微码执行;
存储器,用于存储特征值;
比较模块,用于分别比较采样时刻T和T-1时刻微码得到的返回值与特征值是否相等,并将比较结果发送给计数器模块;
计数器模块,用于记录返回值的正确与错误情况;
判断模块,用于判断所选的采样时刻T是否为存储器的访问时延。
所述计数器模块包括:采样时刻T的返回值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻T-1返回值错误计数器。
所述判断所选的采样时刻T是否为存储器的访问时延为:采样时刻T-1的返回值错误计数器不等于0且采样时刻T的返回值错误计数器等于0时,所选采样时刻T为存储器的访问时延。
所述判断在发送数据包一个测试周期后进行。
该系统还包括调整模块,用于在采样时刻T不是存储器访问时延时,调整采样时刻T的值,并清空所有计数器;
相应的,所述测试仪重新开始发送数据包,触发微码执行。
本发明所提供的测试存储器访问时延的方法及系统,将采样时刻T和采样时刻T-1微码得到的返回值与存储器中的特征值进行比较,并将比较结果记入计数器中,在测试周期到后通过读取并判断计数器的计数值,能精确测定存储器的访问时延,进而保证微码指令采用正确的查表返回值控制数据报文的转发,使转发行为井然有序,从而保证业务正常进行。
附图说明
图1为本发明测试存储器访问时延方法的实现流程图;
图2为本发明测试存储器访问时延系统的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明实现测试存储器访问时延的方法如图1所示,包括以下步骤:
步骤101:设置特征值V,并设置记录采样时刻返回值情况的计数器;
本步骤中,可将所设置的特征值V写入存储器的固定地址,如存储器地址X,以便后续与采样时刻微码得到的返回值进行比较;所述特征值V可以选取一些特殊数值,比如:全0、全1,或者0/1交替等二进制数值,以方便实际操作;
这里,可以分别对应采样时刻T-1、采样时刻T微码得到的返回值正确或错误情况设置四个计数器:Counter-EqualT、Counter-UnequalT、Counter-EqualT-1以及Counter-UnequalT-1,其中,下标表示的是采样时刻,Counter-Equal计数器用来记录返回值正确时的情况,Counter-Unequal计数器用来记录返回值错误时的情况,初始化时将四个计数器清空。
步骤102:测试仪向端口发送数据报文触发微码执行;
步骤103:微码读取特征值对应的存储地址的内容;
这里,所述读取特征值对应的存储地址的内容为:读取存储器地址X的内容,实际就是读取特征值,但微码在存储器访问时延之前不能得到真正的特征值,而只能得到随机值。
步骤104:分别比较采样时刻T-1和采样时刻T微码得到的存储地址的返回值是否与特征值V相等,如果相等,则相应采样时刻的Counter-Equal的计数值加1;如果不相等,则相应采样时刻的Counter-Unequal的计数值加1;
这里,采样时刻T的选取原则上可以任意选取,但为了减少循环次数,快速得到存储器访问时延的准确值,可以根据相应芯片规定参数选取采样时刻T。举个例子来说,假设某类型芯片规定的存储器访问时延Tlatency为27,规定的Tlatency值并不一定是芯片真实的存储器访问时延值,那么,就可以选定采样时刻为27,测试在27周围的临界值。
所述返回值就是微码读取特征值对应的存储地址内容所得到的值,在访问时延之前是随机值,在访问时延时是特征值。
步骤105:每发送一个数据包后就重复执行步骤103和104一次,发送一段时间Ts数据包后,停止发送数据包;
这里,所述Ts称为一个测试周期;测试周期Ts可以选的稍长一些,时间越长,测试结果也就越准确。一般,测试周期Ts内所发送数据包数目应等于Ts时间后Counter-Equal和Counter-Unequal计数器的计数值之和。具体的讲,假设Ts时间内发送数据包的数目为N,则Counter-EqualT+Counter-UnequalT=N,Counter-EqualT-1+Counter-UnequalT-1=N。
步骤106~107:读取并判断Counter-UnequalT及Counter-UnequalT-1的计数值,如果Counter-UnequalT-1不等于0且Counter-UnequalT等于0,则确定找到访问时延Tlatency=T,结束当前处理流程;否则,进入步骤108;
步骤108:判断Counter-UnequalT及Counter-UnequalT-1是否都等于0,如果是,则表明T大于Tlatency,调整采样时刻T的值,将T值减去1后作为新的采样时刻,清空所有计数器,返回步骤102,直到找到Tlatency;如果Counter-UnequalT及Counter-UnequalT-1都有计数值,则表明T过小,调整采样时刻T的值,将T值加上1后作为新的采样时刻后,清空所有计数器,返回步骤102,直到找到Tlatency;
由于本发明测试存储器访问时延的方案,根据采样时刻微码返回值与存储器特征值实时比较,并根据测试周期的结果来确定当前合适的Tlatency,因此,可以精确地测定存储器访问时延的值,进而使报文能有序转发,保证业务的正常进行。
基于上述方法,如图2所示,本发明测试存储器访问时延的系统包括测试仪21、存储器22、比较模块23、计数器模块24以及判断模块25;其中,
测试仪21,用于发送数据报文,触发微码执行;一般在一个测试周期Ts内发送N个数据包;
存储器22,用于存储特征值V;
这里,在测试仪21开始发送数据报文之前,将特征值V写入存储器地址;所述特征值V可以选取一些特殊数值,比如全0、全1,或者0/1交替等二进制数值,以方便实际操作;
比较模块23,用于分别比较采样时刻T和T-1时微码得到的存储器的返回值与事先写入存储器的特征值V是否相等,并将比较结果发送给计数器模块24;
这里,当采样时刻T为访问时延Tlatency时,则返回值就是特征值;如果不是,则返回值为随机值。返回值与特征值相等为正确,不相等为错误;
计数器模块24,用于记录返回值的正确与错误情况;
这里,预先为采样时刻T和T-1分别分配两个计数器Counter-EqualT,Counter-UnequalT,Counter-EqualT-1,Counter-UnequalT-1,其中,下标表示采样时刻,Counter-Equal计数器用来记录返回值正确时的计数值,Counter-Unequal计数器用来记录返回值错误时的计数值;每发送一个数据包,相应计数器就根据比较结果计数一次;
判断模块25,用于判断所选的采样时刻T是否为存储器的访问时延Tlatency。
这里,如果Counter-UnequalT-1不等于0且Counter-UnequalT等于0,则表明采样时刻T为存储器的访问时延Tlatency;否则,表明采样时刻T不是存储器的访问时延Tlatency。
本发明的测试存储器访问时延系统,在测试仪21发送数据包后,微码读取存储器22的内容;然后由比较模块23分别比较采样时刻T和T-1微码得到的返回值与预先设定的特征值是否相等;比较后由计数器模块24记录返回值的正确与错误这两种情况;测试仪21每发送一个数据包,就读取存储器22的内容,同时比较模块23和计数器模块24就分别执行一次;
在发送数据包Ts时间后,读取每个计数器的计数值,进入判断模块25,判断当前选取的采样时刻T是否为存储器的访问时延Tlatency,如果Counter-UnequalT-1不等于0且Counter-UnequalT等于0,则表明采样时刻T为存储器的访问时延Tlatency;否则,表明采样时刻T不是存储器的访问时延Tlatency。
该系统还包括调整模块,用于在采样时刻T不是存储器的访问时延Tlatency时,调整采样时刻T的值,并清空所有计数器,测试仪21重新开始发送数据包,触发比较模块23重新比较。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试存储器访问时延的方法,其特征在于,该方法包括:
设置特征值,并设置记录采样时刻返回值情况的计数器;
测试仪发送数据包触发微码执行,将采样时刻T和采样时刻T-1微码得到的返回值分别与设置的特征值进行比较,并将比较结果记录在计数器中,根据计数结果确定存储器的访问时延。
2.根据权利要求1所述的方法,其特征在于,所述计数器包括:采样时刻T的返回值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻T-1的返回值错误计数器。
3.根据权利要求2所述的方法,其特征在于,所述将比较结果记录在计数器中具体为:
如果采样时刻T或采样时刻T-1微码得到的返回值与所设置的特征值相等,则采样时刻T的返回值正确计数器或采样时刻T-1的返回值正确计数器加1;如果采样时刻T或采样时刻T-1微码得到的返回值与所设置的特征值不相等,则采样时刻T的返回值错误计数器或采样时刻T-1的返回值错误计数器加1。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:每发送一个数据包后比较和记录比较结果一次,发送一个测试周期后停止发送数据。
所述根据计数结果确定存储器的访问时延具体为:如果采样时刻T-1的返回值错误计数器不等于0且采样时刻T的返回值错误计数器等于0,则采样时刻T为存储器的访问时延;否则,采样时刻T不为存储器的访问时延。
5.根据权利要求4所述的方法,其特征在于,采样时刻T不为存储器的访问时延时,该方法进一步包括:调整采样时刻T的值,并清空所有计数器;测试仪重新开始发送数据包触发微码执行,重新分别比较采样时刻T和采样时刻T-1微码得到的返回值与设置的特征值。
6.一种测试存储器访问时延的系统,其特征在于,该系统包括:测试仪、存储器、比较模块、计数器模块以及判断模块。其中,
测试仪,用于发送数据报文,触发微码执行;
存储器,用于存储特征值;
比较模块,用于分别比较采样时刻T和T-1时刻微码得到的返回值与特征值是否相等,并将比较结果发送给计数器模块;
计数器模块,用于记录返回值的正确与错误情况;
判断模块,用于判断所选的采样时刻T是否为存储器的访问时延。
7.根据权利要求6所述的系统,其特征在于,所述计数器模块包括:采样时刻T的返回值正确计数器、采样时刻T的返回值错误计数器、采样时刻T-1的返回值正确计数器和采样时刻T-1返回值错误计数器。
8.根据权利要求7所述的系统,其特征在于,所述判断所选的采样时刻T是否为存储器的访问时延为:采样时刻T-1的返回值错误计数器不等于0且采样时刻T的返回值错误计数器等于0时,所选采样时刻T为存储器的访问时延。
9.根据权利要求8所述的系统,其特征在于,所述判断在发送数据包一个测试周期后进行。
10.根据权利要求8所述的系统,其特征在于,该系统还包括调整模块,用于在采样时刻T不是存储器访问时延时,调整采样时刻T的值,并清空所有计数器;
相应的,所述测试仪重新开始发送数据包,触发微码执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102414443A CN101740138B (zh) | 2009-12-02 | 2009-12-02 | 一种测试存储器访问时延的方法及系统 |
PCT/CN2010/076883 WO2011066758A1 (zh) | 2009-12-02 | 2010-09-14 | 测试存储器访问时延的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102414443A CN101740138B (zh) | 2009-12-02 | 2009-12-02 | 一种测试存储器访问时延的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101740138A true CN101740138A (zh) | 2010-06-16 |
CN101740138B CN101740138B (zh) | 2013-12-11 |
Family
ID=42463456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102414443A Active CN101740138B (zh) | 2009-12-02 | 2009-12-02 | 一种测试存储器访问时延的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101740138B (zh) |
WO (1) | WO2011066758A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011066758A1 (zh) * | 2009-12-02 | 2011-06-09 | 中兴通讯股份有限公司 | 测试存储器访问时延的方法及系统 |
WO2016082425A1 (zh) * | 2014-11-24 | 2016-06-02 | 中兴通讯股份有限公司 | 存储器的检测方法及网络处理器 |
CN110380927A (zh) * | 2019-07-08 | 2019-10-25 | 东软集团股份有限公司 | 一种报文延迟测试方法、设备及存储设备、程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1165845C (zh) * | 1998-11-03 | 2004-09-08 | 英特尔公司 | 对用于存储器子系统中的存储器装置的信道的传送延迟进行平衡的方法和装置 |
CN101446841A (zh) * | 2008-12-01 | 2009-06-03 | 炬才微电子(深圳)有限公司 | 确定存储器控制器时钟校准值的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101740138B (zh) * | 2009-12-02 | 2013-12-11 | 中兴通讯股份有限公司 | 一种测试存储器访问时延的方法及系统 |
-
2009
- 2009-12-02 CN CN2009102414443A patent/CN101740138B/zh active Active
-
2010
- 2010-09-14 WO PCT/CN2010/076883 patent/WO2011066758A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1165845C (zh) * | 1998-11-03 | 2004-09-08 | 英特尔公司 | 对用于存储器子系统中的存储器装置的信道的传送延迟进行平衡的方法和装置 |
CN101446841A (zh) * | 2008-12-01 | 2009-06-03 | 炬才微电子(深圳)有限公司 | 确定存储器控制器时钟校准值的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011066758A1 (zh) * | 2009-12-02 | 2011-06-09 | 中兴通讯股份有限公司 | 测试存储器访问时延的方法及系统 |
WO2016082425A1 (zh) * | 2014-11-24 | 2016-06-02 | 中兴通讯股份有限公司 | 存储器的检测方法及网络处理器 |
CN105703961A (zh) * | 2014-11-24 | 2016-06-22 | 中兴通讯股份有限公司 | 存储器的检测方法及网络处理器 |
CN110380927A (zh) * | 2019-07-08 | 2019-10-25 | 东软集团股份有限公司 | 一种报文延迟测试方法、设备及存储设备、程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2011066758A1 (zh) | 2011-06-09 |
CN101740138B (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160140045A1 (en) | Packet classification | |
CN109547343B (zh) | 一种流量调度方法及系统 | |
EP2643762A1 (en) | Method and apparatus for high performance, updatable, and deterministic hash table for network equipment | |
US20200328914A1 (en) | Packet transmission | |
US11653251B2 (en) | Packet forwarding method and apparatus | |
CN103888377A (zh) | 报文缓存方法及装置 | |
CN101740138B (zh) | 一种测试存储器访问时延的方法及系统 | |
CN108737007A (zh) | 一种时间同步方法、装置及设备 | |
CN108023829A (zh) | 报文处理方法及装置、存储介质、电子设备 | |
US20200036627A1 (en) | Detecting path | |
US20110126070A1 (en) | Resending Control Circuit, Sending Device, Resending Control Method and Resending Control Program | |
CN108243072A (zh) | 一种进行网络延时监控的方法与设备 | |
CN106789697B (zh) | 一种提高大批量网络流表老化效率的方法及装置 | |
CN105516023A (zh) | 一种报文转发方法和装置 | |
CN105335323A (zh) | 一种数据突发的缓存装置和方法 | |
CN105094742B (zh) | 一种写数据的方法和设备 | |
CN103685062A (zh) | 缓存管理方法及装置 | |
CN105264608A (zh) | 存储数据的方法、内存控制器和中央处理器 | |
CN104253713A (zh) | 一种监控环境下存储、读取数据包的方法及对应的装置 | |
CN108307223A (zh) | 电视页面数据的存储方法及装置 | |
US7342886B1 (en) | Method and apparatus for managing individual traffic flows | |
US20180227233A1 (en) | User traffic generation method and apparatus | |
CN115622945A (zh) | 一种报文处理方法及装置 | |
CN102232284B (zh) | 提高转发表访问性能的方法和装置 | |
CN108574610A (zh) | 一种压力测试方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |