CN111930581A - 一种内存接口测试方法、装置、设备及可读存储介质 - Google Patents
一种内存接口测试方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111930581A CN111930581A CN202010820128.8A CN202010820128A CN111930581A CN 111930581 A CN111930581 A CN 111930581A CN 202010820128 A CN202010820128 A CN 202010820128A CN 111930581 A CN111930581 A CN 111930581A
- Authority
- CN
- China
- Prior art keywords
- data
- memory interface
- hash value
- memory
- module
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种内存接口测试方法、装置、设备及计算机可读存储介质,该方法包括:获取第一数据,并生成第一数据对应的第一散列值;根据地址序列将第一数据写入内存;根据地址序列从内存中读取第二数据,并生成第二数据对应的第二散列值;根据第一散列值和第二散列值的匹配结果确定内存接口测试结果;通过生成散列值的方式,可以避免内存接口测试所占用的内存过大的问题,同时可以选择任意的第一数据进行测试,使测试不存在数据盲点,保证了内存接口测试的可靠性。
Description
技术领域
本申请涉及硬件测试技术领域,特别涉及一种内存接口测试方法、内存接口测试装置、内存接口测试设备及计算机可读存储介质。
背景技术
目前,FPGA芯片性能越来越强,FPGA组成的系统越来越复杂,FPGA片上的内存接口速率越来越快,内存容量越来越高,给硬件设计带来了更大的挑战。一般在FPGA系统设计前,需要对系统中各种关键接口进行性能和稳定性测试,确保接口的硬件设计可用。其中DDR(DDR SDRAM,双倍速率同步动态随机存储器)接口(即内存接口)是FPGA系统中尤为关键的接口,DDR接口的测试是必须进行的一项测试工作。为了减少FPGA内存接口测试时所占用的内存大小,相关技术在写入测试数据时,一般将内存地址作为测试数据写入内存。由于测试数据固定单一,因此会使得测试存在数据盲点,无法保证测试可靠性。
因此,如何解决测试存在数据盲点,无法保证测试可靠性的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种内存接口测试方法、内存接口测试装置、内存接口测试设备及计算机可读存储介质,使内存接口测试不存在数据盲点,保证了内存接口测试的可靠性。
为解决上述技术问题,本申请提供了一种内存接口测试方法,包括:
获取第一数据,并生成所述第一数据对应的第一散列值;
根据地址序列通过内存接口将所述第一数据写入内存;
根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值;
根据所述第一散列值和所述第二散列值的匹配结果确定内存接口测试结果。
可选地,所述根据所述第一散列值和所述第二散列值的匹配结果确定内存接口测试结果,包括:
将所述第一散列值与所述第二散列值进行匹配,判断是否相同;
若相同,则确定所述内存接口测试结果为正常;
若不相同,则确定所述内存接口测试结果为异常。
可选地,还包括:
利用硬件电路对所述第一散列值进行记录。
可选地,所述获取第一数据,包括:
按照递增生成规则或伪随机生成规则生成所述第一数据。
可选地,在所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据之前,还包括:
利用当前时刻和数据写入时刻得到数据写入时长;
判断所述数据写入时长是否大于预设时长;
若大于所述预设时长,则执行所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值的步骤。
可选地,在所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据之前,还包括:
读取数据写入标志,判断所述数据写入标志是否为写入完成标志;
若为所述写入完成标志,则执行所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值的步骤。
本申请还提供了一种内存接口测试设备,包括数据写入模块、数据读取模块、计算校验模块;
所述数据写入模块,用于获取第一数据,并根据地址序列通过内存接口将所述第一数据写入内存;将所述第一数据发送给计算校验模块;
所述数据读取模块,用于根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并将所述第二数据发送给所述计算校验模块;
所述计算校验模块,用于生成所述第一数据对应的第一散列值;生成所述第二数据对应的第二散列值;利用所述第一散列值和所述第二散列值得到内存接口测试结果。
可选地,还包括数据生成模块和地址生成模块;
所述数据生成模块,用于生成所述第一数据,并将所述第一数据发送给所述数据写入模块;
所述地址生成模块,用于生成所述地址序列,并将所述地址序列发送给所述数据写入模块和所述数据读取模块。
本申请还提供了一种内存接口测试装置,包括:
获取模块,用于获取第一数据,并生成所述第一数据对应的第一散列值;
写入模块,用于根据地址序列通过内存接口将所述第一数据写入内存;
读取模块,用于根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值;
结果生成模块,用于根据所述第一散列值和所述第二散列值的匹配判断结果得到内存接口测试结果。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的内存接口测试方法。
本申请提供的内存接口测试方法,获取第一数据,并生成第一数据对应的第一散列值;根据地址序列将第一数据写入内存;根据地址序列从内存中读取第二数据,并生成第二数据对应的第二散列值;根据第一散列值和第二散列值的匹配结果确定内存接口测试结果。
可见,该方法在获取第一数据后将其写入内存中指定的位置,即根据地址序列将第一数据写入。且生成第一数据对应的第一散列值,第一散列值占用空间较小,不会造成占用过大内存进行内存接口测试的问题。在根据地址序列从内存中读取第二数据后,利用同样的方法生成第二数据对应的第二散列值,通过将第一散列值和第二散列值进行匹配,得到对应的匹配结果,匹配结果可以显示读出的第二数据是否正确,进而体现出内存接口是否正常,因此可以利用第一散列值和第二散列值的匹配结果确定内存接口测试结果。通过生成散列值的方式,可以避免内存接口测试所占用的存储空间过大的问题,同时可以选择任意的第一数据进行测试,使测试不存在数据盲点,保证了内存接口测试的可靠性。
此外,本申请还提供了一种内存接口测试装置、内存接口测试设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种内存接口测试方法流程图;
图2为本申请实施例提供的一种内存接口测试设备的结构示意图;
图3为本申请实施例提供的另一种内存接口测试设备的结构示意图;
图4为本申请实施例提供的一种内存接口测试装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一种可能的实施方式中,请参考图1,图1为本申请实施例提供的一种内存接口测试方法流程图。该方法包括:
S101:获取第一数据,并生成第一数据对应的第一散列值。
本申请实施例中的部分或全部步骤可以由内存接口测试设备执行,内存接口测试设备可以为专门用于测试FPGA设备、FPGA板卡上内存接口的设备;或者优选的,内存接口测试设备可以为FPGA设备或FPGA板卡本身,即FPGA设备或FPGA板卡可以通过执行本申请实施例中的步骤对自身的内存接口进行测试。
第一数据为测试数据,即用于对内存测试接口的写入或读出能力进行测试的数据,其可以为任意内容,例如由数字或字符构成的序列,需要说明的是,为了避免出现测试盲点,第一数据可以为任意可能写入的数据形式;其长度也可以为任意长度,具体长度可以根据想要测试的待存内存地址而确定。第一数据可以预先生成后存储,在进行内存接口测试时调用获取;或者可以在进行内存接口测试时生成并获取,具体的生成方式不做限定。
在获取第一数据后,需要先将第一数据通过内存接口写入内存,再通过内存接口从内存中读出第二数据,整个过程需要一定时间,在此过程中需要对第一数据进行保存。为了减少保存第一数据所占用的存储空间(例如内存)的大小,本实施例中将第一数据利用散列值的形式进行保存。具体的,第一散列值即为利用散列算法对第一数据进行处理后得到的散列值,散列算法计算出一个数字消息所对应的长度固定的字符串(又称消息摘要)的算法。利用散列算法,我们可以将占用存储空间较大的第一数据映射为占用存储空间较小的第一散列值。对第一散列值进行存储,可以避免内存接口测试过程占用较多存储空间的问题。在一种可能的实施方式中,可以将第一散列值存入内存中,比将第一数据直接存入内存中占用的存储空间小得多。在另一种实施方式中,可以利用硬件电路对第一散列值进行记录,例如利用高低电平以二进制的形式对第一散列值进行记录,不会占用任何存储空间。
进一步,为了提高内存接口测试的可靠性,避免测试出现数据盲点,本实施例优选的,获取第一数据的过程可以包括:
步骤11:按照递增生成规则或伪随机生成规则生成第一数据。
递增生成规则可以生成递增数列,利用递增数列作为第一数据可以对全部可能的情况进行测试,避免测试出现数据盲点。伪随机生成规则可以生成伪随机数列,伪随机数列中元素的值呈近似随机分布,同样可以对任何可能的情况进行测试,避免测试出现数据盲点。同时,在每次获取第一数据时,按照伪随机生成规则生成第一数据,可以避免在每一次测试中均采用相同的第一数据进行测试,进一步提高测试的可靠性。
S102:根据地址序列通过内存接口将第一数据写入内存。
在获取第一数据后,通过内存接口将第一数据写入内存,具体写入位置为地址序列。通过内存接口将第一数据写入到地址序列,可以对内存接口向地址序列写入数据的能力进行测试。通过修改地址序列,可以对内存接口对整个内存写入数据的能力进行测试。地址序列的长度和具体内容不做限定,可以根据需要进行设置,或者可以随机生成。具体的写入过程和方式可以参考相关技术,本实施例在此不做赘述。
需要说明的是,本实施例并不限定S102步骤和S101步骤中生成第一散列值的步骤的执行顺序,在一种实施方式中,可以先生成第一散列值,再将第一数据写入内存;在另一种实施方式中,可以在获取到第一数据后,在生成第一散列值的同时将第一数据写入内存。
S103:根据地址序列通过内存接口从内存中读取第二数据,并生成第二数据对应的第二散列值。
在第一数据写入完成后,通过内存接口将内存中地址序列对应位置存储的第二数据读出,在读出第二数据后,生成第二数据对应的第二散列值,需要说明的是,第二散列值的生成方式和第一散列值的生成方式相同,具体采用何种散列算法不做限定,例如可以为MD5算法。MD5算法即为Message-Digest Algorithm,是HASH函数一种加密算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),一般不同数字消息的MD5值不同,可根据MD5值来确保信息传输完整一致。MD5算法具有极高的可靠性,虽然存在一定的碰撞概率(即不同的序列经过MD5算法计算可能得到相同的MD5值,无法确认相同的MD5值对应相同的数据),但此概率非常低,约为1/(10e28)。如果需要更高可靠性的校验,可以采用更加可靠的散列算法计算第一散列值和第二散列值,例如采用SHA-2(Secure Hash Algorithm 2,安全散列算法2)等。
进一步,由于第一数据的写入过程需要一定时间,为了防止在第一数据写入完成前就读出第二数据,导致检测出现错误的情况,可以在确定第一数据写入完毕后再执行S103步骤。在一种实施方式中,在S103步骤之前还可以包括:
步骤21:利用当前时刻和数据写入时刻得到数据写入时长。
步骤22:判断数据写入时长是否大于预设时长。
步骤23:若大于预设时长,则执行根据地址序列通过内存接口从内存中读取第二数据的步骤。
数据写入时刻即为开始写入第一数据的时刻,当前时刻即为当前获取到的时刻,利用当前时刻与数据写入时刻相减可以得到数据写入时长,数据写入时长即为第一数据开始写入内存这一状态持续的时长。通过将数据写入时长与预设时长相比较,可以判断第一数据是否写入完成。预设时长的具体大小可以固定不变,也可以随着第一数据的长度而改变。预设时长可以等于写入第一数据所需的时长;或者可以比写入第一数据所需的时长更长,以便留出一定的时长空间,保证第一数据全部被写入。在数据写入时长大于预设时长后,可以确定第一数据已经被全部写入到内存中,因此可以执行根据地址序列通过内存接口从内存中读取第二数据的步骤。
在第一数据写入时,可能出现需要重复写入的情况(例如出现故障),或者可能出现非常理想的高速写入的情况。不同的写入情况所需的第一数据的写入时长也不同。因此在另一种实施方式中,可以检测数据写入标志。具体的,在S103步骤之前还可以包括:
步骤31:读取数据写入标志,判断数据写入标志是否为写入完成标志。
步骤32:若为写入完成标志,则执行根据地址序列通过内存接口从内存中读取第二数据的步骤。
数据写入标志用于表示第一数据的写入情况,在第一数据开始写入内存后,可以读取数据写入标志,并判断是否为写入完成标志。本实施例并不限定数据写入标志的具体形式,例如可以为0或1的标志位,当数据写入标志位0时,代表写入未完成;当数据写入标志为1时,代表写入完成。在确定数据写入标志为写入完成标志后,可以执行根据地址序列通过内存接口从内存中读取第二数据的步骤。
需要说明的是,步骤21至步骤23和步骤31至步骤32两个实施方式均可以被称为第一数据写入确定步骤。本实施例并不限定第一数据写入确定步骤的执行频率,例如可以在第一数据开始写入后实施执行,或者可以在第一数据开始写入后按照预设周期执行。
S104:根据第一散列值和第二散列值的匹配结果确定内存接口测试结果。
在生成第二散列值后,将第一散列值和第二散列值进行匹配,判断第一散列值和第二散列值是否相同,得到匹配结果,并根据匹配结果确定对应的内存接口测试结果。具体的,S104步骤可以包括:
步骤41:将第一散列值与第二散列值进行匹配,判断是否相同。
步骤42:若相同,则确定内存接口测试结果为正常。
步骤43:若不相同,则确定内存接口测试结果为异常。
若第一散列值和第二散列值相同,则说明第一数据与第二数据相同,因此可以确定在第一数据写入和第二数据读出的过程中内存接口均正常,因此可以确定内存接口测试结果为异常。若第一散列值和第二散列值不相同,则说明在第一数据写入和/或第二数据读出的过程中内存接口出现异常,因此可以确定内存接口测试结果为异常。
进一步,在得到内存接口测试结果后,还可以执行其他操作,例如输出内存接口测试结果,或者可以利用内存接口测试结果生成测试报告、更新日志等。
应用本申请实施例提供的内存接口测试方法,在获取第一数据后将其写入内存中指定的位置,即根据地址序列将第一数据写入。且生成第一数据对应的第一散列值,第一散列值占用空间较小,不会造成占用过大内存进行内存接口测试的问题。在根据地址序列从内存中读取第二数据后,利用同样的方法生成第二数据对应的第二散列值,通过将第一散列值和第二散列值进行匹配,得到对应的匹配结果,匹配结果可以显示读出的第二数据是否正确,进而体现出内存接口是否正常,因此可以利用第一散列值和第二散列值的匹配结果确定内存接口测试结果。通过生成散列值的方式,可以避免内存接口测试所占用的存储空间过大的问题,同时可以选择任意的第一数据进行测试,使测试不存在数据盲点,保证了内存接口测试的可靠性。
下面对本申请实施例提供的内存接口测试设备进行介绍,下文描述的内存接口测试设备与上文描述的内存接口测试方法可相互对应参照。
请参考图2,图2为本申请实施例提供的一种内存接口测试设备的结构示意图,其中,内存接口测试设备包括数据写入模块、数据读取模块、计算校验模块;
数据写入模块,用于获取第一数据,并根据地址序列通过内存接口将第一数据写入内存;将第一数据发送给计算校验模块。
数据读取模块,用于根据地址序列通过内存接口从内存中读取第二数据,并将第二数据发送给计算校验模块。
计算校验模块,用于生成第一数据对应的第一散列值;生成第二数据对应的第二散列值;利用第一散列值和第二散列值得到内存接口测试结果。
应用本申请实施例提供的内存接口测试设备,在获取第一数据后将其写入内存中指定的位置,即根据地址序列将第一数据写入。且生成第一数据对应的第一散列值,第一散列值占用空间较小,不会造成占用过大内存进行内存接口测试的问题。在根据地址序列从内存中读取第二数据后,利用同样的方法生成第二数据对应的第二散列值,通过将第一散列值和第二散列值进行匹配,得到对应的匹配结果,匹配结果可以显示读出的第二数据是否正确,进而体现出内存接口是否正常,因此可以利用第一散列值和第二散列值的匹配结果确定内存接口测试结果。通过生成散列值的方式,可以避免内存接口测试所占用的存储空间过大的问题,同时可以选择任意的第一数据进行测试,使测试不存在数据盲点,保证了内存接口测试的可靠性。
进一步,在一种可能的实施方式中,内存接口测试设备还包括数据生成模块和地址生成模块;
数据生成模块,用于生成第一数据,并将第一数据发送给数据写入模块;
地址生成模块,用于生成地址序列,并将地址序列发送给数据写入模块和数据读取模块。
从图2可以看出,内存接口测试设备可以为FPGA设备本身,其可以具有内存接口,数据写入模块可以通过FPGA设备本身的内存接口向内存中写入第一数据,数据读取模块可以通过该内存接口从内存中读取第二数据。具体的,内存接口可以根据所需要内存类型(DDR3、DDR4等)进行设置,提供FPGA写入和读取内存的接口。数据生成模块根据测试的设定,以一定形式生成待写入的数据数列,即第一数据,例如生成递增数列或者伪随机数列等。地址生成模块按照测试的设定,以一定的形式生成地址序列,供数据写入模块和数据读取模块使用。数据写入模块将写入数据序列通过内存接口写入内存,写入时按照地址生成模块提供的地址序列进行写入。数据读取模块按照同样的地址序列将内存中的数据读取出来。数据写入模块和数据读取模块分别将写入数据和读取数据送入计算校验模块。计算校验模块采用散列算法对写入数据序列和读取数据序列的一致性进行计算和校验。计算校验模块采用安全散列算法,例如MD5算法,分别计算写入数据序列和读取数据序列的MD5值,然后比对两个MD5值是否一致。如果一致,则可基本确认写入数据和读取数据序列相同,即内存接口的写入操作和读取操作正确。以MD5算法为例,写入第一数据结束后,计算对应的第一散列值,即得到写入第一数据的MD5值,可以记为MD5_write;读取第二数据结束后,得到第二数据的MD5值,可以记为MD5_read。然后比对两个MD5值,如果MD5_write等于MD5_read,则表示此次内存接口测试正确,被测的内存接口正常,否则表示此次内存接口测试错误,即被测的内存接口异常。
请参考图3,图3为本申请实施例提供的一种内存接口测试设备的结构示意图。其中内存接口测试设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制内存接口测试设备100的整体操作,以完成上述的内存接口测试方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在内存接口测试设备100的操作,这些数据例如可以包括用于在该内存接口测试设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,SRAM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于内存接口测试设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
内存接口测试设备100可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器(Digital SignalProcessor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的内存接口测试方法。
下面对本申请实施例提供的内存接口测试装置进行介绍,下文描述的内存接口测试装置与上文描述的内存接口测试方法可相互对应参照。
请参考图4,图4为本申请实施例提供的一种内存接口测试装置的结构示意图,包括:
获取模块110,用于获取第一数据,并生成第一数据对应的第一散列值;
写入模块120,用于根据地址序列通过内存接口将第一数据写入内存;
读取模块130,用于根据地址序列通过内存接口从内存中读取第二数据,并生成第二数据对应的第二散列值;
结果生成模块140,用于根据第一散列值和第二散列值的匹配判断结果得到内存接口测试结果。
可选地,结果生成模块140,包括:
匹配判断单元,用于将第一散列值与第二散列值进行匹配,判断是否相同;
正常确定单元,用于若相同,则确定内存接口测试结果为正常;
异常确定单元,用于若不相同,则确定内存接口测试结果为异常。
可选地,还包括:
电路记录模块,用于利用硬件电路对所述第一散列值进行记录。
可选地,获取模块110,包括:
第一数据生成单元,用于按照递增生成规则或伪随机生成规则生成第一数据。
可选地,还包括:
时长获取模块,用于利用当前时刻和数据写入时刻得到数据写入时长;
时长判断模块,用于判断数据写入时长是否大于预设时长;
相应的,读取模块130为若大于预设时长,则根据地址序列通过内存接口从内存中读取第二数据,并生成第二数据对应的第二散列值的模块。
可选地,还包括:
标志判断模块,用于读取数据写入标志,判断数据写入标志是否为写入完成标志;
相应的,读取模块130为若为写入完成标志,则根据地址序列通过内存接口从内存中读取第二数据,并生成第二数据对应的第二散列值的模块。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的内存接口测试方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的内存接口测试方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种内存接口测试方法,其特征在于,包括:
获取第一数据,并生成所述第一数据对应的第一散列值;
根据地址序列通过内存接口将所述第一数据写入内存;
根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值;
根据所述第一散列值和所述第二散列值的匹配结果确定内存接口测试结果。
2.根据权利要求1所述的内存接口测试方法,其特征在于,所述根据所述第一散列值和所述第二散列值的匹配结果确定内存接口测试结果,包括:
将所述第一散列值与所述第二散列值进行匹配,判断是否相同;
若相同,则确定所述内存接口测试结果为正常;
若不相同,则确定所述内存接口测试结果为异常。
3.根据权利要求1所述的内存接口测试方法,其特征在于,还包括:
利用硬件电路对所述第一散列值进行记录。
4.根据权利要求1所述的内存接口测试方法,其特征在于,所述获取第一数据,包括:
按照递增生成规则或伪随机生成规则生成所述第一数据。
5.根据权利要求1至4任一项所述的内存接口测试方法,其特征在于,在所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据之前,还包括:
利用当前时刻和数据写入时刻得到数据写入时长;
判断所述数据写入时长是否大于预设时长;
若大于所述预设时长,则执行所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值的步骤。
6.根据权利要求1至4任一项所述的内存接口测试方法,其特征在于,在所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据之前,还包括:
读取数据写入标志,判断所述数据写入标志是否为写入完成标志;
若为所述写入完成标志,则执行所述根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值的步骤。
7.一种内存接口测试设备,其特征在于,包括数据写入模块、数据读取模块、计算校验模块;
所述数据写入模块,用于获取第一数据,并根据地址序列通过内存接口将所述第一数据写入内存;将所述第一数据发送给计算校验模块;
所述数据读取模块,用于根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并将所述第二数据发送给所述计算校验模块;
所述计算校验模块,用于生成所述第一数据对应的第一散列值;生成所述第二数据对应的第二散列值;利用所述第一散列值和所述第二散列值得到内存接口测试结果。
8.根据权利要求7所述的设备,其特征在于,还包括数据生成模块和地址生成模块;
所述数据生成模块,用于生成所述第一数据,并将所述第一数据发送给所述数据写入模块;
所述地址生成模块,用于生成所述地址序列,并将所述地址序列发送给所述数据写入模块和所述数据读取模块。
9.一种内存接口测试装置,其特征在于,包括:
获取模块,用于获取第一数据,并生成所述第一数据对应的第一散列值;
写入模块,用于根据地址序列通过内存接口将所述第一数据写入内存;
读取模块,用于根据所述地址序列通过所述内存接口从所述内存中读取第二数据,并生成所述第二数据对应的第二散列值;
结果生成模块,用于根据所述第一散列值和所述第二散列值的匹配判断结果得到内存接口测试结果。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的内存接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820128.8A CN111930581A (zh) | 2020-08-14 | 2020-08-14 | 一种内存接口测试方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820128.8A CN111930581A (zh) | 2020-08-14 | 2020-08-14 | 一种内存接口测试方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930581A true CN111930581A (zh) | 2020-11-13 |
Family
ID=73310458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010820128.8A Withdrawn CN111930581A (zh) | 2020-08-14 | 2020-08-14 | 一种内存接口测试方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930581A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579371A (zh) * | 2020-12-03 | 2021-03-30 | 中山市江波龙电子有限公司 | 存储装置的测试方法、测试装置、测试系统 |
CN113140251A (zh) * | 2021-04-21 | 2021-07-20 | 深圳市研强物联技术有限公司 | 一种在产线测试中检测ram的方法及系统 |
CN113780017A (zh) * | 2021-09-03 | 2021-12-10 | 珠海格力电器股份有限公司 | 近场通信触发方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106205736A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种测试方法及测试设备 |
CN107797881A (zh) * | 2017-12-06 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种数据一致性测试方法、装置、设备及存储介质 |
CN110633198A (zh) * | 2018-06-22 | 2019-12-31 | 中链科技有限公司 | 基于区块链的软件测试数据的存储方法及系统 |
CN110990207A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 |
-
2020
- 2020-08-14 CN CN202010820128.8A patent/CN111930581A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106205736A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种测试方法及测试设备 |
CN107797881A (zh) * | 2017-12-06 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种数据一致性测试方法、装置、设备及存储介质 |
CN110633198A (zh) * | 2018-06-22 | 2019-12-31 | 中链科技有限公司 | 基于区块链的软件测试数据的存储方法及系统 |
CN110990207A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579371A (zh) * | 2020-12-03 | 2021-03-30 | 中山市江波龙电子有限公司 | 存储装置的测试方法、测试装置、测试系统 |
CN113140251A (zh) * | 2021-04-21 | 2021-07-20 | 深圳市研强物联技术有限公司 | 一种在产线测试中检测ram的方法及系统 |
CN113140251B (zh) * | 2021-04-21 | 2023-02-10 | 深圳市研强物联技术有限公司 | 一种在产线测试中检测ram的方法及系统 |
CN113780017A (zh) * | 2021-09-03 | 2021-12-10 | 珠海格力电器股份有限公司 | 近场通信触发方法、装置、电子设备和存储介质 |
CN113780017B (zh) * | 2021-09-03 | 2024-02-09 | 珠海格力电器股份有限公司 | 近场通信触发方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930581A (zh) | 一种内存接口测试方法、装置、设备及可读存储介质 | |
CN110992992B (zh) | 一种硬盘测试方法、设备以及存储介质 | |
US20160320451A1 (en) | Simulation verification method for fpga function modules and system thereof | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
CN110727597B (zh) | 一种基于日志排查无效代码补全用例的方法 | |
CN111145826B (zh) | 一种存储器内建自测试方法、电路及计算机存储介质 | |
US20120221903A1 (en) | Testing method, non-transitory, computer readable storage medium and testing apparatus | |
CN105304140A (zh) | 电子设备的存储器性能的测试方法及装置 | |
CN112486519A (zh) | 配置嵌入式产品的方法及设备 | |
CN112133357A (zh) | 一种eMMC的测试方法及装置 | |
CN111367710B (zh) | 一种eMMC问题还原方法和装置 | |
JP6103958B2 (ja) | 半導体記憶装置 | |
CN113470723A (zh) | 读重试测试方法、装置、可读存储介质及电子设备 | |
CN112468296B (zh) | 一种密钥编程方法、系统、电子设备及存储介质 | |
JP2007058450A (ja) | 半導体集積回路 | |
US20200293402A1 (en) | Candidate bit detection and utilization for error correction | |
KR20160005988A (ko) | 반도체 장치의 어레이 퓨즈 테스트 방법 | |
CN107766221B (zh) | 一种读时延测试方法、系统、设备及计算机存储介质 | |
CN111258878A (zh) | 应用测试方法、装置、设备及存储介质 | |
CN110673999B (zh) | 一种硬盘数据搬移测试方法、装置及电子设备和存储介质 | |
CN117112452B (zh) | 寄存器模拟配置方法、装置、计算机设备和存储介质 | |
JP3036442B2 (ja) | メモリ監視方式 | |
JP4985462B2 (ja) | 集積回路、集積回路の動作試験方法および動作試験プログラム | |
CN114968068A (zh) | 具有单次可编程存储器的电子装置及其写入与读取方法 | |
CN116069576A (zh) | 异常下电检测方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201113 |