一种仿真系统技术方案

技术编号:37493572 阅读:23 留言:0更新日期:2023-05-07 09:31
本申请公开了一种仿真系统,涉及仿真领域,仿真系统用于NVME设备仿真,包括:虚拟主机;控制器仿真模型,包括用于运行待仿真的固件的可执行单元和若干个功能单元,可执行单元包括中断管理模块、软件引擎模块、总线仿真模块、缓存仿真模块以及内存仿真模块,其中,总线仿真模块用于实现可执行单元与每一个功能单元的互联;消息转发模块,用于连接虚拟主机与控制器仿真模型。其中,控制器仿真模型还用于基于待仿真的固件对虚拟主机发送的消息进行处理以对待仿真的固件进行仿真。本申请针对现有技术中无法做到对控制器固件进行仿真调试验证的问题,提供可支持待仿真固件运行的可执行单元,从而能够独立设计开发调测控制器内部固件。固件。固件。

【技术实现步骤摘要】
一种仿真系统


[0001]本申请涉及仿真领域,具体涉及一种仿真系统。

技术介绍

[0002]如图1所示,现有方案在进行NVMe设备仿真时,通常是使用KVM进行CPU单元的仿真,构建可执行环境(可执行环境一般包括可以执行指令的CPU,内存,cache,总线设备),Qemu进行外设仿真,在Host OS的基础上,创建虚拟化环境,运行Guest OS,需要使用仿真NVMe设备的用户程序和NVMe驱动运行在Guest OS中,NVMe控制器模拟器运行在Host OS的Qemu进程中。
[0003]但是对于Guest OS的NVMe驱动来说,NVMe控制器模拟器是一种模拟设备。而真实的NVMe设备包括PCIE

EP接口,带有处理器、内存、Cache、总线的NVMe控制器,存储介质以及内存,该控制器用于提供一个用来执行NVMe控制器内部固件程序的可执行环境。对于NVMe控制器芯片内部的固件程序在进行仿真测试时,由于NVMe控制器模拟器内部没有提供能够支持NVMe设备控制器固件运行需要的独立软件可执行环境,是无法做到对控制器固件进本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种仿真系统,所述仿真系统用于非易失性内存接口规范设备仿真,其特征在于,包括:虚拟主机;控制器仿真模型,包括用于运行待仿真的固件的可执行单元和若干个功能单元,所述可执行单元包括中断管理模块、软件引擎模块、总线仿真模块、缓存仿真模块以及内存仿真模块,其中,所述总线仿真模块用于实现所述可执行单元与每一个所述功能单元的互联;消息转发模块,用于连接所述虚拟主机与所述控制器仿真模型;其中,所述控制器仿真模型还用于基于所述待仿真的固件对所述虚拟主机发送的消息进行处理以对所述待仿真的固件进行仿真。2.如权利要求1所述的仿真系统,其特征在于,消息转发模块包括代理模块和接入模块;所述代理模块用于封装所述虚拟主机发送的消息并发送到所述接入模块,以及接收并解析所述接入模块发送的消息后发送到所述虚拟主机;所述接入模块用于接收并解析所述代理模块发送的消息后发送到所述控制器仿真模型,以及封装所述控制器仿真模型的发送的消息并发送到所述代理模块。3.如权利要求2所述的仿真系统,其特征在于,所述代理模块和所述虚拟主机运行在第一进程。4.如权利要求2所述的仿真系统,其特征在于,所述接入模块和所述控制器仿真模型运行在第二进程。5.如权利要求1所述的仿真系统,其特征在于,所述仿真系统还包括:存储介质仿真模型,包括属性获取操作接口、设置操作接口、读取操作接口、写入操作接口。6.如权利要求5所述的仿真系统,其特征在于,所述属性获取操作接口和所述设置操作接口供所述待仿真的固件调用,所述读取操作接口和写入操作接口供所述控制器仿真模型做数据读写使用。7.如权利要求5所述的仿真系统,其特征在于,所述功能单元包括高速串行计算机扩展总线标准接口单元、非易失性内存接口规范核心单元、存储介质单元以及调测跟踪单元,所述高速串行计算机扩展总线标准接口单元、所述非易失性内存接口规范核心单元、所述存储介质单元、所述调测跟踪单元和所述可执行单元之间互联;其中,所述高速串行计算机扩展总线标准接口单元与所述消息转发模块连接,用于模拟高速串行计算机扩展总线标准总线、模拟读写高速串行计算机扩展总线标准配置空间、传输总线数据以及处理消息信号中断或扩展的消息信号中断;所述非易失性内存接口规范核心单元用于处理配置寄存器的读写、将管理命令转发给所述可执行单元、处理IO命令、处理门铃、搬移直接内存访问数据;所述存储介质单元还与所述存储介质仿真模型连接,用于向所述核心单元提供控制管理接口和IO数据接口以对所述存储介质仿真模型进行访问;所述调测跟踪单元为所述高速串行计算机扩展总线标准接口单元、所述非易失性内存接口规范核心单元、所述存储介质单元和所述可执行单元提供打印和日志控制管理和输出功能。
8.如权利要求7所述的仿真系统,其特征在于,所述中断管理模块用于提供中断功能;所述软件引擎模块提供运行环境并执行所述待仿真的固件;所述总线仿真模块用于实现所述高速串行计算机扩展总线标准接口单元、所述非易失性内存接口规范核心单元、所述存储介质单元、所述调测跟踪单元和所述可执行单元之间的互联;所述缓存仿真模块用于向所述软件引擎模块提供缓存功能;所述内存仿真模块用于向所述软件引擎模块提供内存功能。9.如权利要求8所述的仿真系统,其特征在于,所述软件引擎模块用于接收所述管理命令,将所述管理命令保存到基于所述待仿真的固件配置的缓存位置并触发中断以通知所述待仿真的固件处理。10.如权利要求9所述的仿真系统,其特征在于,所述待仿真的固件收到所述中断后,读取并处理所述缓存位置中的管理命令,其中所述管理命令包括创建或删除用于数据输入输出的递交队列的命令、创建或删除用于数据输入输出的完成队列的命令、获取命名空间信息的命令、获取特性的命令、设置特性的命令。11.如权利要求8所述的仿真系统,其特征在于,所述高速串行计算机扩展总线标准接口单元、所述非易失性内存接口规范核心单元、所述存储...

【专利技术属性】
技术研发人员:张鹏刘超张智任明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1