CN113254289B - 基于NVMe磁盘阵列的单机测试方法、装置及系统 - Google Patents

基于NVMe磁盘阵列的单机测试方法、装置及系统 Download PDF

Info

Publication number
CN113254289B
CN113254289B CN202110650304.2A CN202110650304A CN113254289B CN 113254289 B CN113254289 B CN 113254289B CN 202110650304 A CN202110650304 A CN 202110650304A CN 113254289 B CN113254289 B CN 113254289B
Authority
CN
China
Prior art keywords
data
nvme
disk array
codebook
sending
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.)
Active
Application number
CN202110650304.2A
Other languages
English (en)
Other versions
CN113254289A (zh
Inventor
喻世德
胡成昌
刘晓平
邓翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhuomu Technology Co.,Ltd.
Original Assignee
Wuhan Zmvision Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Zmvision Technology Co ltd filed Critical Wuhan Zmvision Technology Co ltd
Priority to CN202110650304.2A priority Critical patent/CN113254289B/zh
Publication of CN113254289A publication Critical patent/CN113254289A/zh
Application granted granted Critical
Publication of CN113254289B publication Critical patent/CN113254289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2221Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

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)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了一种基于NVMe磁盘阵列的单机测试方法、装置及系统,该方法包括以下步骤:通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性。本发明提高了数据读写带宽和数据存储容量,同时可实现超大码本的发送和比对,解决了嵌入式设备高带宽测试的问题,解决了测试中的复杂、非规律大码本实时比对问题。

Description

基于NVMe磁盘阵列的单机测试方法、装置及系统
技术领域
本发明涉及嵌入式设备测试领域,尤其涉及一种基于NVMe磁盘阵列的单机测试方法、装置及系统。
背景技术
嵌入式设备在使用之前,需要对设备的核心算法处理单元、数据传输单元和管理控制单元等进行测试和验证。这类测试通常需要完成测试数据发送、测试数据接收分析和测试数据存储等功能。
为满足高速数据处理需求和大码本测试需求,现有测试技术一般使用多设备并行处理的方式,设备集成度低,且无法使用超大的真实数据或码本来模拟复杂场景;为满足大容量存储需求,现有测试技术一般采用存储服务器的方式,实时存储带宽较低且需要额外配置存储服务器;为满足高速数据分析比对需求,现有测试技术一般进行规律码本序列的解析和错误统计,或采用先存储后比对的方式进行数据比对,无法实现真实数据、大码本数据的实时比对处理。
发明内容
本发明的目的在于提供一种基于NVMe磁盘阵列的单机测试方法、装置及系统,旨在通过NVMe磁盘阵列的方式,提高测试数据发送速率和测试数据的存储容量,同时具备发送真实数据的功能和实时分析复杂数据的功能。
本发明是这样实现的:
第一方面,本发明提供一种基于NVMe磁盘阵列的单机测试方法,包括以下步骤:
通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性。
进一步地,采用NVMe磁盘阵列对码本数据进行预置存储具体包括:
对码本数据进行NVMe封包预处理,形成NVMe数据包;
对NVMe磁盘阵列进行初始化处理;
将NVMe数据包缓存在DDR4存储模块中;
读出DDR4存储模块中的NVMe数据包,将其分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中;
启动NVMe磁盘阵列各个磁盘的写操作;
记录文件序号以及文件起始和结束地址,NVMe磁盘阵列写盘完成。
进一步地,将码本数据从NVMe磁盘阵列中读出具体包括:
对NVMe磁盘阵列进行初始化处理;
分别启动NVMe磁盘阵列中各个磁盘的读处理,通过XDMA操作将数据读出;
将从各个磁盘读出的各组数据分别放入各个不同的缓存;
依次读出缓存中的各组数据,每个缓存每次读取一包数据,读出的数据组装成完整的NVME包;
去掉NVMe包头信息,有效数据部分放入DDR4缓存模块,NVMe磁盘阵列读处理完成。
进一步地,所述将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理具体包括:
对接收数据的辅助数据区和有效数据区添加标识,缓存在不同的FIFO中,分别为辅助数据缓存和有效数据缓存;
将对应的接收比对用的码本数据从NVMe磁盘阵列中读出;
开始数据的比对处理,首先从辅助数据缓存中读出辅助数据,按照辅助数据长度设置,解析辅助数据的帧计数字段,判断帧计数的连续性;然后,从有效数据缓存中读出有效数据,将其与从NVMe磁盘阵列中读出的数据进行逐字节比较,判断是否有字节错误,统计错误状态和错误数据。
进一步地,该方法还包括:当接收数据为非规律数据时,采用NVMe磁盘阵列对接收数据进行采集存储,具体包括:
将接收数据的全部有效数据放入FIFO缓存;
从FIFO中读出数据,并对数据进行打包处理,数据包头包含数据定位字段、包计数器、包长度、有效数据长度、文件大小、文件存盘地址;
控制NVMe磁盘阵列写操作,将打包处理后的数据存入NVMe磁盘阵列中,完成接收数据的存盘。
进一步地,所述通过软件造数生成测试数据包括生成规律码本数据以及对真实数据进行导入和封装,具体包括:
接收用户选择的数据帧生成模式以及配置的辅助数据区内容和有效数据区内容,其中辅助数据区内容包括固定字段和可定义字段,有效数据区内容包括规律码本生成或外部文件导入;
根据用户配置的辅助数据区内容以及有效数据区内容,生成帧数据作为测试数据。
第二方面,本发明还提供一种基于NVMe磁盘阵列的单机测试装置,包括:
造数软件模块,用于通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送模块,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析模块,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性。
第三方面,本发明还提供一种基于NVMe磁盘阵列的单机测试系统,包括:
造数软件模块,用于生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送装置,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析装置,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性;
测试管理装置,用于对测试流程和操作动作进行控制,实现测试系统的集成化管理。
进一步地,所述数据模拟发送装置和所述数据接收解析装置均包括网络通信控制模块、MPSOC芯片模块、DDR4存储模块、NVMe磁盘阵列、PCIE对外接口模块、时钟模块以及电源模块;其中,网络通信控制模块和PCIE对外接口模块均用于本装置和测试管理装置之间的控制信息处理和数据传输;DDR4存储模块用于缓存中间处理数据;NVMe磁盘阵列用于存储码本数据;时钟模块用于提供各功能模块的工作时钟;电源模块用于提供本装置工作的电源;MPSOC芯片模块包括ARM处理器和FPGA,用于控制本装置的工作流程;所述数据模拟发送装置还包括发送接口模块,用于将发送码本数据发送给待测设备;所述数据接收解析装置还包括接收接口模块,用于接收待测设备发送的数据。
进一步地,所述测试管理装置包括网络控制模块、PCIE控制模块、文件管理控制模块、发送控制模块、接收控制模块、状态统计模块、平台管理库模块以及用户界面模块;其中:网络控制模块用于和系统中其他装置进行网络通信;PCIE控制模块用于和系统中具备PCIE对外接口的装置进行控制处理和数据传输处理;文件管理控制模块用于和ARM处理器进行信息交互,管理NVMe磁盘阵列的分区信息;发送控制模块用于控制数据模拟发送装置,包括设备的开始和停止、发送的速率、发送的时序和发送的接口协议选择;接收控制模块用于控制数据接收解析装置,包括设备的开始和停止、数据的比对参数、接收数据的存储设置;状态统计模块用于汇总各装置工作状态、版本信息、NVMe磁盘阵列文件信息、比对错误信息;平台管理库模块用于整个测试管理装置各模块的交互控制和接口控制;用户界面模块用于实现用户界面,包括操作按钮、状态显示、文件显示功能。
与现有技术相比,本发明具有以下有益效果:
本发明提供的这种基于NVMe磁盘阵列的单机测试方法、装置及系统,采用NVMe磁盘阵列技术,使用多块NVMe SSD组成阵列,提高了数据读写带宽和数据存储容量,同时可实现超大码本的发送和比对,解决了嵌入式设备高带宽测试的问题,提高了设备的集成度、灵活性和通用性;本发明支持超高的数据处理带宽和超大的数据存储容量,解决了现有测试中超大真实码本高速发送的问题,同时配合造数软件,实现了测试数据帧格式的灵活定制,提高了测试的通用性;本发明将接收比对用的码本数据存储在磁盘阵列中,对测试接口接收的数据和磁盘读出的码本数据进行比对,解决了测试中的复杂、非规律大码本实时比对问题;本发明支持超高速的数据存储带宽,支持多路接收数据的并行存储,并对存储文件进行管理,方便接收数据的查看和分析。
附图说明
图1为本发明实施例提供的一种基于NVMe磁盘阵列的单机测试方法测试方法的流程图;
图2为本发明实施例提供的一种基于NVMe磁盘阵列的单机测试方法测试装置的方框图;
图3为本发明实施例提供的一种基于NVMe磁盘阵列的单机测试方法测试系统的框架图;
图4 为本发明实施例提供的数据模拟发送装置的结构框图;
图5为本发明实施例提供的NVMe磁盘阵列的写处理流程图;
图6 为本发明实施例提供的NVMe磁盘阵列的读处理流程图;
图7为本发明实施例提供的数据接收解析装置的结构框图;
图8为本发明实施例提供的数据接收解析装置实时比对流程图;
图9为本发明实施例提供的数据接收解析装置数据存储流程图;
图10 为本发明实施例提供的测试管理装置的结构框图;
图11为本发明实施例提供的造数软件模块的处理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于NVMe磁盘阵列的单机测试方法,包括以下步骤:
S1、通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
具体地,可以通过生成测试数据的人机交互软件即造数软件实现测试数据的生成,其中,发送码本数据可以是造数软件按照待测设备输入要求生成的规律码本数据,也可以是真实数据经造数软件进行导入和封装生成的数据,真实数据例如从待测设备的上游设备取出的数据。接收比对用的码本数据是以发送码本数据为基础,按照处理要求(如模拟待测设备的功能来生成),生成的用来比对的数据。测试任务开始前,测试者利用造数软件根据具体测试任务生成符合要求的测试数据。
S2、采用NVMe磁盘阵列将发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
NVMe磁盘阵列为采用多个NVMe SSD组成的磁盘阵列,数据存储带宽高,数据存储容量大,比多块独立的SSD使用方式,传输带宽更高。通过采用NVMe磁盘阵列对发送码本数据进行预置存储,可以支持更复杂的测试数据、更大的测试文件和更高的测试带宽。
S3、采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性,可在测试设备内部用硬件进行处理;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性。
通过采用NVMe磁盘阵列来缓存接收比对用的码本数据,可以实现复杂大码本的实时比对。
细化上述实施例,采用NVMe磁盘阵列对码本数据进行预置存储具体包括:
对码本数据进行NVMe封包预处理,形成NVMe数据包;
对NVMe磁盘阵列进行初始化处理;
将NVMe数据包缓存在DDR4存储模块中;
读出DDR4存储模块中的NVMe数据包,将其分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中;
启动NVMe磁盘阵列各个磁盘的写操作;
记录文件序号以及文件起始和结束地址,NVMe磁盘阵列写盘完成。
细化上述实施例,将码本数据从NVMe磁盘阵列中读出具体包括:
对NVMe磁盘阵列进行初始化处理;
分别启动NVMe磁盘阵列中各个磁盘的读处理,通过XDMA操作将数据读出;
将从各个磁盘读出的各组数据分别放入各个不同的缓存;
依次读出缓存中的各组数据,每个缓存每次读取一包数据,读出的数据组装成完整的NVME包;
去掉NVMe包头信息,有效数据部分放入DDR4缓存模块,NVMe磁盘阵列读处理完成。
细化上述实施例,所述将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理具体包括:
对接收数据的辅助数据区和有效数据区添加标识,缓存在不同的FIFO中,分别为辅助数据缓存和有效数据缓存;
将对应的接收比对用的码本数据从NVMe磁盘阵列中读出;
开始数据的比对处理,首先从辅助数据缓存中读出辅助数据,按照辅助数据长度设置,解析辅助数据的帧计数字段,判断帧计数的连续性;然后,从有效数据缓存中读出有效数据,将其与从NVMe磁盘阵列中读出的数据进行逐字节比较,判断是否有字节错误,统计错误状态和错误数据。
优选地,该方法还包括:当接收数据为非规律数据时,采用NVMe磁盘阵列对接收数据进行采集存储,无需额外配置存储服务器。存储之前对数据进行预处理,包括数据的标签封装和数据的复接合并处理,完成数据预处理之后,将数据按照固定包长写入NVMe磁盘阵列,具体包括:
将接收数据的全部有效数据放入FIFO缓存;
从FIFO中读出数据,并对数据进行打包处理,数据包头包含数据定位字段、包计数器、包长度、有效数据长度、文件大小、文件存盘地址;
控制NVMe磁盘阵列写操作,将打包处理后的数据存入NVMe磁盘阵列中,完成接收数据的存盘。
细化上述实施例,所述通过软件造数生成测试数据包括生成规律码本数据以及对真实数据进行导入和封装,具体包括:
接收用户选择的数据帧生成模式以及配置的辅助数据区内容和有效数据区内容,其中辅助数据区内容包括固定字段和可定义字段,不需要辅助数据可直接跳过,有效数据区内容包括规律码本生成或外部文件导入;
根据用户配置的辅助数据区内容以及有效数据区内容,生成帧数据作为测试数据。
为了制造更复杂的数据,需要进行数据拆分合并等处理,比如提供一个原始数据,仅需要使用其中部分数据发送,就需要拆分数据;如果提供的多个文件需要组合成一个文件进行发送,就需要合并处理。则所述通过软件造数生成测试数据还包括:
接收用户选择的数据合并拆分模式以及配置的数据合并或拆分规则,其中合并规则有两种模式:按照固定字节比例合并和按照设定长度进行字节间插合并;拆分规则有两种模式:按列提取数据和按行提取数据;
根据用户配置的数据合并或拆分规则,生成复杂帧数据,造数完成。
基于同一发明构思,本发明实施例还提供一种基于NVMe磁盘阵列的单机测试装置,由于该装置解决技术问题的原理与上述方法实施例类似,因此该装置的实施可以参照上述方法实施例,重复之处不再赘述。
如图2所示,为本发明实施例提供的一种基于NVMe磁盘阵列的单机测试装置,该装置包括:
造数软件模块,用于通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送模块,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析模块,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性。
如图3所示,本发明实施例还提供一种基于NVMe磁盘阵列的单机测试系统,用于实现上述实施例的方法,该系统包括:
造数软件模块,用于生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送装置,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析装置,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性;
测试管理装置,用于对测试流程和操作动作进行控制,实现测试系统的集成化管理。具体用于完成造数、数据发送控制、数据比对控制、数据存储控制等处理,实现高集成化的测试系统。测试管理装置还可以实现数据发送端和数据接收端的联动控制,以满足复杂测试场景需求。
细化上述实施例,如图4和图7所示,所述数据模拟发送装置和所述数据接收解析装置均包括网络通信控制模块、MPSOC芯片模块、DDR4存储模块、NVMe磁盘阵列、PCIE对外接口模块、时钟模块以及电源模块;其中,网络通信控制模块和PCIE对外接口模块均用于本装置和测试管理装置之间的控制信息处理和数据传输,根据应用场景,选择网络控制或PCIE控制;DDR4存储模块用于缓存中间处理数据;NVMe磁盘阵列用于存储码本数据;时钟模块用于提供各功能模块的工作时钟;电源模块用于提供本装置工作的12V电源;MPSOC芯片模块包括ARM处理器和FPGA,用于控制本装置的工作流程;所述数据模拟发送装置还包括发送接口模块,实现测试需要的硬件接口功能,用于将发送码本数据发送给待测设备,还可以包括数据发送处理模块,用于完成测试数据的速率控制、接口协议控制等处理;所述数据接收解析装置还包括接收接口模块,用于接收待测设备发送的数据。
数据模拟发送装置的核心为MPSOC芯片模块,MPSOC芯片为Xilinx公司新推出的超大规模异构处理SOC,由ARM处理器和FPGA(可编程逻辑阵列)组成。本实施例中MPSOC芯片模块外挂4个NVMe SSD组成的NVMe磁盘阵列,实现磁盘的阵列管理、数据的发送处理、发送接口的时序处理等。
具体地,数据模拟发送装置的MPSOC芯片模块的处理流程如下:
第一步,将造数软件模块生成的测试数据文件通过PCIE对外接口模块传输到FPGA中,启动NVMe磁盘阵列的写处理。测试开始前,将需要的码本文件、真实数据文件等,都按照该流程预先存储到NVMe磁盘阵列中,这些文件由ARM处理器进行管理和记录。设备掉电后,不需要重新进行文件写入处理;
第二步,选择需要发送的码本文件,启动测试。ARM处理器首先完成阵列的初始化,然后开始NVMe磁盘阵列的读处理,读出的码本数据放入DDR缓存模块;
第三步,从DDR4缓存模块中取出数据,按照测试需求的发送速率、数据位宽、发送协议等进行发送;
第四步,符合测试要求的数据发送给物理层接口,开始和待测设备对接。
如图5所示,进一步细化地,所述数据模拟发送装置或者所述数据接收解析装置的NVMe磁盘阵列的写处理流程如下:
第一步,对要烧录的码本数据进行NVMe封包预处理,形成NVMe数据包;这里的NVMe数据包为自定义格式,由包头和有效数据区组成,数据包头包含数据定位字段、包计数器、包长度、有效数据长度、所属文件大小、所属文件存盘地址等。码本文件的NVMe格式封装,由造数软件模块完成;
第二步,装置启动,对NVMe磁盘阵列进行初始化处理;
第三步,测试管理装置将预处理后的NVMe数据包通过PCIE对外接口模块传输到FPGA,FPGA将数据缓存在DDR4存储模块中;
第四步,FPGA读出DDR4存储模块的NVMe数据包,将其分成多组,依次放入NVMe磁盘阵列的各个磁盘中;本实施例中NVMe磁盘阵列包括4个NVMe磁盘,因此将NVMe数据包分成4组,依次放入4个不同的缓存区域;4个缓存区域分别对应NVMe磁盘阵列中的4个磁盘;
第五步,同时启动NVMe磁盘阵列各个磁盘的写操作;
第六步,测试管理装置记录文件序号和文件起始和结束地址,NVMe磁盘阵列写盘完成。
如图6所示,进一步细化地,所述数据模拟发送装置或者所述数据接收解析装置的NVMe磁盘阵列的读处理流程如下:
第一步,装置启动,对NVMe磁盘阵列进行初始化处理,启动磁盘阵列读处理;
第二步,对驱动层下发待读取码本数据的序号、地址区间信息;
第三步,分别启动NVMe磁盘阵列中4个磁盘的读处理,通过XDMA操作将数据读出;
第四步,读出的4组数据分别放入4个不同缓存;
第五步,依次读出1、2、3、4缓存,每个缓存每次读取一包数据,读出的数据组装成完整的NVME包;
第六步,去掉NVMe包头信息,有效数据部分放入DDR4缓存模块供下一步操作使用,NVMe磁盘阵列读处理完成。
数据接收解析装置的接收接口模块将接收数据通过高速接口发送给MPSOC芯片;MPSOC芯片接收数据之后,可进行数据实时比对或将数据存储到NVMe磁盘阵列中。
如图8所示,进一步细化地,所述数据接收解析装置将接收数据与接收比对用码本数据进行比对处理的流程如下:
第一步,FPGA从接收接口模块接收数据,对接收数据的辅助数据区和有效数据区添加标识,缓存在不同的FIFO中,分别为辅助数据缓存和有效数据缓存;
第二步,ARM处理器控制NVMe磁盘阵列读操作,将对应的接收比对用的码本数据从磁盘中读出;处理流程和数据发送装置一致:ARM处理器完成阵列的初始化之后,开始NVMe磁盘阵列的读操作,根据文件地址信息,发送DMA指令,将文件内容逐包从4个NVMe SSD中读出。读出的数据由FPGA逻辑去掉NVMe包头信息,有效数据部分按照先后顺序组装后放入DDR4存储模块中进行缓存;
第三步,开始数据的比对处理,首先从辅助数据缓存中读出辅助数据,按照辅助数据长度设置,解析辅助数据的帧计数字段,判断帧计数的连续性;然后,从有效数据缓存读出有效数据,将其和NVMe磁盘阵列读出的数据进行逐字节比较,判断是否有字节错误;如果发现数据错误,则将错误帧放入缓存FIFO中,为错误数据上传做准备;
第四步,将统计的错误状态和错误数据上传给测试管理装置。
如图9所示,进一步细化地,当接收数据为非规律数据时,所述数据接收解析装置对接收数据进行存储,存储流程如下:
第一步,FPGA从接收接口模块接收数据,将全部有效数据放入FIFO缓存;
第二步,从FIFO中读出数据后,FPGA对数据进行打包处理,数据包头包含数据定位字段、包计数器、包长度、有效数据长度、文件大小、文件存盘地址;
第三步,由ARM处理器控制NVMe磁盘阵列写操作,完成接收数据的存盘。
如图10所示,进一步细化地,所述测试管理装置包括网络控制模块、PCIE控制模块、文件管理控制模块、发送控制模块、接收控制模块、状态统计模块、平台管理库模块以及用户界面模块;其中:网络控制模块用于和系统中其他装置进行网络通信;PCIE控制模块用于和系统中具备PCIE对外接口的装置进行控制处理和数据传输处理;文件管理控制模块用于和ARM处理器进行信息交互,管理NVMe磁盘阵列的分区信息;发送控制模块用于控制数据模拟发送装置,包括设备的开始和停止、发送的速率、发送的时序和发送的接口协议选择;接收控制模块用于控制数据接收解析装置,包括设备的开始和停止、数据的比对参数、接收数据的存储设置;状态统计模块用于汇总各装置工作状态、版本信息、NVMe磁盘阵列文件信息、比对错误信息;平台管理库模块用于整个测试管理装置各模块的交互控制和接口控制;用户界面模块用于实现用户界面,包括操作按钮、状态显示、文件显示功能。
进一步细化地,所述造数软件模块的基本数据封装分为三个基本区域:辅助数据区、有效数据区和数据校验区,这三个基本单元的内容和长度可以任意定制。其中辅助数据区用来生成帧头、帧计数、帧开销字段等数据;有效数据区用来承载有效数据,如规律码本或者导入文件等;数据校验区用来生成自定义帧校验核。造数软件模块通过这三个基本封装单元完成测试数据的生成,根据测试需求,可以生成规律数据如递增数、递减数、棋盘格数据、PN码等、带辅助数据信息的规律数据或者对导入的真实数据进行处理和封装。
如图11所示,进一步细化地,造数软件模块的处理流程如下:
第一步,造数软件启动,选择数据帧生成模式或数据合并拆分模式;
第二步,如选择数据帧生成模式,则先配置辅助数据格式,然后配置有效数据区内容。辅助数据部分包含固定字段和可定义字段,不需要辅助数据可直接跳过;有效数据区内容可选择规律码本生成或外部文件导入。如选择数据合并拆分模式,则需要配置数据合并或拆分规则,其中合并规则有两种模式:按照固定字节比例合并和按照设定长度进行字节间插合并;拆分规则有两种模式:按列提取数据和按行提取数据;
第三步,根据配置,生成帧数据,造数完成。
需要说明的是,上述造数软件模块可以单独设置或者集成在其他装置中,本实施例中造数软件模块集成在所述测试管理装置中,由测试管理装置进行控制管理。
综上所述,本发明实施例提供的这种基于NVMe磁盘阵列的单机测试方法、装置及系统,采用NVMe磁盘阵列技术,使用多块NVMe SSD组成阵列,提高了数据读写带宽和数据存储容量,同时可实现超大码本的发送和比对,解决了嵌入式设备高带宽测试的问题,提高了设备的集成度、灵活性和通用性;本发明支持超高的数据处理带宽和超大的数据存储容量,解决了现有测试中超大真实码本高速发送的问题,同时配合造数软件,实现了测试数据帧格式的灵活定制,提高了测试的通用性;本发明将接收比对用的码本数据存储在磁盘阵列中,对测试接口接收的数据和磁盘读出的码本数据进行比对,解决了测试中的复杂、非规律大码本实时比对问题;本发明支持超高速的数据存储带宽,支持多路接收数据的并行存储,并对存储文件进行管理,方便接收数据的查看和分析。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于NVMe磁盘阵列的单机测试方法,其特征在于,包括以下步骤:
通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性;
采用NVMe磁盘阵列对码本数据进行预置存储包括:对码本数据进行NVMe封包预处理,形成NVMe数据包;将NVMe数据包分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中。
2.如权利要求1所述的基于NVMe磁盘阵列的单机测试方法,其特征在于,采用NVMe磁盘阵列对码本数据进行预置存储具体包括:
对码本数据进行NVMe封包预处理,形成NVMe数据包;
对NVMe磁盘阵列进行初始化处理;
将NVMe数据包缓存在DDR4存储模块中;
读出DDR4存储模块中的NVMe数据包,将其分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中;
启动NVMe磁盘阵列各个磁盘的写操作;
记录文件序号以及文件起始和结束地址,NVMe磁盘阵列写盘完成。
3.如权利要求1所述的基于NVMe磁盘阵列的单机测试方法,其特征在于,将码本数据从NVMe磁盘阵列中读出具体包括:
对NVMe磁盘阵列进行初始化处理;
分别启动NVMe磁盘阵列中各个磁盘的读处理,通过XDMA操作将数据读出;
将从各个磁盘读出的各组数据分别放入各个不同的缓存;
依次读出缓存中的各组数据,每个缓存每次读取一包数据,读出的数据组装成完整的NVME包;
去掉NVMe包头信息,有效数据部分放入DDR4缓存模块,NVMe磁盘阵列读处理完成。
4.如权利要求1所述的基于NVMe磁盘阵列的单机测试方法,其特征在于,所述将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理具体包括:
对接收数据的辅助数据区和有效数据区添加标识,缓存在不同的FIFO中,分别为辅助数据缓存和有效数据缓存;
将对应的接收比对用的码本数据从NVMe磁盘阵列中读出;
开始数据的比对处理,首先从辅助数据缓存中读出辅助数据,按照辅助数据长度设置,解析辅助数据的帧计数字段,判断帧计数的连续性;然后,从有效数据缓存中读出有效数据,将其与从NVMe磁盘阵列中读出的数据进行逐字节比较,判断是否有字节错误,统计错误状态和错误数据。
5.如权利要求1所述的基于NVMe磁盘阵列的单机测试方法,其特征在于当接收数据为非规律数据时,采用NVMe磁盘阵列对接收数据进行采集存储,具体包括:
将接收数据的全部有效数据放入FIFO缓存;
从FIFO中读出数据,并对数据进行打包处理,数据包头包含数据定位字段、包计数器、包长度、有效数据长度、文件大小、文件存盘地址;
控制NVMe磁盘阵列写操作,将打包处理后的数据存入NVMe磁盘阵列中,完成接收数据的存盘。
6.如权利要求1所述的基于NVMe磁盘阵列的单机测试方法,其特征在于,所述通过软件造数生成测试数据包括生成规律码本数据以及对真实数据进行导入和封装,具体包括:
接收用户选择的数据帧生成模式以及配置的辅助数据区内容和有效数据区内容,其中辅助数据区内容包括固定字段和可定义字段,有效数据区内容包括规律码本生成或外部文件导入;
根据用户配置的辅助数据区内容以及有效数据区内容,生成帧数据作为测试数据。
7.一种基于NVMe磁盘阵列的单机测试装置,其特征在于,包括:
造数软件模块,用于通过软件造数生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送模块,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析模块,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性;
采用NVMe磁盘阵列对码本数据进行预置存储包括:对码本数据进行NVMe封包预处理,形成NVMe数据包;将NVMe数据包分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中。
8.一种基于NVMe磁盘阵列的单机测试系统,其特征在于,包括:
造数软件模块,用于生成测试数据,测试数据包含发送码本数据和接收比对用的码本数据;
数据模拟发送装置,用于采用NVMe磁盘阵列对发送码本数据进行预置存储,测试时将发送码本数据从NVMe磁盘阵列中读出,发送给待测设备;
数据接收解析装置,用于采用NVMe磁盘阵列对接收比对用的码本数据进行预置存储,接收待测设备发送的数据,当接收数据为规律数据时,根据规律数据生成方式进行数据比对,验证接收数据的正确性;当接收数据为非规律数据时,将接收比对用的码本数据从NVMe磁盘阵列中读出并与接收数据进行比对处理,验证接收数据的正确性;
测试管理装置,用于对测试流程和操作动作进行控制,实现测试系统的集成化管理;
采用NVMe磁盘阵列对码本数据进行预置存储包括:对码本数据进行NVMe封包预处理,形成NVMe数据包;将NVMe数据包分成与NVMe磁盘阵列的磁盘数量对应的多组,依次放入NVMe磁盘阵列的各个磁盘中。
9.如权利要求8所述的基于NVMe磁盘阵列的单机测试系统,其特征在于:所述数据模拟发送装置和所述数据接收解析装置均包括网络通信控制模块、MPSOC芯片模块、DDR4存储模块、NVMe磁盘阵列、PCIE对外接口模块、时钟模块以及电源模块;其中,网络通信控制模块和PCIE对外接口模块均用于本装置和测试管理装置之间的控制信息处理和数据传输;DDR4存储模块用于缓存中间处理数据;NVMe磁盘阵列用于存储码本数据;时钟模块用于提供各功能模块的工作时钟;电源模块用于提供本装置工作的电源;MPSOC芯片模块包括ARM处理器和FPGA,用于控制本装置的工作流程;所述数据模拟发送装置还包括发送接口模块,用于将发送码本数据发送给待测设备;所述数据接收解析装置还包括接收接口模块,用于接收待测设备发送的数据。
10.如权利要求9所述的基于NVMe磁盘阵列的单机测试系统,其特征在于:所述测试管理装置包括网络控制模块、PCIE控制模块、文件管理控制模块、发送控制模块、接收控制模块、状态统计模块、平台管理库模块以及用户界面模块;其中:网络控制模块用于和系统中其他装置进行网络通信;PCIE控制模块用于和系统中具备PCIE对外接口的装置进行控制处理和数据传输处理;文件管理控制模块用于和ARM处理器进行信息交互,管理NVMe磁盘阵列的分区信息;发送控制模块用于控制数据模拟发送装置,包括设备的开始和停止、发送的速率、发送的时序和发送的接口协议选择;接收控制模块用于控制数据接收解析装置,包括设备的开始和停止、数据的比对参数、接收数据的存储设置;状态统计模块用于汇总各装置工作状态、版本信息、NVMe磁盘阵列文件信息、比对错误信息;平台管理库模块用于整个测试管理装置各模块的交互控制和接口控制;用户界面模块用于实现用户界面,包括操作按钮、状态显示、文件显示功能。
CN202110650304.2A 2021-06-11 2021-06-11 基于NVMe磁盘阵列的单机测试方法、装置及系统 Active CN113254289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110650304.2A CN113254289B (zh) 2021-06-11 2021-06-11 基于NVMe磁盘阵列的单机测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110650304.2A CN113254289B (zh) 2021-06-11 2021-06-11 基于NVMe磁盘阵列的单机测试方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113254289A CN113254289A (zh) 2021-08-13
CN113254289B true CN113254289B (zh) 2021-10-15

Family

ID=77187559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110650304.2A Active CN113254289B (zh) 2021-06-11 2021-06-11 基于NVMe磁盘阵列的单机测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113254289B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165153A (zh) * 2018-09-06 2019-01-08 华泰证券股份有限公司 一种高仿真证券业交易类系统的性能测试方法
CN109194544A (zh) * 2018-09-03 2019-01-11 长安大学 一种基于euht技术的车路通信测试平台及测试方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2345605A1 (en) * 2001-04-30 2002-10-30 Robert A. Abbott Method of testing embedded memory array and embedded memory controller for use therewith
CN101615030A (zh) * 2009-01-09 2009-12-30 西安邮电学院 一种嵌入式系统测试用的数据采集器
CN102402474B (zh) * 2010-09-10 2014-08-13 中兴通讯股份有限公司 可编程逻辑器件原型验证装置
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
CN103117797B (zh) * 2013-02-27 2015-03-04 哈尔滨工业大学 高速载荷数据模拟源
CN106933757A (zh) * 2017-03-14 2017-07-07 郑州云海信息技术有限公司 一种扩展fpga存储资源的方法
CN110569162B (zh) * 2018-06-06 2020-10-16 大唐移动通信设备有限公司 一种通信领域中fpga的自动测试方法及装置
CN112306766A (zh) * 2019-07-31 2021-02-02 伊姆西Ip控股有限责任公司 用于错误检测的方法、电子设备、存储系统和计算机程序产品
CN111475436A (zh) * 2020-04-07 2020-07-31 成都智明达电子股份有限公司 一种基于pcie交换网络的嵌入式高速sata存储阵列系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194544A (zh) * 2018-09-03 2019-01-11 长安大学 一种基于euht技术的车路通信测试平台及测试方法
CN109165153A (zh) * 2018-09-06 2019-01-08 华泰证券股份有限公司 一种高仿真证券业交易类系统的性能测试方法

Also Published As

Publication number Publication date
CN113254289A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
US7308397B2 (en) Method for controlling and emulating functional and logical behaviors of an array of storage devices for different protocols
US6735747B2 (en) Pre-silicon verification path coverage
CN112286746B (zh) 针对axi从设备接口的通用验证平台及方法
CN103473159B (zh) 基于动态重构的fpga配置信息翻转测试平台及测试方法
CN104253723B (zh) 基于软硬件协同实现的交换机验证测试的方法及装置
CN111427794B (zh) 一种用于加速存储部件网表仿真的方法、系统及介质
CN107357726A (zh) 一种应用程序兼容性测试方法和装置
CN102436407A (zh) 模拟错误产生设备
US20160034372A1 (en) Methods, systems, and computer readable media for scaling a workload
CN109558317A (zh) 测试用例的处理方法及装置
CN107451025A (zh) 控制存储芯片的测试方法及系统
RU2007101287A (ru) Усовершенствованное устройство обработки сетевой статистики
CN112861468B (zh) 一种软硬件协同仿真验证的方法、装置和介质
CN103036734A (zh) 网络芯片逻辑验证方法及系统
CN106933603A (zh) 一种芯片烧录的方法、装置和微控制器
CN104866402A (zh) 一种测试服务器的方法及装置
CN110008129A (zh) 一种存储定时快照的可靠性测试方法、装置及设备
CN112364583A (zh) 一种fpga软硬件协同仿真系统及方法
CN105940384B (zh) 外围设备的通用串行总线仿真
CN100461655C (zh) 实际信道结合计算机仿真测试信道传输性能的系统及方法
CN113254289B (zh) 基于NVMe磁盘阵列的单机测试方法、装置及系统
CN104780123B (zh) 一种网络包收发处理装置及其设计方法
CN103605833A (zh) 一种对存储阵列系统的性能进行仿真的方法及装置
CN106685747A (zh) 一种云存储均衡性能测试系统
CN106953933A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: No. 006, 20th Floor, Business Project (China Pharmaceutical Technology Trading Market), No. 1 Yaojian Road, North of Gaoxin Avenue and West of Heying Road, Wuhan Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430073

Patentee after: Wuhan Zhuomu Technology Co.,Ltd.

Country or region after: China

Address before: A2-32-05, 2nd floor, Guannan science and Technology Industrial Park, Guandong street, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee before: WUHAN ZMVISION TECHNOLOGY Co.,Ltd.

Country or region before: China