高带宽存储器测试系统、测试方法及测试设备与流程

文档序号:24129665发布日期:2021-03-02 17:04阅读:208来源:国知局
高带宽存储器测试系统、测试方法及测试设备与流程

[0001]
本公开实施例涉及存储器测试技术领域,尤其涉及一种高带宽存储器测试系统、高带宽存储器测试方法及测试设备。


背景技术:

[0002]
高带宽存储器(high bandwidth memory,简称为hbm)是一种基于3d堆栈工艺的高性能动态随机存取存储器(dynamic random access memory,dram),其适用于高存储器带宽需求的应用场景,例如图形处理器,网络交换及转发设备如路由器、交换器等。
[0003]
在hbm的使用过程中,需根据应用场景需求配置使hbm处于对应模式下,进而测试得到hbm在对应模式下的运行状态数据从而获知一些性能指标参数,以方便反馈了解hbm的特性。但是目前还缺乏有效的针对hbm在使用过程中进行测试的相关技术方案。


技术实现要素:

[0004]
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种高带宽存储器测试系统、高带宽存储器测试方法及测试设备。
[0005]
第一方面,本公开实施例提供了一种高带宽存储器测试系统,包括:
[0006]
写单元,与待测试的高带宽存储器连接;
[0007]
读单元,与所述高带宽存储器连接;
[0008]
配置参数设置单元,用于设置所述高带宽存储器的配置参数,将所述配置参数发送至所述写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试;
[0009]
测试参数处理单元,用于将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数;
[0010]
运行信息处理单元,用于获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0011]
在本公开的一些实施例中,所述运行信息处理单元,还用于在所述测试指标参数未达到期望指标参数值时,生成新的测试参数并发送至所述测试参数处理单元;
[0012]
所述测试参数处理单元,还用于将新的测试参数发送至所述写单元,以使所述写单元将所述新的测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取新的测试参数;
[0013]
所述运行信息处理单元,还用于获取所述读单元和写单元新的运行结果,基于所述新的运行结果确定新的测试指标参数,在所述新的测试指标参数达到所述期望指标参数值时,输出当前新的测试指标参数以及对应的配置参数。
[0014]
在本公开的一些实施例中,所述写单元包括写引擎阵列,所述写引擎阵列通过axi
总线与所述高带宽存储器连接;所述读单元包括读引擎阵列,所述读引擎阵列通过axi总线与所述高带宽存储器连接;其中,所述写引擎阵列中的引擎总数以及所述读引擎阵列中的引擎总数均与所述高带宽存储器的通道数相同。
[0015]
在本公开的一些实施例中,所述测试参数包括指定数目的突发传输数据,突发传输的唯一标识id、突发传输的类型、每次突发传输的数据宽度、每次突发传输的数据量、每次突发传输的数据地址、以及相邻突发传输的数据地址间隔。
[0016]
在本公开的一些实施例中,所述配置参数包括以下任意一项或多项参数:
[0017]
高带宽存储器的通道激活参数、高带宽存储器的运行频率、高带宽存储器的外部参考时钟频率、高带宽存储器的全局地址检索参数、高带宽存储器的地址映射策略参数、axi端口激活参数、axi端口读/写数据的传输频率、写引擎激活数量、读引擎激活数量。
[0018]
在本公开的一些实施例中,所述测试指标参数包括带宽和/或延时。
[0019]
在本公开的一些实施例中,所述运行信息处理单元,具体用于:
[0020]
获取所述写单元的运行结果,所述运行结果包括写入所述测试参数的起止时间;
[0021]
基于写入所述测试参数的起止时间确定延时;
[0022]
在所述延时达到期望延时值时,输出当前的延时以及对应的配置参数。
[0023]
第二方面,本公开实施例提供一种高带宽存储器测试方法,包括:
[0024]
设置高带宽存储器的配置参数,将所述配置参数发送至写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试;
[0025]
将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数;
[0026]
获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0027]
在本公开的一些实施例中,还包括:
[0028]
在所述测试指标参数未达到期望指标参数值时,生成新的测试参数;
[0029]
将新的测试参数发送至所述写单元,以使所述写单元将所述新的测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取新的测试参数;
[0030]
获取所述读单元和写单元新的运行结果,基于所述新的运行结果确定新的测试指标参数,在所述新的测试指标参数达到所述期望指标参数值时,输出当前新的测试指标参数以及对应的配置参数。
[0031]
第三方面,本公开实施例提供一种测试设备,包括:
[0032]
写单元,与待测试的高带宽存储器的连接;
[0033]
读单元,与所述高带宽存储器的连接;
[0034]
处理器;以及
[0035]
存储器,用于存储所述处理器的可执行指令;
[0036]
其中,所述处理器配置为经由执行所述可执行指令来执行以下步骤:
[0037]
设置所述高带宽存储器的配置参数,将所述配置参数发送至所述写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试;
[0038]
将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述
高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数;
[0039]
获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0040]
本公开实施例提供的技术方案与现有技术相比具有如下优点:
[0041]
本公开实施例中,设置与待测试的高带宽存储器连接的写单元和读单元,通过配置参数设置单元设置高带宽存储器的配置参数,将所述配置参数发送至所述写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试,测试参数处理单元将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数,运行信息处理单元获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。这样,本实施例方案可以实现高带宽存储器的配置、测试以获取hbm的运行状态从而获知一些性能指标参数,为设计人员合理应用hbm提供及时反馈,以消除不利因素影响,提高hbm利用效率。同时该测试过程可以在设置配置参数后自动实现,无需人工调整,节省人力物力。另外,仅需要通过配置参数即可得到需要的测试结果,无需测试人员具备专业的例如硬件开发相关知识,为开发设计人员提供了极大的灵活性,方便使用。
附图说明
[0042]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0043]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044]
图1为本公开实施例高带宽存储器测试系统示意图;
[0045]
图2为本公开实施例高带宽存储器内部局部结构示意图;
[0046]
图3为本公开实施例中数据读写地址结构示意图;
[0047]
图4为本公开实施例高带宽存储器测试方法流程图;
[0048]
图5为本公开实施例中的测试设备示意图。
具体实施方式
[0049]
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0050]
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0051]
应当理解,在下文中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可
以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0052]
图1为本公开实施例示出的一种高带宽存储器测试系统示意图,该高带宽存储器测试系统可以包括:写单元101,与待测试的高带宽存储器hbm100连接。读单元102,与hbm100连接。配置参数设置单元103用于设置所述高带宽存储器的配置参数,将所述配置参数发送至所述写单元101和/或读单元102,以使所述写单元101和/或读单元102基于所述配置参数启动所述高带宽存储器的测试。测试参数处理单元104用于将配置的测试参数发送至所述写单元101,以使所述写单元101将所述测试参数写入所述高带宽存储器,所述读单元102从所述高带宽存储器中读取测试参数。运行信息处理单元105,用于获取所述读单元102和写单元101的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0053]
本实施例的高带宽存储器测试系统可以实现高带宽存储器的配置、测试以获取hbm的运行状态从而获知一些性能指标参数,为设计人员合理应用hbm提供及时反馈,以消除不利因素影响,提高hbm利用效率。同时该测试过程可以在设置配置参数后自动实现,无需人工调整,节省人力物力。另外,仅需要通过配置参数即可得到需要的测试结果,无需测试人员具备专业的例如硬件开发相关知识,为开发设计人员提供了极大的灵活性,方便使用。
[0054]
在本公开的一些实施例中,不同的配置参数对应hbm不同的应用场景,配置参数设置后在整个测试周期完成之前均维持不变。测试参数是具有最大值及最小值的数值范围,在该数值范围内可以动态调整测试参数大小,发起新一轮测试周期。期望指标参数值表示在当前的配置参数下,即hbm在当前的使用场景下使用时期望达到的性能指标如带宽和/或延时等。
[0055]
可选的,在本公开的一些实施例中,所述运行信息处理单元105,还用于在所述测试指标参数未达到期望指标参数值时,生成新的测试参数并发送至所述测试参数处理单元104。所述测试参数处理单元104,还用于将新的测试参数发送至所述写单元101,以使所述写单元101将所述新的测试参数写入所述高带宽存储器,所述读单元102从所述高带宽存储器中读取新的测试参数。所述运行信息处理单元105,还用于获取所述读单元102和写单元101新的运行结果,基于所述新的运行结果确定新的测试指标参数,在所述新的测试指标参数达到所述期望指标参数值时,输出当前新的测试指标参数以及对应的配置参数。在一些示例中,在所述新的测试指标参数未达到所述期望指标参数值时,再生成新的测试参数重复上述过程直至达到期望指标参数值或接近期望指标参数值如误差在90%以上等。
[0056]
本实施例的方案可以在指定测试参数范围内完成测试参数遍历,如此实现通过小样本测试数据量来及时获得hbm在不同配置参数条件下的运行状态,节省人力物力,也为设计人员合理应用hbm提供及时反馈,帮助设计人员对hbm的使用有一个整体的认知,获取一个最优或近似最优的配置参数,以消除不利因素影响,提高后续hbm的利用效率。另外,通过遍历多次测量可以减小误差,达到较为精确的测量结果。同时该测试系统的测试指标涵盖
带宽、延时等多种指标,适用范围广泛。
[0057]
具体的,hbm是一种新型的存储器件,堆叠的dram之间通过through silicon vias(tsv)连接。因此,堆叠而成的hbm仍具有dram的一些结构特性,如bank激活(bank activate)和预充电(precharge),刷新(refresh)等。以xinlinx公司的alveo系列产品为例,如图2所示,hbm分为左右两个堆栈stack,每个hbm堆栈都分为八个独立的存储通道(memory channel)mc0~mc7,其中每个存储通道又分为两个64位伪通道。只允许伪通道访问与其关联的hbm通道(hbm channel),该通道具有自己的内存地址区域。xilinx的hbm具有16个存储通道,32个伪通道和32个hbm通道。
[0058]
在16个存储通道的顶部,有32个与用户逻辑交互的axi通道(axi channel)。每个axi通道均遵循例如标准axi3协议,以提供标准化接口。每个axi通道都与一个hbm通道(或伪通道)相关联,因此每个axi通道仅被允许访问其自己的内存区域。为了使每个axi通道都能访问整个hbm空间,xilinx引入了在32个axi通道和32个伪通道之间的switch,如图2所示提供了八个微型switch,其中每个微型switch为四个axi通道及其相关的伪通道提供服务,使得在每个axi通道都可以访问同一微型switch中的任何伪通道,八个微型switch已被完全实现,具有相同的延迟和吞吐量。此外,两个相邻的微型switch之间有两个双向连接,用于全局寻址。
[0059]
总体来说,hbm分为左右两个stack,可分别表示为stack 0和stack1,每个stack下分4个switch,8个memory channel,16个hbm channel,每个hbm channel的数据位宽为64位,共计32gb。最大运行频率为900mhz,理论最大带宽为460gb/s。
[0060]
以峰值带宽为例,峰值带宽在hbm实际使用中受诸多因素影响,即
[0061]
bandwidth=f(θ1,θ2,l,θ
n
)
[0062]
其中,θ
i
,i=1,2,l n表示影响因素。多种因素之间可能会存在相互制约关系,如随机存取可能会带来带宽的短时提升,但hbm频繁地在激活和预充电状态之间切换会造成整体带宽下降,因此不能通过简单地增大或减小某一因素来提升带宽,或存在一个阈值限制带宽的进一步提升。同时,当需权衡多个运行指标时,增大带宽可能会导致其他指标的衰减。因此当在多种因素之间权衡时,通过上述测试系统可以综合考量多种因素的共同影响,以此来将配置参数设置为最优解或近似最优解,以消除不利因素影响,提高后续hbm的利用效率。
[0063]
可选的,在本公开的一些实施例中,所述写单元101包括写引擎阵列,所述写引擎阵列通过axi总线与所述高带宽存储器连接;所述读单元102包括读引擎阵列,所述读引擎阵列通过axi总线与所述高带宽存储器连接;其中,所述写引擎阵列中的引擎总数以及所述读引擎阵列中的引擎总数均与所述高带宽存储器的通道数如hbm通道(channel)的数量相同。
[0064]
示例性的,写引擎(write engine)的数量为32,可以同时对每一个hbm通道发起写入操作。读引擎(read engine)的数量为32,可以同时对每一个hbm通道发起读取操作。如此可以使得测试过程较为高效的执行,提高测试效率。
[0065]
可选的,在本公开的一些实施例中,所述测试参数包括但不限于指定数目的突发传输数据,突发传输的唯一标识id、突发传输的类型、每次突发传输的数据宽度、每次突发传输的数据量、每次突发传输的数据地址、以及相邻突发传输的数据地址间隔。
engine)激活数量,大小为1~32,最大数量为32,可以保证同时对每一个hbm通道发起读取操作,默认32。
[0072]
可选的,在本公开的一些实施例中,所述测试指标参数包括但不限于带宽和/或延时。带宽的单位为gb/s,需要测量时,将带宽指标测量指示位置为有效。延时的单位为ms,需要测量时,将延时指标测量指示位置为有效。
[0073]
可选的,在本公开的一些实施例中,所述运行信息处理单元105,具体用于:获取所述写单元101如写引擎阵列的运行结果,所述运行结果包括写入所述测试参数的起止时间;基于写入所述测试参数的起止时间确定延时;在所述延时达到期望延时值时,输出当前的延时以及对应的配置参数。
[0074]
在一个具体示例中,本实施例方案整个测试过程可以分为以下阶段:
[0075]
初始输入阶段:确定所有测试参数、配置参数及期望指标值。
[0076]
示例性的,配置参数在整个测试周期完成之前均维持不变,配置参数的不同反映了hbm不同的使用场景;测试参数是包含最大值和最小值的数值范围,以使在该数值范围内可动态调整测试参数大小,发起新一轮测试周期;设置期望指标值如延时和带宽,例如可将相应测试指示位置为有效并设置具体期望指标值。
[0077]
参数配置阶段:依据场景需要选择配置参数,将配置参数传输至写引擎阵列或者读引擎阵列,以使写引擎阵列或者读引擎阵列完成hbm配置。
[0078]
示例性的,依据配置参数完成hbm的配置工作,此时hbm的测试环境已经完善,可以接收测试数据进行测试。
[0079]
测试阶段:测试参数发至写引擎阵列,开始测试周期,写引擎阵列发出操作请求如写操作请求至hbm,读引擎阵列发出操作请求如读操作请求至hbm,并将操作结果反馈至运行处理单元105。运行处理单元105在接收到操作结果数据后,计算出实时的带宽或延时信息,在计算的带宽或延时未达到期望带宽或延时指标值时,由运行处理单元105自动在指定测试参数范围内改变测试参数大小,重新进行测量,直至达到期望带宽或延时指标值。
[0080]
具体的,hbm数据操作场景一般可分为先完整写入,之后暂停写入转而进行读取操作;或者先写入部分数据后,再进行同时读写。写引擎阵列(write engine array)和读引擎阵列(read engine array)最大引擎数量为32,可以保证同时对每一个hbm通道发起读写。读写引擎通过axi总线与hbm进行交互,因此在进行传输数据时需进行握手,即valid信号(表示发送方所发送数据有效)和ready信号(表示接收方准备就绪可以接收数据)同时有效时才能进行数据传输。
[0081]
当仅测试hbm峰值带宽而不考虑传输的准确性时,可以始终饱和发出数据,即每一个时钟周期均发出数据,接收方hbm以尽力而为的状态从输入数据流中获取数据,其在一段时间内最终获取的数据数量代表了其在此测试条件即相应配置参数下的带宽上限。因此,在进行写入时,写引擎(write engine)可以始终保持地址和数据的有效性,即valid信号始终保持有效。在接收到hbm的ready信号时,发出新的地址和数据,直至发送完指定数目的突发burst传输数据,如图3所示。
[0082]
同理,读引擎(read engine)在进行峰值带宽测量时,可以设定始终处于准备就绪状态,即ready信号始终有效。发出读地址后,从hbm中读取指定数目的突发burst传输数据。
[0083]
运行处理单元105获取写引擎发送完指定数目的突发burst传输数据的起始和截
止时间,进而可计算出平均延时指标,即完成一个测试周期。在计算上述延时指标时,为了减小误差,测试结果基本覆盖所有测试参数情况,基于同一配置参数改变测试参数大小,实现多次运行测试过程取平均值。当未达到期望指标值时,由系统自动在预先人为限定的测试参数种类和测试参数范围间改变参数大小,发送至读写引擎发起新的测试周期以提升测试指标,不断参数遍历,直至指标达到期望指标值。
[0084]
输出结果阶段:在达到期望指标值如期望带宽或延时指标值时,输出此时的配置参数即最优配置参数或在趋近该期望指标值时的次优配置参数。若在指定测试参数范围内始终无法达到期望指标值时,可以输出接近于该期望指标值的配置参数及趋近该期望指标值时的其他配置参数。
[0085]
本实施例中通过系统自动配置参数,在参数设置方面为设计人员提供灵活性。在对hbm进行基准测试时,无需频繁地重新配置,如频繁配置fpga等。通过本实施例的测试方案,可以获悉在不同场景下hbm的例如峰值带宽等指标,为设计人员合理应用hbm新型存储设备提供及时反馈,以消除不利因素影响,提高hbm利用效率。
[0086]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0087]
基于同一构思,本公开实施例提供一种高带宽存储器测试方法,该测试方法可基于上述实施例的测试系统实现,如图4中所示,该测试方法可以包括以下步骤:
[0088]
步骤s401:设置高带宽存储器的配置参数,将所述配置参数发送至写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试。
[0089]
步骤s402:将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数。
[0090]
步骤s403:获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0091]
在本公开的一些实施例中,所述方法还包括以下步骤:
[0092]
步骤i):在所述测试指标参数未达到期望指标参数值时,生成新的测试参数;
[0093]
步骤ii):将新的测试参数发送至所述写单元,以使所述写单元将所述新的测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取新的测试参数;
[0094]
步骤iii):获取所述读单元和写单元新的运行结果,基于所述新的运行结果确定新的测试指标参数,在所述新的测试指标参数达到所述期望指标参数值时,输出当前新的测试指标参数以及对应的配置参数。
[0095]
在本公开的一些实施例中,所述写单元包括写引擎阵列,所述写引擎阵列通过axi总线与所述高带宽存储器连接;所述读单元包括读引擎阵列,所述读引擎阵列通过axi总线与所述高带宽存储器连接;其中,所述写引擎阵列中的引擎总数以及所述读引擎阵列中的
引擎总数均与所述高带宽存储器的通道数相同。
[0096]
可选的,在本公开的一些实施例中,所述测试参数包括但不限于指定数目的突发传输数据,突发传输的唯一标识id、突发传输的类型、每次突发传输的数据宽度、每次突发传输的数据量、每次突发传输的数据地址、以及相邻突发传输的数据地址间隔。
[0097]
可选的,在本公开的一些实施例中,所述配置参数包括但不限于以下任意一项或多项参数:
[0098]
高带宽存储器的通道激活参数、高带宽存储器的运行频率、高带宽存储器的外部参考时钟频率、高带宽存储器的全局地址检索参数、高带宽存储器的地址映射策略参数、axi端口激活参数、axi端口读/写数据的传输频率、写引擎激活数量、读引擎激活数量。
[0099]
可选的,在本公开的一些实施例中,所述测试指标参数包括但不限于带宽和/或延时。
[0100]
可选的,在本公开的一些实施例中,所述方法还包括以下步骤:
[0101]
获取所述写单元的运行结果,所述运行结果包括写入所述测试参数的起止时间;
[0102]
基于写入所述测试参数的起止时间确定延时;
[0103]
在所述延时达到期望延时值时,输出当前的延时以及对应的配置参数。
[0104]
关于上述实施例中的方法,其中各个步骤执行操作的具体方式以及带来的相应技术效果已经在有关该系统的上述实施例中进行了对应的详细描述,此处将不做详细阐述说明。
[0105]
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
[0106]
参考图5中所示,本公开实施例还提供一种测试设备,该测试设备可以包括写单元101、读单元102、处理器501以及存储器502,写单元101与待测试的高带宽存储器hbm100连接,读单元102与hbm100连接,存储器502用于存储所述处理器501的可执行指令;其中,所述处理器501配置为经由执行所述可执行指令来执行以下步骤:
[0107]
设置所述高带宽存储器的配置参数,将所述配置参数发送至所述写单元和/或读单元,以使所述写单元和/或读单元基于所述配置参数启动所述高带宽存储器的测试;
[0108]
将配置的测试参数发送至所述写单元,以使所述写单元将所述测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取测试参数;
[0109]
获取所述读单元和写单元的运行结果,基于所述运行结果确定测试指标参数,在所述测试指标参数达到期望指标参数值时,输出当前的测试指标参数以及对应的配置参数。
[0110]
在本公开的一些实施例中,所述处理器501配置为经由执行所述可执行指令还执行以下步骤:
[0111]
在所述测试指标参数未达到期望指标参数值时,生成新的测试参数;
[0112]
将新的测试参数发送至所述写单元,以使所述写单元将所述新的测试参数写入所述高带宽存储器,所述读单元从所述高带宽存储器中读取新的测试参数;
[0113]
获取所述读单元和写单元新的运行结果,基于所述新的运行结果确定新的测试指标参数,在所述新的测试指标参数达到所述期望指标参数值时,输出当前新的测试指标参数以及对应的配置参数。
[0114]
在本公开的一些实施例中,所述写单元包括写引擎阵列,所述写引擎阵列通过axi总线与所述高带宽存储器连接;所述读单元包括读引擎阵列,所述读引擎阵列通过axi总线与所述高带宽存储器连接;其中,所述写引擎阵列中的引擎总数以及所述读引擎阵列中的引擎总数均与所述高带宽存储器的通道数相同。
[0115]
在本公开的一些实施例中,所述测试参数包括指定数目的突发传输数据,突发传输的唯一标识id、突发传输的类型、每次突发传输的数据宽度、每次突发传输的数据量、每次突发传输的数据地址、以及相邻突发传输的数据地址间隔。
[0116]
在本公开的一些实施例中,所述配置参数包括以下任意一项或多项参数:
[0117]
高带宽存储器的通道激活参数、高带宽存储器的运行频率、高带宽存储器的外部参考时钟频率、高带宽存储器的全局地址检索参数、高带宽存储器的地址映射策略参数、axi端口激活参数、axi端口读/写数据的传输频率、写引擎激活数量、读引擎激活数量。
[0118]
在本公开的一些实施例中,所述测试指标参数包括带宽和/或延时。
[0119]
在本公开的一些实施例中,所述处理器501配置为经由执行所述可执行指令来具体执行以下步骤:
[0120]
获取所述写单元的运行结果,所述运行结果包括写入所述测试参数的起止时间;
[0121]
基于写入所述测试参数的起止时间确定延时;
[0122]
在所述延时达到期望延时值时,输出当前的延时以及对应的配置参数。
[0123]
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0124]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0125]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1