CN115599311A - 极性反转方法及装置、存储介质、电子装置 - Google Patents

极性反转方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN115599311A
CN115599311A CN202211519720.XA CN202211519720A CN115599311A CN 115599311 A CN115599311 A CN 115599311A CN 202211519720 A CN202211519720 A CN 202211519720A CN 115599311 A CN115599311 A CN 115599311A
Authority
CN
China
Prior art keywords
polarity
identifier
hard disk
link
sas
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
CN202211519720.XA
Other languages
English (en)
Other versions
CN115599311B (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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211519720.XA priority Critical patent/CN115599311B/zh
Publication of CN115599311A publication Critical patent/CN115599311A/zh
Application granted granted Critical
Publication of CN115599311B publication Critical patent/CN115599311B/zh
Priority to PCT/CN2023/085260 priority patent/WO2024113571A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请实施例提供了一种极性反转方法及装置、存储介质、电子装置,其中,该方法包括:获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。

Description

极性反转方法及装置、存储介质、电子装置
技术领域
本申请实施例涉及互联网领域,具体而言,涉及一种极性反转方法及装置、存储介质、电子装置。
背景技术
在云计算数据中心领域,随着互联网技术的发展,网络数据剧增,对网络存储要求越来越高,基于SAS协议的SAS controller配合expander实现对硬盘的扩展和管理。SAS具备目前磁盘通道技术里面的最高接口速率,通过采用通道合并技术,SAS支持将多个Phy合入一个port,可提供高达几十G的通道带宽,比如常用的4*SAS宽端口,带宽可达12Gbit/s;SAS的交换构架支持多个设备的扩展,一个SAS域理论上最多可接16128个设备,同时SAS设备支持24×7的多线程设计,可满足多任务的应用;SAS设备基于目前存储领域最成熟的SCSI技术,可兼容SATA,这使得SAS通道技术具备广泛的适用范围和良好兼容性。
目前有很多用于硬盘扩展的SAS卡,不同厂家以及不同型号都有不同的Phy数量及Phy极性。有些存储机器上是板载的SAS扩展槽,其Phy口的TX、RX极性也可能不尽相同,这样就导致每次进行产品开发时都需要先确认物理Phy的极性是否一致,不一致的话需要对驱动进行适配,通过修改逻辑Phy极性的方法来达到Phy极性的一致,这种方法虽然解决了问题,但却耗费大量人力资源,而且需要维护多个驱动版本,增加了开发看护成本。
针对现有技术中,SAS卡的Phy极性与硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种极性反转方法及装置、存储介质、电子装置,以至少解决相关技术中,现有技术中SAS卡的Phy极性与硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信等问题。
根据本申请的一个实施例,提供了一种极性反转方法,包括:获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。
在一个示例性实施例中,获取当前硬盘的产品标识,包括:向目标背板发送智能平台管理接口IPMI指令,其中,所述目标背板中设置有所述硬盘;接收所述目标背板的响应信息,并从所述响应信息中解析出所述产品标识。
在一个示例性实施例中,向目标背板发送智能平台管理接口(IntelligentPlatform Management Interface,简称为IPMI)指令,包括:在所述目标背板为双只读存储器(Programmable Read only memory,简称为PROM)背板的情况下,向双PROM中的第一PROM发送所述IPMI指令,其中,在所述第一PROM未成功获取到所述产品标识的情况下,将所述IPMI指令转发至第二PROM,所述双PROM包括:所述第一PROM,所述第二PROM。
在一个示例性实施例中,所述方法还包括:在所述第一PROM和所述第二PROM均未获取到所述产品标识的情况下,将默认产品标识作为所述当前硬盘的产品标识。
在一个示例性实施例中,向目标背板发送智能平台管理接口IPMI指令之前,所述方法还包括:获取所述目标背板的基带管理控制器BMC所提供的所有IPMI指令;从所述所有IPMI指令中确定向所述目标背板发送的IPMI指令。
在一个示例性实施例中,获取与所述当前硬盘连接的SAS卡的槽位的身份标识,包括:轮询与所述当前硬盘的所有SAS卡,以获取所述所有SAS卡的设备标识;在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中的情况下,获取所述目标设备标识对应的目标总线标识和目标功能标识,其中,所述槽位的身份标识包括:所述目标设备标识,所述目标总线标识,所述目标功能标识。
在一个示例性实施例中,获取与所述当前硬盘连接的SAS卡的类型信息,包括:获取所述当前硬盘的产品标识;根据产品标识和SAS卡的类型信息的对应关系获取所述当前硬盘的产品标识对应的所述SAS卡的类型信息。
在一个示例性实施例中,根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,包括:从所述预设表中查找与所述产品标识,所述身份标识以及所述类型信息均匹配的目标排;从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息,其中,所述极性反转信息包括:需要进行极性反转的SAS卡,以及进行反转的反转方式。
在一个示例性实施例中,根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转极性后的SAS卡与所述当前硬盘通信的过程中:对目标芯片的字段page_code赋值为目标值,并根据赋值目标值后的字段page_code生成反转指令;根据所述反转指令将需要进行极性反转的SAS卡的极性进行反转。
在一个示例性实施例中,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致之后,所述方法还包括:通过反转极性后的SAS卡的上行端口发起链路无效流程;在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力。
在一个示例性实施例中,在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力之后,所述方法还包括:读取所述链路的链路状态;从所述链路状态解析出所述链路的链路速度和链路带宽;确定所述链路速度是否符合第一预设范围,以及所述链路带宽是否符合第二预设范围;在所述链路速度不符合所述第一预设范围,以及所述链路带宽不符合所述第二预设范围的情况下,确定反转极性后的SAS卡的链路配置异常。
在一个示例性实施例中,确定反转极性后的SAS卡的链路配置异常之后,所述方法还包括:对配置异常的链路对应的极性设置为极性不反转;在所述链路的链路恢复能力再次被触发,且所述链路再次被确定为配置异常的情况下,停止对所述配置异常的链路对应的极性进行反转。
根据本申请的另一个实施例,还提供了一种极性反转装置,包括: 获取模块,用于获取当前硬盘的产品标识,所述当前硬盘对应槽位的身份标识,以及与所述当前硬盘连接的SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;第一确定模块,用于根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,硬盘对应槽位的不同身份标识,SAS卡的不同标识信息;第二确定模块,用于根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转后的极性与所述当前硬盘的极性一致。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时执行上述极性反转方法。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器被设置为运行所述计算机程序以执行上述极性反转方法。
通过本申请,能够根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,进而根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。因此,可以解决现有技术中,现有技术中SAS卡的Phy极性与硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信等问题,达到保证SAS卡的Phy极性与硬盘的Phy极性一致的效果。
附图说明
图1是根据本申请实施例的一种可选的极性反转方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种可选的极性反转方法的流程图;
图3是根据本申请实施例的一种可选的SAS卡和硬盘的交互示意图;
图4是根据本申请实施例的一种极性反转装置的结构框图;
图5是根据本申请实施例的一种极性反转装置的另一结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种极性反转方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的一种极性反转方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了更好的理解以下实施例的技术方案,以下对实施例中出现的术语进行解释说明。
外插卡: 在服务器或存储中指的是支持PCIE总线接口的,可以插拔的PCIE设备。
SAS(Serial Attached SCSI):即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。
在本实施例中提供了运行于上述计算机终端的一种极性反转方法,图2是根据本申请实施例的一种可选的极性反转方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
步骤S204,根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;
步骤S206,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。
通过本申请,能够根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,进而根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。因此,可以解决现有技术中,现有技术中SAS卡的Phy极性与硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信等问题,达到保证SAS卡的Phy极性与硬盘的Phy极性一致的效果。
在步骤S202中获取的多个参数信息(产品标识,身份标识,类型信息)的过程,可以通过以下方式实现:
需要说明的是,获取上述参数信息的步骤没有先后顺序的限定,在一个可选的实施例中。
1)通过以下方式获取当前硬盘的产品标识,可以通过以下方案实现:向目标背板发送智能平台管理接口IPMI指令,其中,所述目标背板中设置有所述硬盘;接收所述目标背板的响应信息,并从所述响应信息中解析出所述产品标识。
在所述目标背板为双只读存储器PROM背板的情况下,向双PROM中的第一PROM发送所述IPMI指令,其中,在所述第一PROM未成功获取到所述产品标识的情况下,将所述IPMI指令转发至第二PROM,所述双PROM包括:所述第一PROM,所述第二PROM。
在一个示例性实施例中,在所述第一PROM和所述第二PROM均未获取到所述产品标识的情况下,将默认产品标识作为所述当前硬盘的产品标识。
在一个示例性实施例中,向目标背板发送智能平台管理接口IPMI指令之前,所述方法还包括:获取所述目标背板的基带管理控制器BMC所提供的所有IPMI指令;从所述所有IPMI指令中确定向所述目标背板发送的IPMI指令。
2)获取与所述当前硬盘连接的SAS卡的槽位的身份标识,可以通过以下方案:轮询与所述当前硬盘的所有SAS卡,以获取所述所有SAS卡的设备标识;在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中的情况下,获取所述目标设备标识对应的目标总线标识和目标功能标识,其中,所述槽位的身份标识包括:所述目标设备标识,所述目标总线标识,所述目标功能标识。
可选地,可以在轮询所有SAS卡的过程中,就可以获取到所有SAS卡的身份标识,进而后续就可以从所有SAS卡的身份标识中获取目标总线标识,目标功能标识。
3)获取与所述当前硬盘连接的SAS卡的类型信息,可以通过以下方案实现:获取所述当前硬盘的产品标识;根据产品标识和SAS卡的类型信息的对应关系获取所述当前硬盘的产品标识对应的所述SAS卡的类型信息。
对于步骤S204的实现方式存在多种实现方式,在一个可选实施例中,从所述预设表中查找与所述产品标识,所述身份标识以及所述类型信息均匹配的目标排;从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息,其中,所述极性反转信息包括:需要进行极性反转的SAS卡,以及进行反转的反转方式。
需要说明的是,上述预设表和下述文件的表3一致。例如,在产品标识为P1,SAS类型为板载SAS卡,型号为8072,且身份标识为88:00.0的情况下,确定需要进行极性反转,且将8~15 RX PN反转。
在一个示例性实施例中,根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转极性后的SAS卡与所述当前硬盘通信的过程中,可以通过如下方式实现极性反转:对目标芯片的字段page_code赋值为目标值,以将需要进行极性反转的SAS卡的极性进行反转。具体地,可以是根据赋值目标值后的字段page_code生成反转指令,进而根据所述反转指令将需要进行极性反转的SAS卡的极性进行反转。
在一个示例性实施例中,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致之后,所述方法还包括:通过反转极性后的SAS卡的上行端口发起链路无效流程;在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力。
进一步的,在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力之后,读取所述链路的链路状态;从所述链路状态解析出所述链路的链路速度和链路带宽;确定所述链路速度是否符合第一预设范围,以及所述链路带宽是否符合第二预设范围;在所述链路速度不符合所述第一预设范围,以及所述链路带宽不符合所述第二预设范围的情况下,确定反转极性后的SAS卡的链路配置异常。
本申请实施例还提供了二次确认过程,确定反转极性后的SAS卡的链路配置异常之后,所述方法还包括:对配置异常的链路对应的极性设置为极性不反转;在所述链路的链路恢复能力再次被触发,且所述链路再次被确定为配置异常的情况下,停止对所述配置异常的链路对应的极性进行反转。
综上,本申请实施例提出了一种SAS卡的通用驱动适配方法,以便使用同一驱动即可自动适配不同Phy极性的SAS卡。解决了产线测试系统需要维护多个SAS驱动版本的问题,节省了开发人员的适配、测试的时间,简化了生产测试流程,缩短了产品开发周期,提升了产品的竞争力。
为了更好的理解上述极性反转的实现方案,本申请实施例提供了一种可选实施例,用于对上述实施例的技术方案进行解释说明,但不用于限定上述实施例。
如图3所示,从SAS卡和硬盘之间的交互示意中可以看出,SAS卡和硬盘的上端口的物理层上一个Phy可以理解为是一个接收器,每个Phy有物理TX极性和RX极性。每个Phy都对应有一个SAS 地址,和一个唯一的标识。由于SAS卡的Phy极性与所接扩展或者硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信。本申请实施例在确定了SAS卡中是否有需要反转的极性后,通过目标芯片(例如,pm80xx芯片)提供了通过修改profile page的方法来改变不同物理层端口的逻辑TX、RX方向,从而可以使SAS的物理层端口的极性与所接设备的Phy极性一致。
基于附图3的交互示意图,本申请实施例提供了以下技术方案,具体包括以下步骤:
步骤1:建立产品标识表(product ID table)。可以理解的是,产品表示表可以理解为是以下表1中的第一列,由于每种产品会加载不同类型的SAS 卡,每种SAS卡的Phy端口数量和极性不一致。以下表1中的SAS型号(相当于上述实施例的SAS的标识信息),SAS类型,Phy极性反转是一种示例性说明,并不用于限定产品标识表。
Figure 324583DEST_PATH_IMAGE001
步骤2:建立硬盘的对外扩展的槽位的槽位标识表(slot ID table,相当于上述实施例的硬盘对应的槽位的身份标识),由于每种硬盘产品的对外扩展的slot槽位是固定的,因此,每一个槽位都有固定的PCIE BDF (bus ID、device ID、function ID),相当于上述实施例的总线标识,设备标识,功能标识;
步骤3:建立SAS标识表(SAS ID table,相当于上述实施例的SAS卡的类型信息),由于每种硬盘产品配置的SAS卡芯片型号是已知的,如8072、8070、8073、8054等,即SAS标识表可以为是上述表1中的SAS型号;
需要说明的是,上述步骤1-3在需要的情况下,是完全可以调整实现顺序的,例如,可以先执行步骤2,在执行步骤1,进而再执行步骤3。本申请实施例对此不进行限定。
步骤4:与硬盘连接的PCIE设备开启扫描流程,轮询PCIE拓扑中的PCIE设备,读取每个PCIE设备的设备标识(device ID);在读取到的设备标识在上述步骤2建立的槽位标识表中时,调用SAS 通用驱动的probe,以执行后续流程。需要说明的是,还可能读取到的设备标识不在步骤2中建立的操作标识表中,即可以理解为产品标识未在步骤2中建立的操作标识表中。 如下表2示出了产品标识未在槽位标识表。
Figure 383806DEST_PATH_IMAGE002
步骤5:使能步骤4中获取到的PCIE设备的 device ID :设置device ID对应的当前PCIE为master,并记录当前PCIE设备的BDF号;
步骤6:通过PCIE command寄存器设置pci slot bus master,具体地,可以设置当前PCIE 设备的Type Header中的COMMND(offset=0x04)寄存器的bit2:Bus master enable为1设置pci slot bus master。
步骤7:通过BMC接口读取背板VPD Product ID信息;
具体地,可以通过基带管理控制器BMC提供的IPMI指令读取背板VPD的product ID信息;
其中,本申请实施例的背板VPD为双EEPROM备份,当其中一块EEPROM读取失败时,读取备份EEPROM中保存的Product ID信息;
当双EEPROM备份都读取失败时,记录日志,并使用默认产品ID;
步骤8:通过步骤1-3之后,能够建立一个表3(相当于上述实施例的预设表)。进而通过遍历表3的详细内容,通过当前SAS设备的BDF、slot ID table、product ID table进行综合判断,当前SAS设备是否为板载SAS,是否需要进行极性反转,以及哪些Phy需要极性反转;
具体地,可以通过获取到的PCIE设备的BDF和产品标识在表3中匹配识别出是否需要进行Phy极性的反转,以及如果需要反转,识别出需要对哪几个port进行极性的反转。
Figure 189826DEST_PATH_IMAGE003
步骤9:通过步骤8的判断,分别加载不同的极性反转配置;
需要说明的是,根据步骤8中获取的极性反转情况,通过pm80xx芯片提供的修改profile page的方法来改变不同Phy口的逻辑TX、RX方向,从而可以使SAS的Phy极性与所接设备的Phy极性一致;
通过page_code=9,对当前SAS设备的所有需要进行反转的Phy的TX、RX属性进行依次反转。
步骤10:极性反转配置完成后,通过对SAS卡上行端口发起链路关闭流程。等待100ms后发起链路使能流程,触发PCIE 链路的再训练过程;
步骤11:读取SAS卡与上行端口之间PCIE链路状态:判断链路速度、链路带宽是否正常;若不正常,当前极性SAS卡链路配置异常,记录日志;
根据步骤12,将链路异常的SAS Phy重新配置为RX不反转;然后发起步骤10-步骤11;若仍旧链路异常,则确定当前SAS链路异常,记录日志,不再加载后续驱动配置。
步骤13:进行后续SAS驱动通用配置加载。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种极性反转装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的一种极性反转装置的结构框图,如图4所示,该装置包括:
获取模块40,用于获取当前硬盘的产品标识,所述当前硬盘对应槽位的身份标识,以及与所述当前硬盘连接的SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
第一确定模块42,用于根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,硬盘对应槽位的不同身份标识,SAS卡的不同标识信息;
第二确定模块44,用于根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转后的极性与所述当前硬盘的极性一致。
通过本申请,能够根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,进而根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。因此,可以解决现有技术中,现有技术中SAS卡的Phy极性与硬盘的Phy极性不一致时,就会导致无法与硬盘进行通信等问题,达到保证SAS卡的Phy极性与硬盘的Phy极性一致的效果。
在一个示例性实施例中,获取模块40,还用于向目标背板发送智能平台管理接口IPMI指令,其中,所述目标背板中设置有所述硬盘;接收所述目标背板的响应信息,并从所述响应信息中解析出所述产品标识。
在一个示例性实施例中,获取模块40,还用于在所述目标背板为双只读存储器PROM背板的情况下,向所述双PROM中的第一PROM发送所述IPMI指令,其中,在所述第一PROM未成功获取到所述产品标识的情况下,将所述IPMI指令转发至第二PROM,所述双PROM包括:所述第一PROM,所述第二PROM。
在一个示例性实施例中,在所述第一PROM和所述第二PROM均未获取到所述产品标识的情况下,获取模块40,还用于将默认产品标识作为所述当前硬盘的产品标识。
在一个示例性实施例中,获取模块40,还用于获取所述目标背板的基带管理控制器BMC所提供的所有IPMI指令;从所述所有IPMI指令中确定向所述目标背板发送的IPMI指令。
在一个示例性实施例中,获取模块40,还用于包括:轮询与所述当前硬盘的所有SAS卡,以获取所述所有SAS卡的设备标识;在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中的情况下,获取所述目标设备标识对应的目标总线标识和目标功能标识,其中,所述槽位的身份标识包括:所述目标设备标识,所述目标总线标识,所述目标功能标识。
在一个示例性实施例中,获取模块40,还用于:获取所述当前硬盘的产品标识;根据产品标识和SAS卡的类型信息的对应关系获取所述当前硬盘的产品标识对应的所述SAS卡的类型信息。
在一个示例性实施例中,第一确定模块42,还用于从所述预设表中查找与所述产品标识,所述身份标识以及所述类型信息均匹配的目标排;从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息,其中,所述极性反转信息包括:需要进行极性反转的SAS卡,以及进行反转的反转方式。
在一个示例性实施例中,第二确定模块44,还用于对目标芯片的字段page_code赋值为目标值,并根据赋值目标值后的字段page_code生成反转指令;根据所述反转指令将需要进行极性反转的SAS卡的极性进行反转。
如图5所示,在一个示例性实施例中,上述装置还包括:发起模块46,还用于根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致之后,通过反转极性后的SAS卡的上行端口发起链路无效流程;在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力。
在一个示例性实施例中,上述装置还包括:处理模块48:读取所述链路的链路状态;从所述链路状态解析出所述链路的链路速度和链路带宽;确定所述链路速度是否符合第一预设范围,以及所述链路带宽是否符合第二预设范围;在所述链路速度不符合所述第一预设范围,以及所述链路带宽不符合所述第二预设范围的情况下,确定反转极性后的SAS卡的链路配置异常。
在一个示例性实施例中,上述装置还包括:设置模块50,还用于对配置异常的链路对应的极性设置为极性不反转;在所述链路的链路恢复能力再次被触发,且所述链路再次被确定为配置异常的情况下,停止对所述配置异常的链路对应的极性进行反转。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
S1,获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
S2,根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;
S3,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
S1,获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
S2,根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;
S3,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种极性反转方法,其特征在于,包括:
获取当前硬盘的产品标识,与所述当前硬盘连接的SAS卡的槽位的身份标识,以及与所述SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息;
根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致。
2.根据权利要求1所述的方法,其特征在于,获取当前硬盘的产品标识,包括:
向目标背板发送智能平台管理接口IPMI指令,其中,所述目标背板中设置有所述硬盘;
接收所述目标背板的响应信息,并从所述响应信息中解析出所述产品标识。
3.根据权利要求2所述的方法,其特征在于,向目标背板发送智能平台管理接口IPMI指令,包括:
在所述目标背板为双只读存储器PROM背板的情况下,向双PROM中的第一PROM发送所述IPMI指令,其中,在所述第一PROM未成功获取到所述产品标识的情况下,将所述IPMI指令转发至第二PROM,所述双PROM包括:所述第一PROM,所述第二PROM。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第一PROM和所述第二PROM均未获取到所述产品标识的情况下,将默认产品标识作为所述当前硬盘的产品标识。
5.根据权利要求2所述的方法,其特征在于,向目标背板发送智能平台管理接口IPMI指令之前,所述方法还包括:
获取所述目标背板的基带管理控制器BMC所提供的所有IPMI指令;
从所述所有IPMI指令中确定向所述目标背板发送的IPMI指令。
6.根据权利要求1所述的方法,其特征在于,获取与所述当前硬盘连接的SAS卡的槽位的身份标识,包括:
轮询与所述当前硬盘的所有SAS卡,以获取所述所有SAS卡的设备标识;
在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中的情况下,获取所述目标设备标识对应的目标总线标识和目标功能标识,其中,所述槽位的身份标识包括:所述目标设备标识,所述目标总线标识,所述目标功能标识。
7.根据权利要求1所述的方法,其特征在于,获取与所述当前硬盘连接的SAS卡的类型信息,包括:
获取所述当前硬盘的产品标识;
根据产品标识和SAS卡的类型信息的对应关系获取所述当前硬盘的产品标识对应的所述SAS卡的类型信息。
8.根据权利要求1所述的方法,其特征在于,根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,包括:
从所述预设表中查找与所述产品标识,所述身份标识以及所述类型信息均匹配的目标排;
从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息,其中,所述极性反转信息包括:需要进行极性反转的SAS卡,以及进行反转的反转方式。
9.根据权利要求1所述的方法,其特征在于,根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转极性后的SAS卡与所述当前硬盘通信的过程中:
对目标芯片的字段page_code赋值为目标值,并根据赋值目标值后的字段page_code生成反转指令;
根据所述反转指令将需要进行极性反转的SAS卡的极性进行反转。
10.根据权利要求1所述的方法,其特征在于,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致之后,所述方法还包括:
通过反转极性后的SAS卡的上行端口发起链路无效流程;
在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力。
11.根据权利要求10所述的方法,其特征在于,在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力之后,所述方法还包括:
读取所述链路的链路状态;
从所述链路状态解析出所述链路的链路速度和链路带宽;
确定所述链路速度是否符合第一预设范围,以及所述链路带宽是否符合第二预设范围;
在所述链路速度不符合所述第一预设范围,以及所述链路带宽不符合所述第二预设范围的情况下,确定反转极性后的SAS卡的链路配置异常。
12.根据权利要求11所述的方法,其特征在于,确定反转极性后的SAS卡的链路配置异常之后,所述方法还包括:
对配置异常的链路对应的极性设置为极性不反转;
在所述链路的链路恢复能力再次被触发,且所述链路再次被确定为配置异常的情况下,停止对所述配置异常的链路对应的极性进行反转。
13.一种极性反转装置,其特征在于,包括:
获取模块,用于获取当前硬盘的产品标识,所述当前硬盘对应槽位的身份标识,以及与所述当前硬盘连接的SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
第一确定模块,用于根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,硬盘对应槽位的不同身份标识,SAS卡的不同标识信息;
第二确定模块,用于根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转后的极性与所述当前硬盘的极性一致。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至12任一项中所述的方法的步骤。
15.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至12任一项中所述的方法的步骤。
CN202211519720.XA 2022-11-30 2022-11-30 极性反转方法及装置、存储介质、电子装置 Active CN115599311B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211519720.XA CN115599311B (zh) 2022-11-30 2022-11-30 极性反转方法及装置、存储介质、电子装置
PCT/CN2023/085260 WO2024113571A1 (zh) 2022-11-30 2023-03-30 极性反转方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211519720.XA CN115599311B (zh) 2022-11-30 2022-11-30 极性反转方法及装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN115599311A true CN115599311A (zh) 2023-01-13
CN115599311B CN115599311B (zh) 2023-03-03

Family

ID=84852046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211519720.XA Active CN115599311B (zh) 2022-11-30 2022-11-30 极性反转方法及装置、存储介质、电子装置

Country Status (2)

Country Link
CN (1) CN115599311B (zh)
WO (1) WO2024113571A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113571A1 (zh) * 2022-11-30 2024-06-06 苏州元脑智能科技有限公司 极性反转方法及装置、存储介质、电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383152A (zh) * 2007-09-05 2009-03-11 株式会社东芝 磁盘驱动器中使用高频磁场来辅助写操作的装置
US20180357188A1 (en) * 2017-06-08 2018-12-13 C/O Western Digital Technologies, Inc. Non-volatile storage device with adaptive data bus inversion
CN111984568A (zh) * 2020-08-27 2020-11-24 苏州浪潮智能科技有限公司 一种sas控制器phy端口极性自适应的方法、系统
CN115309334A (zh) * 2022-08-04 2022-11-08 重庆紫光华山智安科技有限公司 磁盘管理方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036314B2 (en) * 2008-05-29 2011-10-11 Lsi Corporation Automatic correction of data polarity on a differential serial bus
US11430509B2 (en) * 2020-02-21 2022-08-30 Micron Technology, Inc. Varying-polarity read operations for polarity-written memory cells
CN113760667B (zh) * 2021-08-25 2024-08-23 联想(北京)有限公司 一种硬盘管理方法、装置、可读存储介质及电子设备
CN114968105A (zh) * 2022-05-27 2022-08-30 国网河北省电力有限公司超高压分公司 一种硬盘类存储数据清除装置
CN115061958A (zh) * 2022-07-05 2022-09-16 中国长城科技集团股份有限公司 一种硬盘识别方法、识别系统、存储介质和计算机设备
CN115599311B (zh) * 2022-11-30 2023-03-03 苏州浪潮智能科技有限公司 极性反转方法及装置、存储介质、电子装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383152A (zh) * 2007-09-05 2009-03-11 株式会社东芝 磁盘驱动器中使用高频磁场来辅助写操作的装置
US20180357188A1 (en) * 2017-06-08 2018-12-13 C/O Western Digital Technologies, Inc. Non-volatile storage device with adaptive data bus inversion
CN111984568A (zh) * 2020-08-27 2020-11-24 苏州浪潮智能科技有限公司 一种sas控制器phy端口极性自适应的方法、系统
CN115309334A (zh) * 2022-08-04 2022-11-08 重庆紫光华山智安科技有限公司 磁盘管理方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113571A1 (zh) * 2022-11-30 2024-06-06 苏州元脑智能科技有限公司 极性反转方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN115599311B (zh) 2023-03-03
WO2024113571A1 (zh) 2024-06-06

Similar Documents

Publication Publication Date Title
US11126352B2 (en) Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
CN114116378B (zh) 获取PCIe设备温度的方法、系统、终端及存储介质
CN115599311B (zh) 极性反转方法及装置、存储介质、电子装置
US20170249165A1 (en) Usb wireless network card configuration methods, host, usb wireless network card and communication system
WO2023143275A1 (zh) 数据处理方法和系统
CN111984557A (zh) 数据处理方法、装置和系统
CN115129249A (zh) Sas链路拓扑识别管理方法、系统、终端及存储介质
CN113177015B (zh) 基于帧头的串口通讯方法和串口芯片
CN114116337A (zh) 基于pcie链路配置的硬盘测试方法、系统、终端及存储介质
CN107908418B (zh) 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备
CN116539992A (zh) 存储设备在位稳定状态检测装置、方法、逻辑模块及介质
CN114201439B (zh) 服务器信号识别优化方法、系统及存储介质
WO2022134918A1 (zh) 虚拟机属性变更方法和装置、存储介质和电子装置
CN115617719A (zh) 硬盘背板盘序的调整方法及装置、存储介质、电子装置
CN113835762B (zh) 硬盘背板默认配置更新方法及系统
CN211044232U (zh) 一种基于iic扩展方式的服务器数据监控装置及服务器
CN107608809B (zh) 异常处理方法及装置
CN113849135A (zh) 日志的访问方法、装置及服务器
CN108733607B (zh) 一种连接通信方法及设备
CN110333820A (zh) 基于逻辑分析装置的闪存数据抓取方法和装置以及设备
CN110688138A (zh) 多联机程序升级方法、装置、多联机系统的设备和介质
CN114613418B (zh) 对固态硬盘的NVMe-MI功能测试的系统及方法
CN114500688B (zh) 设备协议识别的方法、装置、终端及存储介质
CN115878413A (zh) 硬件监控方法及装置、电子设备、存储介质
CN109120422B (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