本申请涉及ssd开发领域,特别是涉及一种仿真系统通信方法、装置、介质。
背景技术:
1、目前,在ssd(solid state drives,固态硬盘)领域,需要有一套完整的仿真平台进行一些通信仿真、算法仿真、错误注入等仿真测试,从而对ssd的性能进行测试和验证,从而提高ssd产品开发效率和可靠性。
2、现有技术中控制主机与ssd的进程间通信方法主要有管道通信、消息队列通信、共享内存、信号量、信号、socket等。在安装ssd的电脑上系统与ssd之间通信接口主要有pcie、sata、m.2、u.2等。常见的通信协议有ide、ahci、sata、nvme等。在现有ssd仿真系统中,传递消息主要依靠进程内的函数接口,进程内的消息队列等方式,这种模式虽然简单,但是其主机(host)进程与ssd进程间耦合度过高,当主机或ssd类型或配置环境发生变化时,进程间将无法正常通信,这一通信方式严重限制了仿真系统的性能、维护、移植、升级等操作。
3、由此可见,如何提供一种通信方式,以保证不同类型的主机与固件(ssd)能够在不同的配置环境或系统中正常通信,是本领域技术人员亟需解决的问题。
技术实现思路
1、本申请的目的是提供一种仿真系统通信方法、装置、介质,防止由于主机或固件(ssd)的类型或系统改变影响仿真系统的正常通信,从而提高仿真系统通信的稳定性和可靠性。
2、为了解决上述技术问题,本申请提供了一种仿真系统通信方法,应用于主机端,所述方法包括:
3、获取用户操作指令,以获取待测固件信息;
4、根据所述用户操作指令、所述待测固件信息和共享内存生成通信请求,其中,所述共享内存为用于存储待传输数据且待测固件和主机均能读取的内存空间;
5、将所述通信请求发送至所述待测固件,以便于所述待测固件确定待传输数据的地址信息并获取所述待传输数据。
6、优选的,所述根据所述用户操作指令、所述待测固件信息和共享内存生成通信请求包括:
7、根据所述待测固件信息确定通信协议;
8、根据所述用户操作指令和所述通信协议、所述待传输数据在所述共享内存中的所述地址信息生成所述通信请求。
9、优选的,所述将所述通信请求发送至所述待测固件包括:
10、通过socket方式将所述通信请求发送至所述待测固件。
11、优选的,所述将所述通信请求发送至所述待测固件的步骤后,还包括:
12、判断是否检测到所述待测固件发送的完成报文;
13、若未检测到,则发送告警信息。
14、优选的,所述判断是否检测到所述待测固件发送的完成报文的步骤后,还包括:
15、若检测到所述完成报文,则将根据所述完成报文对待测固件的性能进行评估。
16、为了解决上述技术问题,本申请还提供了一种仿真系统通信方法,应用于待测固件端,所述方法包括:
17、获取主机端发送的通信请求,其中,所述通信请求为所述主机端根据用户操作指令、待测固件信息和共享内存生成的消息,所述共享内存为用于存储待传输数据且待测固件和主机均能读取的内存空间;
18、根据所述通信请求确定待传输数据在所述共享内存中的地址信息;
19、根据所述地址信息获取所述待传输数据。
20、优选的,所述根据所述地址信息获取所述待传输数据的步骤后,还包括:
21、向所述主机端发送完成报文。
22、为了解决上述技术问题,本申请还提供了一种仿真系统通信装置,应用于主机端,所述装置包括:
23、获取模块,用于获取用户操作指令,以获取待测固件信息;
24、生成模块,用于根据所述用户操作指令、所述待测固件信息和共享内存生成通信请求,其中,所述共享内存为用于存储待传输数据且待测固件和主机均能读取的内存空间;
25、发送模块,用于将所述通信请求发送至所述待测固件,以便于所述待测固件确定待传输数据的地址信息并获取所述待传输数据。
26、为了解决上述技术问题,本申请还提供了一种仿真系统通信装置,包括存储器,用于存储计算机程序;
27、处理器,用于执行所述计算机程序时实现所述的仿真系统通信方法的步骤。
28、为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的仿真系统通信方法的步骤。
29、本申请提供了一种仿真系统通信方法,应用于主机端,方法包括:获取用户操作指令,以获取待测固件信息,从而实现主机端与待测固件间的通信;根据用户操作指令、待测固件信息和共享内存生成通信请求,其中,共享内存为用于存储待传输数据且待测固件和主机均能读取的内存空间,以将用户操作指令和相对应的待传输数据在共享内存中的存储地址发送至固件端,以便于对待传输数据进行处理;将通信请求发送至待测固件,以便于待测固件确定待传输数据的地址信息并获取待传输数据。由此可见,本申请所提供的技术方案,根据用户操作指令和待测固件信息生成待测固件能够识别的通信请求,以将待传输数据在共享内存中的地址信息发送至待测固件,以便于待测固件获取相应的待传输数据并对数据进行处理。通信请求仅用于将相关信息由主机传输至待测固件,防止由于主机或固件(ssd)的类型或系统改变影响仿真系统的正常通信。
30、此外,本申请还提供了一种仿真系统通信装置、介质,通过获取用户操作指令,以获取待测固件信息,从而实现主机端与待测固件间的通信;根据用户操作指令、待测固件信息和共享内存生成通信请求,其中,共享内存为用于存储待传输数据且待测固件和主机均能读取的内存空间,以将用户操作指令和相对应的待传输数据在共享内存中的存储地址发送至固件端,以便于对待传输数据进行处理;将通信请求发送至待测固件,以便于待测固件确定待传输数据的地址信息并获取待传输数据。由此可见,本申请所提供的技术方案,根据用户操作指令和待测固件信息生成待测固件能够识别的通信请求,以将待传输数据在共享内存中的地址信息发送至待测固件,以便于待测固件获取相应的待传输数据并对数据进行处理。通信请求仅用于将相关信息由主机传输至待测固件,防止由于主机或固件(ssd)的类型或系统改变影响仿真系统的正常通信。
1.一种仿真系统通信方法,其特征在于,应用于主机端,所述方法包括:
2.根据权利要求1所述的仿真系统通信方法,其特征在于,所述根据所述用户操作指令、所述待测固件信息和共享内存生成通信请求包括:
3.根据权利要求1所述的仿真系统通信方法,其特征在于,所述将所述通信请求发送至所述待测固件包括:
4.根据权利要求1所述的仿真系统通信方法,其特征在于,所述将所述通信请求发送至所述待测固件的步骤后,还包括:
5.根据权利要求4所述的仿真系统通信方法,其特征在于,所述判断是否检测到所述待测固件发送的完成报文的步骤后,还包括:
6.一种仿真系统通信方法,其特征在于,应用于待测固件端,所述方法包括:
7.根据权利要求6所述的仿真系统通信方法,其特征在于,所述根据所述地址信息获取所述待传输数据的步骤后,还包括:
8.一种仿真系统通信装置,其特征在于,应用于主机端,所述装置包括:
9.一种仿真系统通信装置,其特征在于,包括存储器,用于存储计算机程序;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的仿真系统通信方法的步骤。