CN117806892A - 存储芯片模型测试方法、装置、通信设备及存储介质 - Google Patents

存储芯片模型测试方法、装置、通信设备及存储介质 Download PDF

Info

Publication number
CN117806892A
CN117806892A CN202410223712.3A CN202410223712A CN117806892A CN 117806892 A CN117806892 A CN 117806892A CN 202410223712 A CN202410223712 A CN 202410223712A CN 117806892 A CN117806892 A CN 117806892A
Authority
CN
China
Prior art keywords
memory
model
host controller
target
specification command
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.)
Granted
Application number
CN202410223712.3A
Other languages
English (en)
Other versions
CN117806892B (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.)
Inspur Computer Technology Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202410223712.3A priority Critical patent/CN117806892B/zh
Publication of CN117806892A publication Critical patent/CN117806892A/zh
Application granted granted Critical
Publication of CN117806892B publication Critical patent/CN117806892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例提供了一种存储芯片模型测试方法、装置、通信设备及存储介质,包括:响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符;将目标测试数据写入目标文件描述符指向的共享内存中的目标地址空间;将非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据非易失性内存主机控制器接口规范命令从共享内存中的目标地址空间读取目标测试数据。本发明实施例通过建立软件仿真平台的第一适配模块作为软仿平台的适配层,可以直接访问软仿所运行的服务器的虚拟内存映射出的共享内存,提高芯片模型中虚拟PCIe链路数据传输效率。

Description

存储芯片模型测试方法、装置、通信设备及存储介质
技术领域
本发明涉及芯片测试技术领域,特别涉及一种存储芯片模型测试方法、装置、通信设备及存储介质。
背景技术
智能设备和存储设备的需求快速增长。芯片是智能设备和存储设备中核心算力的载体,如何加速芯片的开发与应用是产业链需要面对的首要问题。一款功能完备的存储芯片从前期设计到变成产品大致需要经历:需求分析、架构设计、芯片设计、前端验证、固件开发、后端验证、芯片验证、可靠性测试等阶段。传统的芯片开发流程周期长,复杂度高,验证效率低,芯片流片失败的风险大。
在这样的背景下,为加速芯片开发流程,芯片软件和硬件并行开发成为业界的发展趋势。芯片建模的出现为各开发环节提供了强有力的验证方法,加速了芯片开发的全流程,有效的降低了芯片流片失败的风险。
现有的测试方案是两个芯片模型一个模拟发送(Root Complex,RC)端,另一个模拟接收(Express-EndPoint,EP)端,直接通过TLM2.0加上网络套接字socket进行芯片间数据传输,这种测试方案会需要设计数据缓冲区,并且需要把大块的待测试数据进行分块传输,从而导致测试数据传输效率低。
发明内容
本发明实施例的目的在于提供一种存储芯片模型测试方法、装置、通信设备及存储介质,具体技术方案如下:
在本发明实施的第一方面,首先提供了一种存储芯片模型测试方法,所述方法包括:
响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
可选地,所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符包括:
响应于主机发起的非易失性内存主机控制器接口规范命令,所述主机存储芯片中的内核模型获取所述非易失性内存主机控制器接口规范命令,并将所述非易失性内存主机控制器接口规范命令发送至所述主机存储芯片中的高速串行计算机扩展总线标准发送模型;
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符。
可选地,在所述将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间的步骤之后,所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型的步骤之前,所述方法包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址。
可选地,所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一内核模型可访问总线地址转换成高速串行计算机扩展总线标准可访问地址。
可选地,所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型包括:
在检测到所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址完成的情况下,调用套接字接口将所述非易失性内存主机控制器接口规范命令写入套接字缓冲区,以作为套接字线程;
通过所述套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型。
可选地,所述目标文件描述符为访问虚拟内存对应的文件描述符。
可选地,在所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符的步骤之前,所述方法包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型申请映射描述符,并将所述映射描述符传递至预设软件仿真平台中的第一适配模块;
在所述第一适配模块中增加第一封装接口,以使服务器和所述第一适配模块创建共享内存,并通过所述第一封装接口和所述服务器的所述共享内存进行映射,所述服务器向所述高速串行计算机扩展总线标准发送模型暴露所述共享内存的第一封装接口。
可选地,在所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型的步骤之后,所述方法包括:
通过套接字线程通知所述盘侧芯片模型所述目标测试数据写入所述共享内存。
在本发明实施的第二方面,还提供了另一种存储芯片模型测试方法,应用于基于预设软件仿真平台构建的盘侧芯片模型,所述方法包括:
通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口。
可选地,在所述通过套接字线程获取所述非易失性内存主机控制器接口规范命令的步骤之后,所述方法包括:
所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址。
可选地,所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址包括:
所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的高速串行计算机扩展总线标准可访问地址转换成第二内核模型可访问总线地址。
可选地,在所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址的步骤之后,所述方法包括:
盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理。
可选地,所述盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理包括:
盘侧芯片模型中的内核模型识别所述非易失性内存主机控制器接口规范命令;
申请与所述主机存储芯片模型相同的目标文件描述符。
可选地,所述根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据包括:
从所述目标文件描述符指向的所述共享内存中的目标地址空间读取所述目标测试数据。
在本发明实施的第三方面,还提供了一种存储芯片模型测试方法***,所述***包括:
基于预设软件仿真平台构建的主机存储芯片模型和基于预设软件仿真平台构建的盘侧芯片模型;
所述主机存储芯片模型用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型;
所述盘侧芯片模型用于根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
可选地,所述主机存储芯片模型包括:第一内核模型、第一存储模型、高速串行计算机扩展总线标准发送模型以及第一适配模块;所述盘侧芯片模型包括:第二内核模型、第二存储模型、高速串行计算机扩展总线标准接收模型以及第二适配模块;
其中,所述第一内核模型、所述第一存储模型以及所述高速串行计算机扩展总线标准发送模型之间通过通用净核数据包进行总线路由以及数据访问;
所述第二内核模型、所述第二存储模型以及所述高速串行计算机扩展总线标准接收模型之间通过所述通用净核数据包进行总线路由以及数据访问。
在本发明实施的第四方面,还提供了一种存储芯片模型测试方法装置,所述装置包括:
请求模块,用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
写入模块,用于将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
发送读取模块,用于通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
在本发明实施的第五方面,还提供了一种存储芯片模型测试方法装置,所述装置包括:
获取模块,用于通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
读取模块,用于根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口。
在本发明实施的第六方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
所述处理器,用于读取存储器中的程序实现如第一方面或者第二方面任一所述的存储芯片模型测试方法。
在本发明实施的第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现如第一方面或者第二方面任一所述的存储芯片模型测试方法。
本发明实施例提供的存储芯片模型测试方法,应用于基于预设软件仿真平台构建的主机存储芯片模型,通过响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的存储芯片模型测试方法的步骤流程图一;
图2是本发明实施例提供的存储芯片模型测试方法的步骤流程图二;
图3是本发明实施例提供的存储芯片模型测试方法的步骤流程图三;
图4是本发明实施例提供的存储芯片模型测试方法的步骤流程图四;
图5是本发明实施例提供的一种存储芯片模型测试方法***示意图;
图6是本发明实施例提供的一种基于NVMe over PCIe命令数据的芯片模型测试流程;
图7是本发明实施例提供的一种存储芯片模型测试方法装置的结构示意图;
图8是本发明实施例提供的另一种存储芯片模型测试方法装置的结构示意图;
图9是本发明实施例提供的一种通信设备示意图;
图10是本发明实施例提供的一种芯片建模架构示意图;
图11是本发明实施例提供的一种软仿平台适配模块工作原理示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
需要说明的是,如图10所示,芯片建模的软件架构层次,即NVMe over PCIe存储芯片的建模包括内核模型、总线模型、存储模型、PCIe模型和一系列加速器模型等,NVMe命令由控制命令、IO命令以及命令所携带的数据组成。在完成存储芯片的模型建立后,需要对芯片模型进行功能和性能测试,最主要的就是测试NVMe命令在芯片模型上的收发情况,测试压力也集中体现在PCIe模型上。
因此,在本申请实施例中,提出一种存储芯片模型测试方案,应用在QEMU软件仿真平台上,QEMU软仿平台是一套开源模拟处理器的软件平台,提供芯片模型运行的虚拟环境,并提供完整的指令仿真以及调测环境。
本申请可以适用于芯片模型中需要经过PCIe链路收发数据的测试场景,芯片测试需要两个芯片进行交互测试,因此,本申请实施例中包括基于QEMU软件仿真平台构建的主机存储芯片模型以及基于QEMU软件仿真平台构建的盘侧芯片模型。
参照图1,示出了本发明实施例提供的存储芯片模型测试方法的步骤流程图一,所述方法可以包括:
步骤101,响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
其中,所述目标文件描述符为访问虚拟内存对应的文件描述符。
需要说明的是,非易失性内存主机控制器接口规范(Non-Volatile Memoryexpress,NVMe)是一种定义在主机与非易失性内存的子***通信的寄存器级别的接口。
其中,在本申请实施例中,NVMe命令包括ADMIN/IO命令,ADMIN/IO命令是NVMe协议约定的控制命令和输入输出命令。
在本申请实施例中,应用于基于QEMU软件仿真平台构建的主机存储芯片模型,主机存储芯片模型是由System C实现芯片架构的外设模型,比如存储模型、总线模型、定时器模型等,通过TLM2.0进行总线路由以及数据访问,其中,TLM2.0即为通用净核数据包,QEMU软件仿真平台即为本申请中的预设软件仿真平台。
其中,主机存储芯片模型作为发送端,因此,设置PCIe-RC模型,其中,PCIe-RC模型本质上是PCIe模型,需要配置成RC模式,作为数据发送端,并且,PCIe-RC模型可将内核可访问的总线地址转换成PCIe域可访问的地址。
其中,第一适配模块即为QEMU软仿平台适配模块,QEMU软仿平台不能直接操作服务器的虚拟内存,因此,通过第一适配模块芯片模型可以访问服务器的虚拟内存,第一适配模块封装服务器虚拟内存的适配接口,该接口即为第一封装接口,可以屏蔽服务器的差异。
其中,虚拟内存是一种内存扩展方法,利用外部存储部件如硬盘,实现内存与外存的交换分区,交换分区作为***的扩展内存,可提升***内存的总容量,但是与物理内存相比速度降低,共享内存映射是一种允许不同进程或线程访问相同内存区域的技术,而内存映射是实现这种共享的具体方法之一,内存映射通常是通过将一个文件或其他资源映射到一个进程的地址空间实现的,这样,当多个进程映射同一个文件或资源时,它们实际上在访问相同的内存区域,从而实现了内存共享。
因此,在本申请实施例中,共享内存是基于服务器的虚拟内存映射创建的,通过建立服务器的共享内存以及QEMU软仿平台适配模块可以实现主机存储芯片可以在共享内存中写入读取,另一侧的盘侧芯片也可以在共享内存中写入读取。
其中,示例性的,服务器可以是x86服务器,在本申请实施例中,对此并不进行限制。
进一步地,所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符包括:
响应于主机发起的非易失性内存主机控制器接口规范命令,所述主机存储芯片中的内核模型获取所述非易失性内存主机控制器接口规范命令,并将所述非易失性内存主机控制器接口规范命令发送至所述主机存储芯片中的高速串行计算机扩展总线标准发送模型;
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符。
因此,在本申请实施例中,NVME进行一次IO写数据,即是一种存储芯片模型测试过程,具体的,主机发起NVMe的ADMIN/IO命令后,首先由存储芯片内核取该命令至PCIe-RC模型,PCIe-RC模型收到该命令后,调取QEMU适配层接口向服务器申请该进程所能访问的虚拟内存文件描述符fd,即响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符。
步骤102,将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
需要说明的是,在本申请实施例中,在申请到所能访问的虚拟内存中的目标文件描述符fd之后,将ADMIN/IO命令携带的数据写入目标文件描述符fd指向的共享内存中的目标地址空间。
步骤103,通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
需要说明的是,在本申请实施例中,在将ADMIN/IO命令携带的数据写入目标文件描述符fd指向的共享内存中的目标地址空间的时候,PCIe-RC模型还会根据NVMe指令通过套接字线程将ADMIN/IO命令写入socket的缓冲区发送到盘侧芯片模型。
进一步地,在步骤101之前,需要进行仿真软件平台适配模块的建立,在所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符的步骤之前,所述方法包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型申请映射描述符,并将所述映射描述符传递至预设软件仿真平台中的第一适配模块;
在所述第一适配模块中增加第一封装接口,以使服务器和所述第一适配模块创建共享内存,并通过所述第一封装接口和所述服务器的所述共享内存进行映射,所述服务器向所述高速串行计算机扩展总线标准发送模型暴露所述共享内存的第一封装接口。
需要说明的是,如图11所示,图11是本发明实施例提供的一种软仿平台适配模块工作原理示意图,在本申请实施例中,QEMU作为PCIe模型访问虚拟内存的软仿平台,当PCIe模型访问虚拟内存之前,需要先申请内存共享的映射描述符fd,并把描述符fd传递给QEMU软仿平台,进而在QEMU软仿平台增加非亲缘关系进程共享的文件映射接口,以便和x86服务器的虚拟内存进行映射,同时向PCIe模块暴露虚拟内存的访问接口完成数据写入或者读出,即表示完成了QEMU平台的适配工作。
本发明实施例提供的存储芯片模型测试方法,应用于基于预设软件仿真平台构建的主机存储芯片模型,通过响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
参照图2,示出了本发明实施例提供的存储芯片模型测试方法的步骤流程图二,所述方法可以包括:
步骤201,响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
步骤202,将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
需要说明的是,上述步骤201-202参照前序论述,在此不再赘述。
步骤203,所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址。
进一步地,所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一内核模型可访问总线地址转换成PCIe可访问地址。
需要说明的是,在进行之后,需要进行地址转换,即将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址。
具体的,把ADMIN/IO命令存储域地址转成PCIe域地址,即将所述非易失性内存主机控制器接口规范命令对应的第一内核模型可访问总线地址转换成PCIe可访问地址,转换成盘侧芯片模型中的PCIe模型可以识别的地址,这样才可以保证盘侧芯片模型在共享内存中读取目标测试数据的时候是可以识别的地址。
步骤204,通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
进一步地,所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型包括:
在检测到所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址完成的情况下,调用套接字接口将所述非易失性内存主机控制器接口规范命令写入套接字缓冲区,以作为套接字线程;
通过所述套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型。
需要说明的是,在本申请实施例中,在完成地址转换后调取socket接口将ADMIN/IO命令写入socket的缓冲区发送到盘侧芯片模型。
其中,socket即为套接字,是运行在System C线程里,用于芯片间的简单数据交互,在本申请实施例中可以用于NVMe的ADMIN/IO命令的传输,文件描述符fd的数据交互。
进一步地,在步骤204之后,即在所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型的步骤之后,所述方法包括:
通过套接字线程通知所述盘侧芯片模型所述目标测试数据写入所述共享内存。
需要说明的是,在本申请实施例中,可以通过套接字线程通知所述盘侧芯片模型所述目标测试数据写入所述共享内存。
具体的,socket握手后,通过socket进行主机存储芯片模型和盘侧芯片模型之间的数据交互。
本发明实施例提供的存储芯片模型测试方法,应用于基于预设软件仿真平台构建的主机存储芯片模型,通过响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
另外,本申请实施例可以极大限度模拟PCIe模型的高速传输特性,模拟真实PCIe硬件的数据传输包,不用切块传输,降低了芯片模型的整体降速比,有效的验证了PCIe模型的NVMe命令传输场景,为复杂场景下芯片测试提供高数据吞吐能力测试提供参考依据,加速存储芯片的全链路开发。
参照图3,示出了本发明实施例提供的存储芯片模型测试方法的步骤流程图三,所述方法可以包括:
步骤301,通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
步骤302,根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据。
需要说明的是,在本申请实施例中,应用于基于QEMU软件仿真平台构建的盘侧芯片模型。
盘侧芯片模型即为主机存储芯片模型的对端芯片模型,当盘侧芯片模型通过套接字线程接收到socket数据中携带的NVMe命令之后,根据NVMe命令从共享内存中的目标地址空间读取目标测试数据。
另外,在本申请实施例中,NVMe命令包括ADMIN/IO命令,ADMIN/IO命令是NVMe协议约定的控制命令和输入输出命令。
在本申请实施例中,应用于基于QEMU软件仿真平台构建的盘侧芯片模型,盘侧芯片模型是由System C实现芯片架构的外设模型,比如存储模型、总线模型、定时器模型等,通过TLM2.0进行总线路由以及数据访问。
其中,盘侧芯片模型作为接收端,因此,设置PCIe-EP模型,其中,PCIe-EP模型本质上是PCIe模型,需要配置成EP模式,作为数据接收端。可将PCIe域可访问的地址转换成内核可访问的总线地址。
其中,盘侧芯片模型中也存在适配模块,可以称为第二适配模块,也是QEMU软仿平台适配模块。
其中,虚拟内存是一种内存扩展方法,利用外部存储部件如硬盘,实现内存与外存的交换分区,交换分区作为***的扩展内存,可提升***内存的总容量,但是与物理内存相比速度降低,共享内存映射是一种允许不同进程或线程访问相同内存区域的技术,而内存映射是实现这种共享的具体方法之一,内存映射通常是通过将一个文件或其他资源映射到一个进程的地址空间实现的,这样,当多个进程映射同一个文件或资源时,它们实际上在访问相同的内存区域,从而实现了内存共享。
因此,在本申请实施例中,共享内存是基于服务器的虚拟内存映射创建的,通过建立服务器的共享内存以及QEMU软仿平台适配模块可以实现主机存储芯片可以在共享内存中写入读取,另一侧的盘侧芯片也可以在共享内存中写入读取。
其中,示例性的,服务器可以是x86服务器,在本申请实施例中,对此并不进行限制。
本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
参照图4,示出了本发明实施例提供的存储芯片模型测试方法的步骤流程图四,所述方法可以包括:
步骤401,通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
需要说明的是,在本申请实施例中,上述步骤参照前序论述,在此不再阐述。
步骤402,所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址;
进一步地,所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址包括:
所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的PCIe可访问地址转换成第二内核模型可访问总线地址。
步骤403,盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理。
进一步地,所述盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理包括:
盘侧芯片模型中的内核模型识别所述非易失性内存主机控制器接口规范命令;申请与所述主机存储芯片模型相同的目标文件描述符。
步骤404,根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
进一步地,所述根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据包括:
从所述目标文件描述符指向的所述共享内存中的目标地址空间读取所述目标测试数据。
需要说明的是,在本申请实施例中,上述步骤402-404中,在步骤402接收到主机存储芯片发送的非易失性内存主机控制器接口规范命令之后,首先NMVe命令的地址会落到PCIe-EP模型的窗口内,由PCIe-EP模型对该NMVe命令地址进行地址转化,即将第二地址转换为第一地址,将PCIe域地址到存储域地址的转换,再由盘侧芯片模型中的内核模型取该NMVe命令进行解析处理,当解析后识别到是NVMe的ADMIN/IO命令后,先申请与发送端(即主机存储芯片模型)相同的虚拟内存文件描述符,即目标文件描述符fd,然后从fd指向的所述共享内存中的目标地址空间一次性取出大块NVMe数据,最后进行数据落盘,完成全部流程。
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据。
本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
另外,本申请实施例可以极大限度模拟PCIe模型的高速传输特性,模拟真实PCIe硬件的数据传输包,不用切块传输,降低了芯片模型的整体降速比,有效的验证了PCIe模型的NVMe命令传输场景,为复杂场景下芯片测试提供高数据吞吐能力测试提供参考依据,加速存储芯片的全链路开发。
参照图5,示出了本发明实施例提供的一种存储芯片模型测试***,所述存储芯片模型测试***包括:基于预设软件仿真平台构建的主机存储芯片模型和基于预设软件仿真平台构建的盘侧芯片模型;
所述主机存储芯片模型用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型;
所述盘侧芯片模型用于根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
具体的,所述主机存储芯片模型包括:第一内核模型、第一存储模型、高速串行计算机扩展总线标准发送模型以及第一适配模块;所述盘侧芯片模型包括:第二内核模型、第二存储模型、高速串行计算机扩展总线标准接收模型以及第二适配模块;
其中,所述第一内核模型、所述第一存储模型以及所述高速串行计算机扩展总线标准发送模型之间通过TLM2.0进行总线路由以及数据访问;
所述第二内核模型、所述第二存储模型以及所述高速串行计算机扩展总线标准接收模型之间通过TLM2.0进行总线路由以及数据访问。
具体的,如图6所示,图6是一种基于NVMe over PCIe命令数据的芯片模型测试流程,从主机存储芯片模型开始作为发送端,盘侧芯片模型作为接收端,实现NVMe命令下发到目标测试数据的落盘的整个流程。
参照图7,示出了本发明实施例提供的一种存储芯片模型测试装置的结构示意图,所述装置可以包括:
请求模块701,用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
写入模块702,用于将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
发送读取模块703,用于通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
本发明实施例提供的存储芯片模型测试装置,应用于基于预设软件仿真平台构建的主机存储芯片模型,通过响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
参照图8,示出了本发明实施例提供的另一种存储芯片模型测试装置的结构示意图,所述装置可以包括:
获取模块801,用于通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
读取模块802,用于根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据。
本发明实施例中,通过建立了预设软件仿真平台的第一适配模块作为软仿平台的适配层,通过第一适配模块可以直接访问预设软件仿真平台所运行的服务器的虚拟内存映射出的共享内存,利用套接字socket线程发送NVMe的ADMIN/IO命令,利用服务器共享内存传输NVMe命令所携带的大块目标测试数据,发送端主机存储芯片模型侧只需要一次地址访问就可以把NVMe命令所携带的大块数据写入虚拟PCIe链路,接收端也只需要一次地址访问就可以读取ADMIN/IO命令所携带的大块目标测试数据,提高芯片模型中虚拟PCIe链路数据传输效率。
本发明实施例还提供了一种通信设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,可以实现如下步骤:
响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
或者,
通过套接字线程获取所述非易失性内存主机控制器接口规范命令;
根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据可以有线介质进行传输或者通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的存储芯片模型测试方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的存储芯片模型测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (20)

1.一种存储芯片模型测试方法,其特征在于,应用于基于预设软件仿真平台构建的主机存储芯片模型,所述方法包括:
响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
2.根据权利要求1所述的方法,其特征在于,所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符包括:
响应于主机发起的非易失性内存主机控制器接口规范命令,所述主机存储芯片中的内核模型获取所述非易失性内存主机控制器接口规范命令,并将所述非易失性内存主机控制器接口规范命令发送至所述主机存储芯片中的高速串行计算机扩展总线标准发送模型;
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符。
3.根据权利要求1所述的方法,其特征在于,在所述将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间的步骤之后,所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型的步骤之前,所述方法包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址。
4.根据权利要求3所述的方法,其特征在于,所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型将所述非易失性内存主机控制器接口规范命令对应的第一内核模型可访问总线地址转换成高速串行计算机扩展总线标准可访问地址。
5.根据权利要求3所述的方法,其特征在于,所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型包括:
在检测到所述非易失性内存主机控制器接口规范命令对应的第一地址转换为第二地址完成的情况下,调用套接字接口将所述非易失性内存主机控制器接口规范命令写入套接字缓冲区,以作为套接字线程;
通过所述套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型。
6.根据权利要求1所述的方法,其特征在于,所述目标文件描述符为访问虚拟内存对应的文件描述符。
7.根据权利要求1所述的方法,其特征在于,在所述响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符的步骤之前,所述方法包括:
所述主机存储芯片中的高速串行计算机扩展总线标准发送模型申请映射描述符,并将所述映射描述符传递至预设软件仿真平台中的第一适配模块;
在所述第一适配模块中增加第一封装接口,以使服务器和所述第一适配模块创建共享内存,并通过所述第一封装接口和所述服务器的所述共享内存进行映射,所述服务器向所述高速串行计算机扩展总线标准发送模型暴露所述共享内存的第一封装接口。
8.根据权利要求1所述的方法,其特征在于,在所述通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型的步骤之后,所述方法包括:
通过套接字线程通知所述盘侧芯片模型所述目标测试数据写入所述共享内存。
9.一种存储芯片模型测试方法,其特征在于,应用于基于预设软件仿真平台构建的盘侧芯片模型,所述方法包括:
通过套接字线程获取非易失性内存主机控制器接口规范命令;
根据所述非易失性内存主机控制器接口规范命令从共享内存中的目标地址空间读取目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口。
10.根据权利要求9所述的方法,其特征在于,在所述通过套接字线程获取所述非易失性内存主机控制器接口规范命令的步骤之后,所述方法包括:
所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址。
11.根据权利要求10所述的方法,其特征在于,所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址包括:
所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的高速串行计算机扩展总线标准可访问地址转换成第二内核模型可访问总线地址。
12.根据权利要求10所述的方法,其特征在于,在所述盘侧芯片模型中的高速串行计算机扩展总线标准接收模型将所述非易失性内存主机控制器接口规范命令对应的第二地址转换为第一地址的步骤之后,所述方法包括:
盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理。
13.根据权利要求12所述的方法,其特征在于,所述盘侧芯片模型中的内核模型对所述非易失性内存主机控制器接口规范命令进行解析处理包括:
盘侧芯片模型中的内核模型识别所述非易失性内存主机控制器接口规范命令;
申请与所述主机存储芯片模型相同的目标文件描述符。
14.根据权利要求13所述的方法,其特征在于,所述根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据包括:
从所述目标文件描述符指向的所述共享内存中的目标地址空间读取所述目标测试数据。
15.一种存储芯片模型测试***,其特征在于,所述存储芯片模型测试***包括:基于预设软件仿真平台构建的主机存储芯片模型和基于预设软件仿真平台构建的盘侧芯片模型;
所述主机存储芯片模型用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型;
所述盘侧芯片模型用于根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
16.根据权利要求15所述的***,其特征在于,所述主机存储芯片模型包括:第一内核模型、第一存储模型、高速串行计算机扩展总线标准发送模型以及第一适配模块;所述盘侧芯片模型包括:第二内核模型、第二存储模型、高速串行计算机扩展总线标准接收模型以及第二适配模块;
其中,所述第一内核模型、所述第一存储模型以及所述高速串行计算机扩展总线标准发送模型之间通过通用净核数据包进行总线路由以及数据访问;
所述第二内核模型、所述第二存储模型以及所述高速串行计算机扩展总线标准接收模型之间通过所述通用净核数据包进行总线路由以及数据访问。
17.一种存储芯片模型测试方法装置,其特征在于,所述装置包括:
请求模块,用于响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求共享内存中的目标文件描述符,其中,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口,所述非易失性内存主机控制器接口规范命令携带目标测试数据;
写入模块,用于将所述目标测试数据写入所述目标文件描述符指向的所述共享内存中的目标地址空间;
发送读取模块,用于通过套接字线程将所述非易失性内存主机控制器接口规范命令发送至盘侧芯片模型,以使盘侧芯片模型根据所述非易失性内存主机控制器接口规范命令从所述共享内存中的目标地址空间读取所述目标测试数据。
18.一种存储芯片模型测试方法装置,其特征在于,所述装置包括:
获取模块,用于通过套接字线程获取非易失性内存主机控制器接口规范命令;
读取模块,用于根据所述非易失性内存主机控制器接口规范命令从共享内存中的目标地址空间读取目标测试数据;
其中,所述非易失性内存主机控制器接口规范命令携带目标测试数据,所述目标测试数据存储于目标文件描述符指向的所述共享内存中的目标地址空间,所述目标文件描述符是主机存储芯片模型响应于主机发起的非易失性内存主机控制器接口规范命令,调取预先设置的第一适配模块中的第一封装接口向服务器请求生成的,所述第一适配模块封装有基于所述服务器创建的所述共享内存对应的第一封装接口。
19.一种通信设备,其特征在于,包括:收发机、存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序;
所述处理器,用于读取存储器中的程序实现如权利要求1-8中任意一项所述存储芯片模型测试方法,或者,权利要求9-14中任意一项所述存储芯片模型测试方法。
20.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任意一项所述存储芯片模型测试方法,或者,权利要求9-14中任意一项所述存储芯片模型测试方法。
CN202410223712.3A 2024-02-29 2024-02-29 存储芯片模型测试方法、装置、通信设备及存储介质 Active CN117806892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410223712.3A CN117806892B (zh) 2024-02-29 2024-02-29 存储芯片模型测试方法、装置、通信设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410223712.3A CN117806892B (zh) 2024-02-29 2024-02-29 存储芯片模型测试方法、装置、通信设备及存储介质

Publications (2)

Publication Number Publication Date
CN117806892A true CN117806892A (zh) 2024-04-02
CN117806892B CN117806892B (zh) 2024-06-14

Family

ID=90432190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410223712.3A Active CN117806892B (zh) 2024-02-29 2024-02-29 存储芯片模型测试方法、装置、通信设备及存储介质

Country Status (1)

Country Link
CN (1) CN117806892B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159065B1 (en) * 2002-06-20 2007-01-02 Cypress Semiconductor Corporation Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
US20150143036A1 (en) * 2013-11-19 2015-05-21 Emu Solutions, Inc. Exporting computational capabilities into a block-oriented disk memory
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
US20200381071A1 (en) * 2019-06-03 2020-12-03 Advantest Corporation Systems and methods for simulated device testing using a memory-based communication protocol
CN113342590A (zh) * 2021-08-06 2021-09-03 苏州浪潮智能科技有限公司 NVMe设备调试功能实现方法、装置、设备及存储介质
CN115168129A (zh) * 2022-08-09 2022-10-11 北京得瑞领新科技有限公司 植入仿真器的自动化测试***及ssd硬盘测试方法
WO2022237695A1 (zh) * 2021-05-14 2022-11-17 中兴通讯股份有限公司 基于主机侧大容量内存的高并发协议栈卸载方法、设备、介质
CN115617537A (zh) * 2021-07-14 2023-01-17 Oppo广东移动通信有限公司 一种数据传输方法及装置、存储介质
CN115993937A (zh) * 2023-03-21 2023-04-21 苏州浪潮智能科技有限公司 一种多进程固态硬盘仿真环境实现方法和装置
CN116225932A (zh) * 2023-02-24 2023-06-06 山东云海国创云计算装备产业创新中心有限公司 一种芯片自动化验证方法、***、设备及介质
CN116405421A (zh) * 2023-03-15 2023-07-07 珠海芯业测控有限公司 模拟芯片测试分选机的通信测试方法、***、存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159065B1 (en) * 2002-06-20 2007-01-02 Cypress Semiconductor Corporation Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
US20150143036A1 (en) * 2013-11-19 2015-05-21 Emu Solutions, Inc. Exporting computational capabilities into a block-oriented disk memory
US20200381071A1 (en) * 2019-06-03 2020-12-03 Advantest Corporation Systems and methods for simulated device testing using a memory-based communication protocol
CN112035299A (zh) * 2019-06-03 2020-12-04 爱德万测试公司 用基于存储器的通信协议进行仿真设备测试的***和方法
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
WO2022237695A1 (zh) * 2021-05-14 2022-11-17 中兴通讯股份有限公司 基于主机侧大容量内存的高并发协议栈卸载方法、设备、介质
CN115617537A (zh) * 2021-07-14 2023-01-17 Oppo广东移动通信有限公司 一种数据传输方法及装置、存储介质
CN113342590A (zh) * 2021-08-06 2021-09-03 苏州浪潮智能科技有限公司 NVMe设备调试功能实现方法、装置、设备及存储介质
CN115168129A (zh) * 2022-08-09 2022-10-11 北京得瑞领新科技有限公司 植入仿真器的自动化测试***及ssd硬盘测试方法
CN116225932A (zh) * 2023-02-24 2023-06-06 山东云海国创云计算装备产业创新中心有限公司 一种芯片自动化验证方法、***、设备及介质
CN116405421A (zh) * 2023-03-15 2023-07-07 珠海芯业测控有限公司 模拟芯片测试分选机的通信测试方法、***、存储介质
CN115993937A (zh) * 2023-03-21 2023-04-21 苏州浪潮智能科技有限公司 一种多进程固态硬盘仿真环境实现方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
荀长庆;杨乾明;伍楠;文梅;张春元;: "共享存储可重构计算机软硬件通信的优化实现", 计算机研究与发展, no. 08, 15 August 2013 (2013-08-15) *

Also Published As

Publication number Publication date
CN117806892B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
US11106838B2 (en) Systems, methods, and apparatus to generate an integrated modular architecture model
CN100464193C (zh) 芯片测试***和芯片测试方法
CN116028292B (zh) 用于远程直接内存访问仿真验证的仿真验证***及方法
US9552279B2 (en) Data bus network interface module and method therefor
CN112560377A (zh) 基于虚拟平台与fpga联合的仿真验证方法及***
CN114818599A (zh) 芯片仿真验证***
CN112286746A (zh) 针对axi从设备接口的通用验证平台及方法
CN115688676B (zh) 基于tlm的gpu联合仿真***
CN112732636A (zh) 基于多fpga的芯片原型验证***的配置方法、装置和设备
CN110769002A (zh) 基于LabVIEW的报文解析方法、***、电子设备和介质
CN116401984A (zh) 基于虚拟机的片上***仿真方法及***
CN115496034A (zh) 多模式gpu联合仿真***
CN116225992A (zh) 一种支持虚拟化仿真设备的NVMe验证平台及方法
CN111176926B (zh) 一种基于双口sram的ip核仿真***及仿真方法
CN117032812A (zh) 服务器的管理方法、设备、装置、存储介质和电子设备
CN117806892B (zh) 存储芯片模型测试方法、装置、通信设备及存储介质
CN111858218B (zh) Fpga的amba总线接口调试方法、装置及fpga
CN110727611B (zh) 一种带状态监测的可配置一致性验证***
CN113238933A (zh) 底盘仿真方法、装置、服务器、存储介质及程序产品
CN117076337A (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN115202808A (zh) 一种用于虚拟化环境中片上***的dma方法及***
CN113986817B (zh) 运算芯片访问片内存储区域的方法和运算芯片
CN115134427B (zh) 通信协议协调方法、装置、计算机设备和存储介质
WO2023230883A1 (zh) 一种测试方法、***及装置
CN115903569A (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
TR01 Transfer of patent right

Effective date of registration: 20240701

Address after: 2324, Building 1, Aosheng Building, No. 1166 Xinluo Street, High tech Zone, Jinan City, Shandong Province, 250000

Patentee after: Inspur Computer Technology Co.,Ltd.

Country or region after: China

Address before: Room 401, 4th Floor, Gangsheng Building, No. 2177 Gangxi Road, High-tech Zone, Jinan City, Shandong Province, 250000

Patentee before: Shandong Yunhai guochuang cloud computing equipment industry innovation center Co.,Ltd.

Country or region before: China