一种NVMe控制器仿真模型、方法、设备及存储介质技术

技术编号:38848010 阅读:25 留言:0更新日期:2023-09-17 09:57
本申请涉及仿真技术领域,公开了一种NVMe控制器仿真模型、方法、设备及存储介质,NVMe控制器仿真模型为基于全栈NVMe协议的模型,支持NVMe协议的所有功能,包括:NVMe控制器模块,用于模拟NVMe协议支持的动作;上下游接口模块,与NVMe控制器模块连接,用于将NVMe控制器模块接收消息的方式注册给发送消息一方,还用于将接收消息一方使用的数据结构注册给NVMe控制器模块。上述模型可以根据NVMe协议标准实现协议所支持的全部功能,随着架构功能设计需求以及协议本身的演进,通过软件代码的修改进行快速更新,并且该模型适用于各个仿真环境,极大地减轻了不同仿真环境使用该模型的适配工作,降低了使用门槛。降低了使用门槛。降低了使用门槛。

【技术实现步骤摘要】
一种NVMe控制器仿真模型、方法、设备及存储介质


[0001]本专利技术涉及仿真
,特别是涉及一种NVMe控制器仿真模型、方法、设备及存储介质。

技术介绍

[0002]随着信息技术的发展,信息的数量急速增大,因此对信息的传输和存储是当下一个重要的研究方向,而非易失性内存接口规范(Non Volatile Memory Express,NVMe)就是在此背景下被定义的一种存储接口规范。NVMe相比较传统协议高级主机控制接口(Advanced Host Controller Interface,AHCI)具有更低的时延,更大的每秒读写操作次数(Input/Output Operations Per Second,IPOS)等优点。因此,越来越多依托NVMe协议的产品在不断被设计。
[0003]在产品设计过程中,首当其冲的是产品的架构设计。当进行架构设计时,往往需要进行各种各样的功能验证,以验证架构设计的可行性。当进行架构探索功能验证时,需要相应的硬件环境。但是NVMe是一个复杂的协议,其支持的体系比较庞大复杂。因此当通过购买硬件的途径去搭建硬件环境的时候,经常会面临这样一个问题:每个标准NVMe产品往往都是厂家根据自身产品特性,有针对性的选择NVMe协议的某些功能进行实现,所以当下市场可能不存在满足架构需求产品。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种NVMe控制器仿真模型、方法、设备及存储介质,可以解决当NVMe产品设计的时候,硬件环境不具备,而架构设计进行产品架构探索时,需要进行功能验证所遇到的一系列问题。其具体方案如下:
[0005]一种NVMe控制器仿真模型,所述NVMe控制器仿真模型为基于全栈NVMe协议的模型,支持NVMe协议的所有功能,包括:
[0006]NVMe控制器模块,用于模拟NVMe协议支持的动作;
[0007]上下游接口模块,与所述NVMe控制器模块连接,用于将所述NVMe控制器模块接收消息的方式注册给发送消息一方,还用于将接收消息一方使用的数据结构注册给所述NVMe控制器模块。
[0008]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述NVMe控制器模块包括用于管理的递交队列处理单元、用于管理的完成队列处理单元、用于数据输入输出的递交队列处理单元、用于数据输入输出的完成队列处理单元、数据输入输出读写单元、直接内存访问传输引擎、中断处理单元、寄存器单元。
[0009]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述寄存器单元为用于NVMe设备管理和数据处理的单元;所述寄存器单元注册有对应的响应函数,所述响应函数用于模拟硬件寄存器的功能。
[0010]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述NVMe控制器模
块,用于在接收到NVMe命令后,对所述NVMe命令进行解析,根据解析结果触发对应的回调函数,以执行对应的动作。
[0011]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述NVMe控制器模块,具体用于接收递交队列后,解析递交队列的内容,得到数据输入输出命令,根据所述数据输入输出命令执行管理操作或数据输入输出操作,最后上报完成队列。
[0012]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述上下游接口模块包括:
[0013]第一接口单元,用于将高速串行计算机扩展总线标准与所述NVMe控制器模块进行连接,以使所述高速串行计算机扩展总线标准与所述NVMe控制器模块进行数据通信。
[0014]优选地,在本专利技术实施例提供的上述NVMe控制器仿真模型中,所述上下游接口模块还包括:
[0015]第二接口单元,用于连接磁盘与所述NVMe控制器模块,以对所述磁盘进行读写操作。
[0016]本专利技术实施例还提供了一种本专利技术实施例提供的上述NVMe控制器仿真模型的建立方法,包括:
[0017]利用C++类构建所述NVMe控制器仿真模型;所述NVMe控制器仿真模型为基于全栈NVMe协议的模型,支持NVMe协议的所有功能,包括NVMe控制器模块,以及与所述NVMe控制器模块连接的上下游接口模块;所述NVMe控制器模块用于模拟NVMe协议支持的动作;所述上下游接口模块用于将所述NVMe控制器模块接收消息的方式注册给发送消息一方,还用于将接收消息一方使用的数据结构注册给所述NVMe控制器模块;
[0018]利用Python类对所述NVMe控制器仿真模型进行功能配置。
[0019]本专利技术实施例还提供了一种电子设备,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如本专利技术实施例提供的上述NVMe控制器仿真模型的建立方法。
[0020]本专利技术实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本专利技术实施例提供的上述NVMe控制器仿真模型的建立方法。
[0021]从上述技术方案可以看出,本专利技术所提供的一种NVMe控制器仿真模型,所述NVMe控制器仿真模型为基于全栈NVMe协议的模型,支持NVMe协议的所有功能,包括:NVMe控制器模块,用于模拟NVMe协议支持的动作;上下游接口模块,与NVMe控制器模块连接,用于将NVMe控制器模块接收消息的方式注册给发送消息一方,还用于将接收消息一方使用的数据结构注册给NVMe控制器模块。
[0022]本专利技术提供的上述NVMe控制器仿真模型,当不具备物理实体条件的时候,通过该模型来模拟NVMe协议支持的行为,可以满足架构设计对NVMe功能的探索和验证。由于NVMe控制器仿真模型是通过软件实现的,可以根据NVMe协议标准实现协议所支持的全部功能,并且随着架构功能设计需求以及协议本身的演进,通过软件代码的修改进行快速更新,进而可以解决当NVMe产品设计的时候,硬件环境不具备,而架构设计进行产品架构探索时,需要进行功能验证所遇到的一系列问题。另外,对NVMe控制器仿真模型的上下游端口进行抽象,提供统一的接口,可以使得NVMe控制器仿真模型适用于各个仿真环境,成为通用模型,
极大地减轻了不同仿真环境使用本模型的适配工作,降低了使用门槛。同时NVMe控制器仿真模型一旦被实现,就可以大量被使用,相比较购买大量硬件去使用而言,显著的降低了成本。
[0023]此外,本专利技术还针对NVMe控制器仿真模型提供了相应的方法、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该方法、设备及计算机可读存储介质具有相应的优点。
附图说明
[0024]为了更清楚地说明本专利技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0025]图1为本专利技术实施例提供的NVMe控制器仿真模型的结构示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NVMe控制器仿真模型,其特征在于,所述NVMe控制器仿真模型为基于全栈NVMe协议的模型,支持NVMe协议的所有功能,包括:NVMe控制器模块,用于模拟NVMe协议支持的动作;上下游接口模块,与所述NVMe控制器模块连接,用于将所述NVMe控制器模块接收消息的方式注册给发送消息一方,还用于将接收消息一方使用的数据结构注册给所述NVMe控制器模块。2.根据权利要求1所述的NVMe控制器仿真模型,其特征在于,所述NVMe控制器模块包括用于管理的递交队列处理单元、用于管理的完成队列处理单元、用于数据输入输出的递交队列处理单元、用于数据输入输出的完成队列处理单元、数据输入输出读写单元、直接内存访问传输引擎、中断处理单元、寄存器单元。3.根据权利要求2所述的NVMe控制器仿真模型,其特征在于,所述寄存器单元为用于NVMe设备管理和数据处理的单元;所述寄存器单元注册有对应的响应函数,所述响应函数用于模拟硬件寄存器的功能。4.根据权利要求3所述的NVMe控制器仿真模型,其特征在于,所述NVMe控制器模块,用于在接收到NVMe命令后,对所述NVMe命令进行解析,根据解析结果触发对应的回调函数,以执行对应的动作。5.根据权利要求4所述的NVMe控制器仿真模型,其特征在于,所述NVMe控制器模块,具体用于接收递交队列后,解析递交队列的内容,得到数据输入输出命令,根据所述数据输入输出命令执行管理操作或数据输入输出操作,最后上报完成队列。6.根据权利...

【专利技术属性】
技术研发人员:张智张鹏任明刚刘超
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1