[go: up one dir, main page]

CN115454896A - 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 - Google Patents

基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115454896A
CN115454896A CN202211129924.2A CN202211129924A CN115454896A CN 115454896 A CN115454896 A CN 115454896A CN 202211129924 A CN202211129924 A CN 202211129924A CN 115454896 A CN115454896 A CN 115454896A
Authority
CN
China
Prior art keywords
eid
command
smbus
mctp
destination
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
CN202211129924.2A
Other languages
English (en)
Other versions
CN115454896B (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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202211129924.2A priority Critical patent/CN115454896B/zh
Publication of CN115454896A publication Critical patent/CN115454896A/zh
Application granted granted Critical
Publication of CN115454896B publication Critical patent/CN115454896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及基于SMBUS的SSD MCTP控制消息验证方法、装置、计算机设备及存储介质,该方法,包括:启动SMBUS;分配新地址3Ah;向地址3Ah发送命令;获取目的地E I D的值;发送命令;判断该命令是否丢弃;发送命令;判断该命令是否丢弃;发送命令;判断该命令是否丢弃;发送命令;判断该命令是否丢弃;发送命令,设定E I D;再次发送命令;获取目的地设定E I D的值;判断目的地设定E I D的值是否等于设定值;验证成功。本发明可快速验证MCTP控制消息命令是否正常通过SMBUS链路到达固态硬盘,并将要回复的数据通过MCTP传输协议回传给BMC,通过E I D的验证可以设定不同的E I D避免相同地址通信冲突。

Description

基于SMBUS的SSD MCTP控制消息验证方法、装置、计算机设备 及存储介质
技术领域
本发明涉及固态硬盘MCTP通信存储技术领域,尤其是指基于SMBUS的SSD MCTP控制消息验证方法、装置、计算机设备及存储介质。
背景技术
MCTP(Management Component Transport Protocol,管理组件传输协议,以下简称MCTP),它定义了一个通信模型,用于计算机系统中平台管理子系统元素之间的相互通信,可促进管理控件和其它管理控件或被管理设备之间的通信;它可以在多种总线类型上使用,如SMBUS(System Management Bus,系统管理总线,以下简称SMBUS)和PCIe Bus(Peripheral Component Interconnect Express Bus,外围元件互连标准总线,以下简称PCIe Bus)。在没有主机操作系统或操作系统有故障的计算机中,可以通过计算机主板上的BMC(Baseboard Management Controller,基板管理控件,以下简称BMC)以带外管理的方式使用MCTP协议访问计算机内的被管理设备,如固态硬盘。在NVME-MI (Non-VolatileMemory Express-Management Interface,非易失性存储协议- 管理接口,以下简称NVME-MI)规范中,MCTP处于传输层,支持MCTP的固态硬盘,做带外管理访问时BMC把想要发送的命令按照NVME-MI协议规范组成 MI报文,经过MCTP传输层封装成MCTP报文,MCTP报文通过SMBUS链路发给固态硬盘;固态硬盘收到MCTP报文后将其解封得到MI报文,解析MI报文后获取发送消息,然后将要回复的数据按照MI协议规范组成MI报文;再将回复的MI报文经MCTP传输层封装成MCTP报文;再将MCTP报文通过SMBUS链路发送给BMC,BMC解析MCTP报文后再解析MI报文获取回复的消息。
因此对支持MCTP传输协议的固态硬盘测试其MCTP控制消息命令是非常重要的。若主机不能通过MCTP控制命令Get EID(Endpoint ID,终端识别号,以下简称EID)获取终端ID或不能通过MCTP控制命令Set EID分配正确的MCTP 终端ID,其将导致从BMC发送的命令无法通过SMBUS到达固态硬盘以获取固态硬盘上的信息或命令的执行,这将影响后续的整个NVME-MI功能。
目前市场上带固态硬盘接口的笔记本或台式机电脑大都不支持MCTP over SMBUS的测试,ULINK公司的Driver Master软件及配套的PSPA(PCIe固态硬盘Power Adaptor,PCIe固态硬盘电源适配器,以下简称PSPA)硬件无SMBUS 物理走线且MCTP测试相关接口尚未开发。因此,亟需开发一种基于SMBUS的 SSD MCTP控制消息验证方式。
发明内容
本发明的目的在于克服现有技术的不足,提供基于SMBUS的SSD MCTP控制消息验证方法、装置、计算机设备及存储介质。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,本实施例提供了一种基于SMBUS的SSD MCTP控制消息验证方法,包括以下步骤:
启动SSD上的SMBUS;
通过SMBUS ARP分配新地址,即地址3Ah;
向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
获取MCTP over SMBUS Get EID命令中的目的地EID的值;
判断目的地EID的值是否等于默认值;
若目的地EID的值等于默认值,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即 SOM=1,EOM=1,TO=0;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah的目的地EID发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即 SOM=1,EOM=1,TO=1,标头=2;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即 SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定 EID;
向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
获取目的地设定EID的值;
判断目的地设定EID的值是否等于设定值;
若目的地设定EID的值等于设定值,则验证成功。
其进一步技术方案为:所述通过SMBUS ARP分配新地址,即地址3Ah步骤中,通过SMBUS ARP地址分配命令将设备的默认地址D4改为非D4h或C2h的新地址,即3Ah。
其进一步技术方案为:所述判断目的地EID的值是否等于默认值步骤之后,还包括:若目的地EID的值不等于默认值,则目的地的EID已被配置成功。
其进一步技术方案为:所述判断目的地设定EID的值是否等于设定值步骤之后,还包括:若目的地设定EID的值不等于设定值,则目的地EID设定失败。
第二方面,本实施例提供了一种基于SMBUS的SSD MCTP控制消息验证装置,包括:启动单元,分配单元,第一发送单元,第一获取单元,第一判断单元,第二发送单元,第二判断单元,第三发送单元,第三判断单元,第四发送单元,第四判断单元,第五发送单元,第五判断单元,发送设定单元,第六发送单元,第二获取单元,第六判断单元及验证单元;
所述启动单元,用于启动SSD上的SMBUS;
所述分配单元,用于通过SMBUS ARP分配新地址,即地址3Ah;
所述第一发送单元,用于向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第一获取单元,用于获取MCTP over SMBUS Get EID命令中的目的地 EID的值;
所述第一判断单元,用于判断目的地EID的值是否等于默认值;
所述第二发送单元,用于若目的地EID的值等于默认值,则向地址3Ah 发送MCTPover SMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
所述第二判断单元,用于判断该命令是否丢弃;
所述第三发送单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=0;
所述第三判断单元,用于判断该命令是否丢弃;
所述第四发送单元,用于若该命令丢弃,则向地址3Ah的目的地EID发送 MCTPover SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第四判断单元,用于判断该命令是否丢弃;
所述第五发送单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1,标头=2;
所述第五判断单元,用于判断该命令是否丢弃;
所述发送设定单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
所述第六发送单元,用于向地址3Ah的目的地设定EID再次发送MCTP over SMBUSGet EID命令,即SOM=1,EOM=1,TO=1;
所述第二获取单元,用于获取目的地设定EID的值;
所述第六判断单元,用于判断目的地设定EID的值是否等于设定值;
所述验证单元,用于若目的地设定EID的值等于设定值,则验证成功。
其进一步技术方案为:所述分配单元中,通过SMBUS ARP地址分配命令将设备的默认地址D4改为非D4h或C2h的新地址,即3Ah。
其进一步技术方案为:还包括:默认单元,用于若目的地EID的值不等于默认值,则目的地的EID已被配置成功。
其进一步技术方案为:还包括:失败单元,用于若目的地设定EID的值不等于设定值,则目的地EID设定失败。
第三方面,本实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的基于SMBUS的SSD MCTP控制消息验证方法。
第四方面,本实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的基于SMBUS的SSD MCTP控制消息验证方法。
本发明与现有技术相比的有益效果是:可快速高效地验证MCTP控制消息命令是否正常通过SMBUS链路到达固态硬盘,并将要回复的数据通过MCTP传输协议回传给BMC,通过EID的验证可以设定不同的EID避免相同地址通信的冲突。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SMBUS的SSD MCTP控制消息验证方法的流程示意图;
图2为本发明实施例提供的基于SMBUS的SSD MCTP控制消息验证装置的示意性框图;
图3为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和 /或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
具体地,该基于SMBUS的SSD MCTP控制消息验证方法需要以下要求:
硬件需求:
待测计算机:SANBLAZE RM4服务器;
备注:对于待测计算机,适用于支持SMBUS及MCTP传输协议的服务器,而具体型号并不做强制要求。优选SANBLAZE RM4服务器为测试计算机;
待测固态硬盘:支持SMBUS ARP及MCTP传输协议的M.2固态硬盘;
软件需求:
操作系统:CENT OS 10.464bit;
测试工具:sb_i2c、mi、io;
测试脚本:自编的Shell测试脚本。
具体地,ARP(Address Resolution Protocol地址解析协议)是根据IP 地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的 ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP 应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机。
请参阅图1所示的具体实施例,本发明公开了一种基于SMBUS的SSD MCTP 控制消息验证方法,包括以下步骤:
S1,启动SSD上的SMBUS;
S2,通过SMBUS ARP分配新地址,即地址3Ah;
具体地,通过SMBUS ARP地址分配命令将设备的默认地址D4(基本管理命令专用地址)改为非D4h或C2h的新地址,即3Ah。
S3,向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1, TO=1;
具体地,通过NVME-MI应用接口向地址3Ah发送MCTP over SMBUS Get EID 命令(SOM(Start Of Message,消息开始,以下简称SOM)=1;EOM(End Of Message, 消息结束,以下简称EOM)=1;TO(Tag Owner,标签所有者,以下简称TO)=1)。
S4,获取MCTP over SMBUS Get EID命令中的目的地EID的值;
具体地,通过向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1, EOM=1,TO=1,获取EID值。
S5,判断目的地EID的值是否等于默认值;若目的地EID的值不等于默认值,则目的地的EID已被配置成功,可作为目标设备的访问ID,也可重新配置为指定的EID。
具体地,默认值为00,表示尚未分配MCTP EID。
S6,若目的地EID的值等于默认值,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
具体地,通过NVME-MI向地址3Ah发送MCTP over SMBUS Get EID命令, SOM=0,EOM=1,TO=1;因SOM=0,表示该MCTP命令的第一笔数据不会开始,从而导致该命令错误而被丢弃。
S7,判断该命令是否丢弃;若该命令未丢弃,则处理SOM=0的异常,提示框标注为固件不能将SOM=0时的无效命令丢弃。
S8,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=0;
具体地,通过NVME-MI向地址3Ah发送MCTP over SMBUS Get EID命令, SOM=1,EOM=1,TO=0;因TO=0,表示该MCTP命令不是由主管理控件发起而且被管理控件回复的数据包,从而导致该命令错误而被丢弃。
S9,判断该命令是否丢弃;若该命令未丢弃,则处理TO=0的异常,提示框标注为固件不能将TO=0时的无效命令丢弃。
S10,若该命令丢弃,则向地址3Ah的目的地EID发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
具体地,通过NVME-MI向地址3Ah的目的地EID发送MCTP over SMBUS Get EID命令。由于目的地EID从未被分配过,所以无效的目的地EID导致该命令错误而被丢弃。
S11,判断该命令是否丢弃;若该命令未丢弃,则处理未分配目的地EID 异常,提示框标注为固件不能对带有未分配目的地EID的命令进行丢弃。
S12,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,标头=2;
具体地,通过NVME-MI向地址3Ah发送MCTP over SMBUS Get EID命令,标头(header version)设为2。由于header version为1才是over SMBUS,所以不匹配的介质导致该命令错误而被丢弃。
S13,判断该命令是否丢弃;若该命令未丢弃,则处理标头异常,提示框标注为固件不能对包含有不匹配的介质的命令进行丢弃。
S14,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
具体地,通过NVME-MI向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
具体地,通过NVME-MI向地址3Ah发送MCTP over SMBUS Set EID且EID=11 的命令,即目的地设定EID。
S15,向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1;
具体地,通过NVME-MI向地址3Ah的目的地设定EID再次发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1。由于目的地设定EID刚被成功分配过,所以执行成功。
S16,获取目的地设定EID的值;
具体地,通过向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1。
S17,判断目的地设定EID的值是否等于设定值;若目的地设定EID的值不等于设定值,则目的地EID设定失败,标注SSD MCTP控制消息EID设定无效停止后续验证。
S18,若目的地设定EID的值等于设定值,则验证成功。
具体地,在验证成功后,后续可用该EID作为目标设备的访问ID,进行 MCTP的版本读取。
本发明可快速高效地验证MCTP控制消息命令是否正常通过SMBUS链路到达固态硬盘,并将要回复的数据通过MCTP传输协议回传给BMC,通过EID的验证可以设定不同的EID避免相同地址通信的冲突。
请参阅图2所示,本发明还公开了一种基于SMBUS的SSD MCTP控制消息验证装置,包括:启动单元10,分配单元20,第一发送单元30,第一获取单元40,第一判断单元50,第二发送单元60,第二判断单元70,第三发送单元 80,第三判断单元90,第四发送单元100,第四判断单元110,第五发送单元 120,第五判断单元130,发送设定单元140,第六发送单元150,第二获取单元160,第六判断单元170及验证单元180;
所述启动单元10,用于启动SSD上的SMBUS;
所述分配单元20,用于通过SMBUS ARP分配新地址,即地址3Ah;
所述第一发送单元30,用于向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1;
所述第一获取单元40,用于获取MCTP over SMBUS Get EID命令中的目的地EID的值;
所述第一判断单元50,用于判断目的地EID的值是否等于默认值;
所述第二发送单元60,用于若目的地EID的值等于默认值,则向地址3Ah 发送MCTPover SMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
所述第二判断单元70,用于判断该命令是否丢弃;
所述第三发送单元80,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUSGet EID命令,即SOM=1,EOM=1,TO=0;
所述第三判断单元90,用于判断该命令是否丢弃;
所述第四发送单元100,用于若该命令丢弃,则向地址3Ah的目的地EID 发送MCTPover SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第四判断单元110,用于判断该命令是否丢弃;
所述第五发送单元120,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUSGet EID命令,即SOM=1,EOM=1,TO=1,标头=2;
所述第五判断单元130,用于判断该命令是否丢弃;
所述发送设定单元140,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUSGet EID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
所述第六发送单元150,用于向地址3Ah的目的地设定EID再次发送MCTP overSMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第二获取单元160,用于获取目的地设定EID的值;
所述第六判断单元170,用于判断目的地设定EID的值是否等于设定值;
所述验证单元180,用于若目的地设定EID的值等于设定值,则验证成功。
其中,所述分配单元20中,通过SMBUS ARP地址分配命令将设备的默认地址D4改为非D4h或C2h的新地址,即3Ah。
其中,该装置还包括:默认单元,用于若目的地EID的值不等于默认值,则目的地的EID已被配置成功。
其中,该装置还包括:失败单元,用于若目的地设定EID的值不等于设定值,则目的地EID设定失败。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于SMBUS 的SSDMCTP控制消息验证装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述基于SMBUS的SSD MCTP控制消息验证装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本申请实施例提供的一种计算机设备的示意性框图;该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图3,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种基于SMBUS的SSDMCTP控制消息验证方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种基于SMBUS的SSD MCTP控制消息验证方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备 500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
步骤S1,启动SSD上的SMBUS;
步骤S2,通过SMBUS ARP分配新地址,即地址3Ah;
步骤S3,向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1, TO=1;
步骤S4,获取MCTP over SMBUS Get EID命令中的目的地EID的值;
步骤S5,判断目的地EID的值是否等于默认值;
步骤S6,若目的地EID的值等于默认值,则向地址3Ah发送MCTP over SMBUS GetEID命令,即SOM=0,EOM=1,TO=1;
步骤S7,判断该命令是否丢弃;
步骤S8,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=0;
步骤S9,判断该命令是否丢弃;
步骤S10,若该命令丢弃,则向地址3Ah的目的地EID发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1;
步骤S11,判断该命令是否丢弃;
步骤S12,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1,标头=2;
步骤S13,判断该命令是否丢弃;
步骤S14,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
步骤S15,向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1;
步骤S16,获取目的地设定EID的值;
步骤S17,判断目的地设定EID的值是否等于设定值;
步骤S18,若目的地设定EID的值等于设定值,则验证成功。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的基于SMBUS的SSD MCTP控制消息验证方法。该存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的方法。该程序指令包括以下步骤:
步骤S1,启动SSD上的SMBUS;
步骤S2,通过SMBUS ARP分配新地址,即地址3Ah;
步骤S3,向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1, TO=1;
步骤S4,获取MCTP over SMBUS Get EID命令中的目的地EID的值;
步骤S5,判断目的地EID的值是否等于默认值;
步骤S6,若目的地EID的值等于默认值,则向地址3Ah发送MCTP over SMBUS GetEID命令,即SOM=0,EOM=1,TO=1;
步骤S7,判断该命令是否丢弃;
步骤S8,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=0;
步骤S9,判断该命令是否丢弃;
步骤S10,若该命令丢弃,则向地址3Ah的目的地EID发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1;
步骤S11,判断该命令是否丢弃;
步骤S12,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1,标头=2;
步骤S13,判断该命令是否丢弃;
步骤S14,若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
步骤S15,向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID 命令,即SOM=1,EOM=1,TO=1;
步骤S16,获取目的地设定EID的值;
步骤S17,判断目的地设定EID的值是否等于设定值;
步骤S18,若目的地设定EID的值等于设定值,则验证成功。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。

Claims (10)

1.基于SMBUS的SSD MCTP控制消息验证方法,其特征在于,包括以下步骤:
启动SSD上的SMBUS;
通过SMBUS ARP分配新地址,即地址3Ah;
向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
获取MCTP over SMBUS Get EID命令中的目的地EID的值;
判断目的地EID的值是否等于默认值;
若目的地EID的值等于默认值,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=0;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah的目的地EID发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,标头=2;
判断该命令是否丢弃;
若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
向地址3Ah的目的地设定EID再次发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
获取目的地设定EID的值;
判断目的地设定EID的值是否等于设定值;
若目的地设定EID的值等于设定值,则验证成功。
2.根据权利要求1所述的基于SMBUS的SSD MCTP控制消息验证方法,其特征在于,所述通过SMBUS ARP分配新地址,即地址3Ah步骤中,通过SMBUS ARP地址分配命令将设备的默认地址D4改为非D4h或C2h的新地址,即3Ah。
3.根据权利要求1所述的基于SMBUS的SSD MCTP控制消息验证方法,其特征在于,所述判断目的地EID的值是否等于默认值步骤之后,还包括:若目的地EID的值不等于默认值,则目的地的EID已被配置成功。
4.根据权利要求1所述的基于SMBUS的SSD MCTP控制消息验证方法,其特征在于,所述判断目的地设定EID的值是否等于设定值步骤之后,还包括:若目的地设定EID的值不等于设定值,则目的地EID设定失败。
5.基于SMBUS的SSD MCTP控制消息验证装置,其特征在于,包括:启动单元,分配单元,第一发送单元,第一获取单元,第一判断单元,第二发送单元,第二判断单元,第三发送单元,第三判断单元,第四发送单元,第四判断单元,第五发送单元,第五判断单元,发送设定单元,第六发送单元,第二获取单元,第六判断单元及验证单元;
所述启动单元,用于启动SSD上的SMBUS;
所述分配单元,用于通过SMBUS ARP分配新地址,即地址3Ah;
所述第一发送单元,用于向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第一获取单元,用于获取MCTP over SMBUS Get EID命令中的目的地EID的值;
所述第一判断单元,用于判断目的地EID的值是否等于默认值;
所述第二发送单元,用于若目的地EID的值等于默认值,则向地址3Ah发送MCTP overSMBUS Get EID命令,即SOM=0,EOM=1,TO=1;
所述第二判断单元,用于判断该命令是否丢弃;
所述第三发送单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=0;
所述第三判断单元,用于判断该命令是否丢弃;
所述第四发送单元,用于若该命令丢弃,则向地址3Ah的目的地EID发送MCTP overSMBUS Get EID命令,即SOM=1,EOM=1,TO=1;
所述第四判断单元,用于判断该命令是否丢弃;
所述第五发送单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,标头=2;
所述第五判断单元,用于判断该命令是否丢弃;
所述发送设定单元,用于若该命令丢弃,则向地址3Ah发送MCTP over SMBUS Get EID命令,即SOM=1,EOM=1,TO=1,将目的地EID设定为非特殊定义的EID,即目的地设定EID;
所述第六发送单元,用于向地址3Ah的目的地设定EID再次发送MCTP over SMBUS GetEID命令,即SOM=1,EOM=1,TO=1;
所述第二获取单元,用于获取目的地设定EID的值;
所述第六判断单元,用于判断目的地设定EID的值是否等于设定值;
所述验证单元,用于若目的地设定EID的值等于设定值,则验证成功。
6.根据权利要求5所述的基于SMBUS的SSD MCTP控制消息验证装置,其特征在于,所述分配单元中,通过SMBUS ARP地址分配命令将设备的默认地址D4改为非D4h或C2h的新地址,即3Ah。
7.根据权利要求5所述的基于SMBUS的SSD MCTP控制消息验证装置,其特征在于,还包括:默认单元,用于若目的地EID的值不等于默认值,则目的地的EID已被配置成功。
8.根据权利要求5所述的基于SMBUS的SSD MCTP控制消息验证装置,其特征在于,还包括:失败单元,用于若目的地设定EID的值不等于设定值,则目的地EID设定失败。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的基于SMBUS的SSD MCTP控制消息验证方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-4中任一项所述的基于SMBUS的SSD MCTP控制消息验证方法。
CN202211129924.2A 2022-09-16 2022-09-16 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 Active CN115454896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211129924.2A CN115454896B (zh) 2022-09-16 2022-09-16 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211129924.2A CN115454896B (zh) 2022-09-16 2022-09-16 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN115454896A true CN115454896A (zh) 2022-12-09
CN115454896B CN115454896B (zh) 2025-12-16

Family

ID=84304764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211129924.2A Active CN115454896B (zh) 2022-09-16 2022-09-16 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115454896B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521603A (zh) * 2023-06-30 2023-08-01 北京大禹智芯科技有限公司 一种基于fpga实现mctp协议的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728793B1 (en) * 2000-07-11 2004-04-27 Advanced Micro Devices, Inc. System management bus address resolution protocol proxy device
US20190042161A1 (en) * 2017-05-15 2019-02-07 Huawei Technologies Co., Ltd. Hard Disk Operation Method and Hard Disk Manager
US20210271625A1 (en) * 2020-02-27 2021-09-02 Advantest Corporation NVMe-MI Over SMBus Multi-Master Controller with other SMBus and I2C Masters in a Single FPGA Chip
CN113890748A (zh) * 2021-08-27 2022-01-04 山东云海国创云计算装备产业创新中心有限公司 一种访问mctp设备的方法、系统、设备和存储介质
CN114826962A (zh) * 2022-03-30 2022-07-29 新华三信息技术有限公司 一种链路故障检测方法、装置、设备及机器可读存储介质
CN114996775A (zh) * 2022-06-02 2022-09-02 苏州忆联信息系统有限公司 固态硬盘smbus地址解析协议的测试验证方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728793B1 (en) * 2000-07-11 2004-04-27 Advanced Micro Devices, Inc. System management bus address resolution protocol proxy device
US20190042161A1 (en) * 2017-05-15 2019-02-07 Huawei Technologies Co., Ltd. Hard Disk Operation Method and Hard Disk Manager
US20210271625A1 (en) * 2020-02-27 2021-09-02 Advantest Corporation NVMe-MI Over SMBus Multi-Master Controller with other SMBus and I2C Masters in a Single FPGA Chip
CN113890748A (zh) * 2021-08-27 2022-01-04 山东云海国创云计算装备产业创新中心有限公司 一种访问mctp设备的方法、系统、设备和存储介质
CN114826962A (zh) * 2022-03-30 2022-07-29 新华三信息技术有限公司 一种链路故障检测方法、装置、设备及机器可读存储介质
CN114996775A (zh) * 2022-06-02 2022-09-02 苏州忆联信息系统有限公司 固态硬盘smbus地址解析协议的测试验证方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. SLAIGHT: "Management Component Transport Protocol 6 (MCTP) Base Specification", Retrieved from the Internet <URL:《https://www.dmtf.org/dsp/DSP0236》> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521603A (zh) * 2023-06-30 2023-08-01 北京大禹智芯科技有限公司 一种基于fpga实现mctp协议的方法

Also Published As

Publication number Publication date
CN115454896B (zh) 2025-12-16

Similar Documents

Publication Publication Date Title
US10089028B2 (en) Remote secure drive discovery and access
TWI610167B (zh) 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置
CN104202194B (zh) PCIe拓扑的配置方法和装置
CN110399267B (zh) 一种服务器pcie设备监控方法、系统、设备及可读存储介质
US9734100B2 (en) Network controller sharing between SMM firmware and OS drivers
USRE49226E1 (en) UEFI and operating system driver methods for updating MAC address in LAN-based NIC
CN107632846A (zh) 固件升级方法及装置、机框管理模块
CN102983989B (zh) 一种服务器虚拟地址的迁移方法、装置和设备
US11132215B2 (en) Techniques to facilitate out of band management in a virtualization environment
CN116700747A (zh) 固件升级的方法、控制装置及系统
CN116126613A (zh) 一种PCIe设备的位置检测方法、装置、电子设备及存储介质
CN115509978A (zh) 一种外插设备物理位置确定方法、装置、设备及存储介质
CN116578316A (zh) 设备的固件更新方法、装置、服务器及存储介质
WO2025077202A1 (zh) 基于硬件分区系统的通信控制方法、装置及服务器
CN107506323A (zh) 一种热插拔处理方法及装置
CN104253792A (zh) 基板管理控制器虚拟系统及方法
CN117194299A (zh) 热插拔方法、pcie设备及管理控制器
CN103488606B (zh) 基于节点控制器的请求响应方法和装置
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
CN119376752A (zh) 固件升级方法、固件升级系统及相关设备
CN116521585A (zh) 槽位丝印显示方法、装置、设备及存储介质
TW200304599A (en) Apparatus and method of multicasting or broadcasting data from one partition of a partitioned computer system to a plurality of other partitions
CN118916312A (zh) 一种数据传输方法、装置、系统、计算机设备及存储介质
CN110413554A (zh) 热插拔系统及热插拔方法
CN116204214A (zh) Bmc升级方法、装置、系统、电子设备及存储介质

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