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

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

Info

Publication number
WO2024113571A1
WO2024113571A1 PCT/CN2023/085260 CN2023085260W WO2024113571A1 WO 2024113571 A1 WO2024113571 A1 WO 2024113571A1 CN 2023085260 W CN2023085260 W CN 2023085260W WO 2024113571 A1 WO2024113571 A1 WO 2024113571A1
Authority
WO
WIPO (PCT)
Prior art keywords
polarity
hard disk
target
identification
sas
Prior art date
Application number
PCT/CN2023/085260
Other languages
English (en)
French (fr)
Inventor
管彦广
Original Assignee
苏州元脑智能科技有限公司
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 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024113571A1 publication Critical patent/WO2024113571A1/zh

Links

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

Definitions

  • the embodiments of the present application relate to the field of the Internet, and specifically, to a polarity reversal method and device, a storage medium, and an electronic device.
  • SAS has the highest interface rate in the current disk channel technology.
  • channel merging technology SAS supports merging multiple phys into one port, which can provide up to tens of G channel bandwidth.
  • the commonly used 4*SAS wide port has a bandwidth of up to 12Gbit/s; SAS's switching architecture supports the expansion of multiple devices.
  • a SAS domain can connect up to 16128 devices.
  • SAS devices support 24 ⁇ 7 multi-threaded design to meet multi-tasking applications; SAS devices are based on the most mature SCSI technology in the current storage field and are compatible with SATA, which makes SAS channel technology have a wide range of applications and good compatibility.
  • the present application provides a polarity reversal method and device, a storage medium, and an electronic device to at least solve the related
  • a polarity reversal method and device when the phy polarity of the SAS card is inconsistent with the phy polarity of the hard disk, it will cause problems such as failure to communicate with the hard disk.
  • a polarity reversal method comprising: obtaining a product identification of a current hard disk, an identity identification of a slot of a SAS card connected to the current hard disk, and type information of the SAS card, wherein the identity identification comprises: a bus identification, a device identification, and a function identification; determining corresponding polarity reversal information from a preset table according to the product identification, the identity identification, and the type information, wherein different columns of the preset table are respectively used to indicate different product identifications of the hard disk, different identity identifications of the slot, and different identification information of the SAS card; and reversing the polarity of the SAS card according to the polarity reversal information so that the reversed polarity is consistent with the polarity of the current hard disk.
  • obtaining the product identification of the current hard disk includes: sending an intelligent platform management interface IPMI instruction to a target backplane, wherein the target backplane is provided with a hard disk; receiving response information from the target backplane, and parsing the product identification from the response information.
  • an Intelligent Platform Management Interface (IPMI) instruction is sent to a target backplane, including: when the target backplane is a dual Programmable Read only memory (PROM) backplane, the IPMI instruction is sent to a first PROM in the dual PROMs, wherein if the first PROM fails to successfully obtain a product identifier, the IPMI instruction is forwarded to a second PROM, and the dual PROMs include: a first PROM and a second PROM.
  • PROM Programmable Read only memory
  • the method further includes: when neither the first PROM nor the second PROM obtains the product identification, using a default product identification as the product identification of the current hard disk.
  • the method before sending the intelligent platform management interface IPMI instruction to the target backplane, the method further includes: acquiring all IPMI instructions provided by the baseband management controller BMC of the target backplane; and determining the IPMI instruction to be sent to the target backplane from all IPMI instructions.
  • obtaining the identity of the slot of the SAS card connected to the current hard disk includes: polling all SAS cards connected to the current hard disk to obtain the device identifications of all SAS cards; when the target device identification in the device identifications of all SAS cards hits a preset table, obtaining the target bus identification and target function identification corresponding to the target device identification, wherein the identity of the slot includes: the target device identification, the target bus identification, and the target function identification.
  • obtaining type information of a SAS card connected to a current hard disk includes: obtaining a product identification of the current hard disk; and obtaining type information of the SAS card corresponding to the product identification of the current hard disk according to a correspondence between the product identification and the type information of the SAS card.
  • the corresponding polarity reversal information is obtained from a preset table according to the product identification, identity identification and type information, including: searching the preset table for a target that matches the product identification, identity identification and type information. row; determine the polarity reversal information corresponding to the product identification, identity identification and type information from the content corresponding to the target row, wherein the polarity reversal information includes: the SAS card that needs to be reversed in polarity, and the reversal method for reversing.
  • whether the polarity of the SAS card needs to be reversed is determined according to the polarity reversal information, so that during the communication between the SAS card after the polarity reversal and the current hard disk: the field page_code of the target chip is assigned a target value, and a reversal instruction is generated according to the field page_code after the target value is assigned; and the polarity of the SAS card that needs to be reversed is reversed according to the reversal instruction.
  • the method further includes: initiating a link invalidation process through the upstream port of the SAS card after the polarity is reversed; after a preset time period, initiating a link enabling process through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link.
  • the method after a preset time period, after initiating a link enabling process through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link, the method also includes: reading the link status of the link; parsing the link speed and link bandwidth of the link from the link status; determining whether the link speed meets the first preset range and whether the link bandwidth meets the second preset range; when the link speed does not meet the first preset range and the link bandwidth does not meet the second preset range, determining that the link configuration of the SAS card after the polarity is reversed is abnormal.
  • the above method after determining that the link configuration of the SAS card after reversing the polarity is abnormal, also includes: setting the polarity corresponding to the link with the configuration abnormality to non-reversal of polarity; when the link recovery capability of the link is triggered again and the link is determined to be abnormally configured again, stopping reversing the polarity corresponding to the link with the configuration abnormality.
  • a polarity reversal device including: an acquisition module, configured to obtain the product identification of the current hard disk, the identity identification of the slot corresponding to the current hard disk, and the type information of the SAS card connected to the current hard disk, wherein the identity identification includes: a bus identification, a device identification, and a function identification; a first determination module, configured to obtain corresponding polarity reversal information from a preset table according to the product identification, the identity identification and the type information, wherein different columns of the preset table are respectively used to indicate different product identifications of the hard disk, different identity identifications of the slot corresponding to the hard disk, and different identification information of the SAS card; a second determination module, configured to determine whether the polarity of the SAS card needs to be reversed according to the polarity reversal information, so that the reversed polarity is consistent with the polarity of the current hard disk.
  • an acquisition module configured to obtain the product identification of the current hard disk, the identity identification of the slot corresponding to the current hard disk, and the
  • a computer-readable storage medium in which a computer program is stored, wherein the computer program performs the above-mentioned polarity inversion method when executed by a processor.
  • an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor is configured to execute the computer program to execute the above-mentioned polarity inversion method.
  • the corresponding polarity reversal information can be determined from the preset table according to the product identification, identity identification and type information, and then the polarity of the SAS card can be reversed according to the polarity reversal information, so that the reversed polarity is consistent with the polarity of the current hard disk. Therefore, the problem in the prior art that when the phy polarity of the SAS card is inconsistent with the phy polarity of the hard disk, it will lead to the inability to communicate with the hard disk, etc., and the effect of ensuring that the phy polarity of the SAS card is consistent with the phy polarity of the hard disk can be achieved.
  • FIG1 is a hardware structure block diagram of a computer terminal according to an optional polarity reversal method of an embodiment of the present application
  • FIG2 is a flow chart of an optional polarity reversal method according to an embodiment of the present application.
  • FIG3 is a schematic diagram of an optional interaction between a SAS card and a hard disk according to an embodiment of the present application
  • FIG4 is a structural block diagram of a polarity reversal device according to an embodiment of the present application.
  • FIG. 5 is another structural block diagram of a polarity reversal device according to an embodiment of the present application.
  • FIG. 1 is a hardware structure block diagram of a mobile terminal of a polarity reversal method in an embodiment of the present application.
  • the mobile terminal may include one or more (only one is shown in FIG. 1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input/output device 108 for communication functions.
  • processors 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA
  • the mobile terminal may also include a transmission device 106 and an input/output device 108 for communication functions.
  • FIG. 1 is only for illustration and does not limit the structure of the mobile terminal.
  • the mobile terminal may also include more or fewer components than those shown in FIG. 1 , or have a configuration different from that shown in FIG. 1 .
  • the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as a computer program corresponding to a polarity reversal method in an embodiment of the present application.
  • the processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implements the above method.
  • the memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to The Internet, corporate intranet, local area network, mobile communication network and their combinations.
  • the transmission device 106 is used to receive or send data via a network.
  • the specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.
  • RF Radio Frequency
  • Plug-in card In servers or storage, it refers to a pluggable PCIE device that supports the PCIE bus interface.
  • SAS Serial Attached SCSI
  • Serial SCSI technology is a disk connection technology that combines the advantages of parallel SCSI and serial connection technologies (such as FC, SSA, IEEE1394, etc.), uses serial communication protocol as the protocol infrastructure, adopts SCSI-3 extended instruction set, and is compatible with SATA devices. It is a multi-level storage device connection protocol stack.
  • FIG. 2 is a flow chart of an optional polarity reversal method according to an embodiment of the present application. As shown in FIG. 2 , the process includes the following steps:
  • Step S202 obtaining the product identification of the current hard disk, the identification of the slot of the SAS card connected to the current hard disk, and the type information of the SAS card, wherein the identification includes: bus identification, device identification, and function identification;
  • Step S204 determining corresponding polarity reversal information from a preset table according to the product identification, identity identification and type information, wherein different columns of the preset table are used to indicate different product identifications of the hard disk, different identity identifications of the slot, and different identification information of the SAS card;
  • Step S206 inverting the polarity of the SAS card according to the polarity inversion information, so that the polarity after inversion is consistent with the polarity of the current hard disk.
  • the corresponding polarity reversal information can be determined from the preset table according to the product identification, identity identification and type information, and then the polarity of the SAS card can be reversed according to the polarity reversal information, so that the reversed polarity is consistent with the polarity of the current hard disk. Therefore, the problem in the prior art that when the phy polarity of the SAS card is inconsistent with the phy polarity of the hard disk, it will lead to the inability to communicate with the hard disk, etc., and the effect of ensuring that the phy polarity of the SAS card is consistent with the phy polarity of the hard disk can be achieved.
  • step S202 The process of obtaining multiple parameter information (product identification, identity identification, type information) in step S202 can be implemented in the following way:
  • an IPMI instruction is sent to the first PROM in the dual PROM, wherein if the first PROM fails to obtain the product identification, the IPMI instruction is forwarded to the second PROM, and the dual PROM includes: a first PROM and a second PROM.
  • a default product identification is used as the product identification of the current hard disk.
  • the method before sending the intelligent platform management interface IPMI instruction to the target backplane, the method further includes: acquiring all IPMI instructions provided by the baseband management controller BMC of the target backplane; and determining the IPMI instruction to be sent to the target backplane from all IPMI instructions.
  • the identities of all SAS cards can be obtained during the process of polling all SAS cards, and then the target bus identifier and the target function identifier can be obtained from the identities of all SAS cards.
  • Obtaining the type information of the SAS card connected to the current hard disk can be achieved by the following scheme: obtaining the product identification of the current hard disk; obtaining the type information of the SAS card corresponding to the product identification of the current hard disk according to the correspondence between the product identification and the type information of the SAS card.
  • step S204 There are multiple implementation methods for step S204.
  • a target row that matches the product identification, identity identification and type information is searched from a preset table; polarity reversal information corresponding to the product identification, identity identification and type information is determined from the content corresponding to the target row, wherein the polarity reversal information includes: a SAS card that needs to be polarity reversed, and a reversal method for reversing.
  • the polarity reversal can be achieved in the following way: the field page_code of the target chip is assigned a target value to reverse the polarity of the SAS card that needs to be reversed. Specifically, a reversal instruction can be generated according to the field page_code after the target value is assigned, and then the polarity of the SAS card that needs to be reversed can be reversed according to the reversal instruction. Reverse the polarity of the SAS card that performs polarity reversal.
  • the method further includes: initiating a link invalidation process through the upstream port of the SAS card after the polarity is reversed; after a preset time period, initiating a link enabling process through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link.
  • a link enabling process is initiated through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link, and then the link status of the link is read; the link speed and link bandwidth of the link are parsed from the link status; it is determined whether the link speed meets the first preset range, and whether the link bandwidth meets the second preset range; when the link speed does not meet the first preset range, and the link bandwidth does not meet the second preset range, it is determined that the link configuration of the SAS card after the polarity is reversed is abnormal.
  • the embodiment of the present application also provides a secondary confirmation process. After determining that the link configuration of the SAS card after reversing the polarity is abnormal, the above method also includes: setting the polarity corresponding to the link with the configuration abnormality to non-reversal of polarity; when the link recovery capability of the link is triggered again and the link is determined to be abnormally configured again, stopping reversing the polarity corresponding to the link with the configuration abnormality.
  • the embodiment of the present application proposes a universal driver adaptation method for SAS cards, so that the same driver can be used to automatically adapt to SAS cards with different phy polarities. This solves the problem that the production line test system needs to maintain multiple SAS driver versions, saves developers' adaptation and testing time, simplifies the production test process, shortens the product development cycle, and improves the competitiveness of the product.
  • the embodiment of the present application provides an optional embodiment, which is used to explain the technical scheme of the above embodiment, but is not used to limit the above embodiment.
  • each phy on the physical layer of the upper port of the SAS card and the hard disk can be understood as a receiver, and each phy has a physical TX polarity and an Rx polarity.
  • Each phy corresponds to a SAS address and a unique identifier. Since the phy polarity of the SAS card is inconsistent with the phy polarity of the connected expansion or hard disk, it will lead to the inability to communicate with the hard disk.
  • the embodiment of the present application After determining whether there is a polarity that needs to be reversed in the SAS card, the embodiment of the present application provides a method for changing the logical TX and RX directions of different physical layer ports by modifying the profile page through the target chip (for example, the pm80xx chip), so that the polarity of the physical layer port of the SAS can be consistent with the phy polarity of the connected device.
  • the target chip for example, the pm80xx chip
  • the embodiment of the present application provides the following technical solution, which specifically includes the following steps:
  • Step 1 Create a product ID table. It is understandable that the product ID table can be understood as the first column in Table 1 below. Since each product will load different types of SAS cards, the number of phy ports for each SAS card is The SAS model (equivalent to the SAS identification information of the above embodiment), SAS type, and phy polarity inversion in the following Table 1 are an exemplary description and are not used to limit the product identification table.
  • Step 2 Establish a slot identification table (slot id table, equivalent to the identity identification of the slot corresponding to the hard disk in the above embodiment) of the external expansion slot of the hard disk. Since the external expansion slot of each hard disk product is fixed, each slot has a fixed PCIE BDF (bus id, device id, function id), which is equivalent to the bus identification, device identification, and function identification of the above embodiment;
  • PCIE BDF bus id, device id, function id
  • Step 3 Create a SAS identification table (equivalent to the type information of the SAS card in the above embodiment). Since the SAS card chip model configured for each hard disk product is known, such as 8072, 8070, 8073, 8054, etc., that is, SAS The identification table may be the SAS model in Table 1 above;
  • steps 1-3 can be implemented in an order that is completely adjustable if necessary, for example, step 2 can be performed first, then step 1, and then step 3.
  • step 2 can be performed first, then step 1, and then step 3.
  • step 3 does not limit this.
  • Step 4 The PCIE device connected to the hard disk starts the scanning process, polls the PCIE devices in the PCIE topology, and reads the device ID of each PCIE device; when the read device ID is in the slot ID table established in the above step 2, the probe of the SAS universal driver is called to execute the subsequent process.
  • the device ID that may be read is not in the operation ID table established in step 2, that is, it can be understood that the product ID is not in the operation ID table established in step 2.
  • the following Table 2 shows that the product ID is not in the slot ID table.
  • Step 5 Enable the device ID of the PCIE device obtained in step 4: set the current PCIE corresponding to the device ID to master, and record the BDF number of the current PCIE device;
  • Step 7 Read the backplane VPD Product ID information through the BMC interface
  • the product ID information of the backplane VPD can be read through the IPMI command provided by the baseband management controller BMC;
  • the backplane VPD of the embodiment of the present application is a dual EEPROM backup.
  • the Product ID information stored in the backup EEPROM is read;
  • Step 8 After steps 1-3, a table 3 (equivalent to the preset table in the above embodiment) can be established. Then, by traversing the detailed contents of table 3, a comprehensive judgment is made through the BDF, slot id table, and product id table of the current SAS device to determine whether the current SAS device is an onboard SAS, whether polarity reversal is required, and which phys require polarity reversal;
  • the BDF and product identification of the acquired PCIE device can be matched in Table 3 to identify whether the PHY polarity needs to be reversed, and if so, to identify which ports need to have their polarity reversed.
  • Step 9 Based on the judgment in step 8, different polarity reversal configurations are loaded respectively;
  • the method of modifying the profile page provided by the pm80xx chip can be used to change the logical TX and RX directions of different phy ports, so that the phy polarity of the SAS can be consistent with the phy polarity of the connected device;
  • Step 10 After the polarity reversal configuration is completed, the link shutdown process is initiated on the SAS card upstream port. After waiting for 100ms, the link enable process is initiated to trigger the retraining process of the PCIE link;
  • Step 11 Read the PCIE link status between the SAS card and the upstream port: determine whether the link speed and link bandwidth are normal; if not, the current polarity SAS card link configuration is abnormal, and logs are recorded;
  • step 12 reconfigure the SAS phy with abnormal link to RX non-reversal; then initiate step 10-step 11; if the link is still abnormal, determine that the current SAS link is abnormal, record the log, and do not load the subsequent driver configuration.
  • Step 13 Load the subsequent SAS driver general configuration.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method.
  • the technical solution of the present application, or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of each embodiment of the present application.
  • a storage medium such as ROM/RAM, a disk, or an optical disk
  • a polarity reversal device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated.
  • the term "module” can implement a combination of software and/or hardware of a predetermined function.
  • the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
  • FIG4 is a structural block diagram of a polarity reversal device according to an embodiment of the present application. As shown in FIG4 , the device includes:
  • the acquisition module 40 is configured to acquire the product identification of the current hard disk, the identification of the slot corresponding to the current hard disk, and the type information of the SAS card connected to the current hard disk, wherein the identification includes: bus identification, device identification, and function identification;
  • a first determination module 42 is configured to obtain corresponding polarity reversal information from a preset table according to the product identification, the identity identification and the type information, wherein different columns of the preset table are used to indicate different product identifications of the hard disk, different identity identifications of the slot corresponding to the hard disk, and different identification information of the SAS card;
  • the second determination module 44 is configured to determine whether the polarity of the SAS card needs to be reversed according to the polarity reversal information, so that the polarity after the reversal is consistent with the polarity of the current hard disk.
  • the corresponding polarity reversal information can be determined from the preset table according to the product identification, identity identification and type information, and then the polarity of the SAS card can be reversed according to the polarity reversal information, so that the reversed polarity is consistent with the polarity of the current hard disk. Therefore, the problem in the prior art that when the phy polarity of the SAS card is inconsistent with the phy polarity of the hard disk, it will lead to the inability to communicate with the hard disk, etc., and the effect of ensuring that the phy polarity of the SAS card is consistent with the phy polarity of the hard disk can be achieved.
  • the acquisition module 40 is further configured to send an intelligent platform management interface IPMI instruction to a target backplane, wherein the target backplane is provided with a hard disk; receive response information from the target backplane, and parse the product identification from the response information.
  • IPMI intelligent platform management interface
  • the acquisition module 40 is also configured to send an IPMI instruction to a first PROM in a dual PROM when the target backplane is a dual read-only memory PROM backplane, wherein if the first PROM fails to successfully acquire the product identification, the IPMI instruction is forwarded to the second PROM, and the dual PROM includes: a first PROM and a second PROM.
  • the obtaining module 40 is further configured to use a default product identification as the product identification of the current hard disk.
  • the acquisition module 40 is further configured to acquire all IPMI instructions provided by the baseband management controller BMC of the target backplane; and determine the IPMI instructions sent to the target backplane from all the IPMI instructions.
  • the acquisition module 40 is further configured to include: polling all SAS card to obtain the device identifications of all SAS cards; when the target device identification in the device identifications of all SAS cards hits the preset table, the target bus identification and the target function identification corresponding to the target device identification are obtained, wherein the identity identification of the slot includes: the target device identification, the target bus identification, and the target function identification.
  • the acquisition module 40 is further configured to: acquire the product identification of the current hard disk; and acquire the type information of the SAS card corresponding to the product identification of the current hard disk according to the correspondence between the product identification and the type information of the SAS card.
  • the first determination module 42 is further configured to search a target row that matches the product identification, identity identification and type information from a preset table; determine the polarity reversal information corresponding to the product identification, identity identification and type information from the content corresponding to the target row, wherein the polarity reversal information includes: a SAS card that needs to be polarity reversed, and a reversal method for reversing.
  • the second determination module 44 is further configured to assign a target value to the field page_code of the target chip, and generate a reversal instruction according to the field page_code after the target value is assigned; and reverse the polarity of the SAS card that needs to be reversed according to the reversal instruction.
  • the device further includes: an initiating module 46, which is further configured to invert the polarity of the SAS card according to the polarity inversion information, so that the polarity after inversion is consistent with the polarity of the current hard disk, and then initiate a link invalidation process through the upstream port of the SAS card after the polarity is reversed; after a preset time period, initiate a link enabling process through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link.
  • an initiating module 46 which is further configured to invert the polarity of the SAS card according to the polarity inversion information, so that the polarity after inversion is consistent with the polarity of the current hard disk, and then initiate a link invalidation process through the upstream port of the SAS card after the polarity is reversed; after a preset time period, initiate a link enabling process through the upstream port of the SAS card after the polarity is reversed to trigger the recovery capability of the link.
  • the above-mentioned device also includes: a processing module 48: reading the link status of the link; parsing the link speed and link bandwidth of the link from the link status; determining whether the link speed meets the first preset range, and whether the link bandwidth meets the second preset range; when the link speed does not meet the first preset range, and the link bandwidth does not meet the second preset range, determining that the link configuration of the SAS card after reversing the polarity is abnormal.
  • the above-mentioned device also includes: a setting module 50, which is also configured to set the polarity corresponding to the link with the configuration abnormality to not reverse the polarity; when the link recovery capability of the link is triggered again and the link is determined to be abnormally configured again, stop reversing the polarity corresponding to the link with the configuration abnormality.
  • a setting module 50 which is also configured to set the polarity corresponding to the link with the configuration abnormality to not reverse the polarity; when the link recovery capability of the link is triggered again and the link is determined to be abnormally configured again, stop reversing the polarity corresponding to the link with the configuration abnormality.
  • the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
  • An embodiment of the present application further provides a non-volatile computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
  • S1 obtaining the product identification of the current hard disk, the identification of the slot of the SAS card connected to the current hard disk, and the type information of the SAS card, wherein the identification includes: bus identification, device identification, and function identification;
  • S2 determining corresponding polarity reversal information from a preset table according to the product identification, identity identification and type information, wherein different columns of the preset table are used to indicate different product identifications of the hard disk, different identity identifications of the slot, and different identification information of the SAS card;
  • the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
  • ROM read-only memory
  • RAM random access memory
  • mobile hard disk a magnetic disk or an optical disk.
  • An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • S1 obtaining the product identification of the current hard disk, the identification of the slot of the SAS card connected to the current hard disk, and the type information of the SAS card, wherein the identification includes: bus identification, device identification, and function identification;
  • S2 determining corresponding polarity reversal information from a preset table according to the product identification, identity identification and type information, wherein different columns of the preset table are used to indicate different product identifications of the hard disk, different identity identifications of the slot, and different identification information of the SAS card;
  • the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
  • modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation.
  • the present application is not limited to any specific combination of hardware and software.

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卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识(S202);根据所述产品标识,所述身份标识以及所述类型信息从预设表中确定对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,槽位的不同身份标识,SAS卡的不同标识信息(S204);根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致(S206)。

Description

极性反转方法及装置、存储介质、电子装置
相关申请的交叉引用
本申请要求于2022年11月30日提交中国专利局,申请号为202211519720.X,申请名称为“极性反转方法及装置、存储介质、电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及互联网领域,具体而言,涉及一种极性反转方法及装置、存储介质、电子装置。
背景技术
在云计算数据中心领域,随着互联网技术的发展,网络数据剧增,对网络存储要求越来越高,基于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指令,其中,目标背板中设置有硬盘;接收目标背板的响应信息,并从响应信息中解析出产品标识。
在一个示例性实施例中,向目标背板发送智能平台管理接口(Intelligent Platform 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~15RX 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极性反转是一种示例性说明,并不用于限定产品标识表。
表1
步骤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示出了产品标识未在槽位标识表。
表2
步骤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进行极性的反转。
表3

步骤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 (20)

  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. 根据权利要求6所述的方法,其中,在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中之后,所述方法还包括:
    设置所述目标设备标识对应的SAS卡为master设备。
  8. 根据权利要求1所述的方法,其中,获取与所述当前硬盘连接的SAS卡的类型信息,包括:
    获取所述当前硬盘的产品标识;
    根据产品标识和SAS卡的类型信息的对应关系获取所述当前硬盘的产品标识对应的所述SAS卡的类型信息。
  9. 根据权利要求8所述的方法,其中,获取所述当前硬盘的产品标识,包括:
    通过BMC接口获取所述当前硬盘的产品标识。
  10. 根据权利要求1所述的方法,其中,根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,包括:
    从所述预设表中查找与所述产品标识,所述身份标识以及所述类型信息均匹配的目标排;
    从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息,其中,所述极性反转信息包括:需要进行极性反转的SAS卡,以及进行反转的反转方式。
  11. 根据权利要求10所述的方法,其中,从所述目标排对应的内容中确定与所述产品标识,所述身份标识以及所述类型信息对应的极性反转信息的过程中,所述方法还包括:
    从所述预设表中确定出所述SAS卡是否为板载SAS卡。
  12. 根据权利要求1所述的方法,其中,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致,包括:
    对目标芯片的字段page_code赋值为目标值,并根据赋值目标值后的字段page_code生成反转指令;
    根据所述反转指令将需要进行极性反转的SAS卡的极性进行反转,以使反转后的极性与所述当前硬盘的极性一致。
  13. 根据权利要求12所述的方法,其中,对目标芯片的字段page_code赋值为目标 值,包括:
    对pm80xx芯片提供的字段page_code赋值为目标值。
  14. 根据权利要求1所述的方法,其中,根据所述极性反转信息反转所述SAS卡的极性,以使反转后的极性与所述当前硬盘的极性一致之后,所述方法还包括:
    通过反转极性后的SAS卡的上行端口发起链路无效流程;
    在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力。
  15. 根据权利要求14所述的方法,其中,在预设时间段后,通过所述反转极性后的SAS卡的上行端口发起链路使能流程,以触发所述链路的恢复能力之后,所述方法还包括:
    读取所述链路的链路状态;
    从所述链路状态解析出所述链路的链路速度和链路带宽;
    确定所述链路速度是否符合第一预设范围,以及所述链路带宽是否符合第二预设范围;
    在所述链路速度不符合所述第一预设范围,以及所述链路带宽不符合所述第二预设范围的情况下,确定反转极性后的SAS卡的链路配置异常。
  16. 根据权利要求15所述的方法,其中,确定反转极性后的SAS卡的链路配置异常之后,所述方法还包括:
    对配置异常的链路对应的极性设置为极性不反转;
    在所述链路的链路恢复能力再次被触发,且所述链路再次被确定为配置异常的情况下,停止对所述配置异常的链路对应的极性进行反转。
  17. 一种极性反转装置,包括:
    获取模块,用于获取当前硬盘的产品标识,所述当前硬盘对应槽位的身份标识,以及与所述当前硬盘连接的SAS卡的类型信息,其中,所述身份标识包括:总线标识,设备标识,功能标识;
    第一确定模块,用于根据所述产品标识,所述身份标识以及所述类型信息从预设表中获取对应的极性反转信息,其中,所述预设表的不同列分别用于指示硬盘的不同产品标识,硬盘对应槽位的不同身份标识,SAS卡的不同标识信息;
    第二确定模块,用于根据所述极性反转信息确定所述SAS卡的极性是否需要反转,以使反转后的极性与所述当前硬盘的极性一致。
  18. 根据权利要求17所述的装置,其中,所述获取模块,还用于轮询与所述当前硬 盘的所有SAS卡,以获取所述所有SAS卡的设备标识;在所述所有SAS卡的设备标识中的目标设备标识在所述预设表命中的情况下,获取所述目标设备标识对应的目标总线标识和目标功能标识,其中,所述槽位的身份标识包括:所述目标设备标识,所述目标总线标识,所述目标功能标识。
  19. 一种非易失性的计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至16任一项中所述的方法的步骤。
  20. 一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1至16任一项中所述的方法的步骤。
PCT/CN2023/085260 2022-11-30 2023-03-30 极性反转方法及装置、存储介质、电子装置 WO2024113571A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2024113571A1 true WO2024113571A1 (zh) 2024-06-06

Family

ID=84852046

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (1)

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

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090296859A1 (en) * 2008-05-29 2009-12-03 Faulhaber Steven F Automatic correction of data polarity on a differential serial bus
CN111984568A (zh) * 2020-08-27 2020-11-24 苏州浪潮智能科技有限公司 一种sas控制器phy端口极性自适应的方法、***
US20210264972A1 (en) * 2020-02-21 2021-08-26 Micron Technology, Inc. Varying-polarity read operations for polarity-written memory cells
CN113760667A (zh) * 2021-08-25 2021-12-07 联想(北京)有限公司 一种硬盘管理方法、装置、可读存储介质及电子设备
CN114968105A (zh) * 2022-05-27 2022-08-30 国网河北省电力有限公司超高压分公司 一种硬盘类存储数据清除装置
CN115061958A (zh) * 2022-07-05 2022-09-16 中国长城科技集团股份有限公司 一种硬盘识别方法、识别***、存储介质和计算机设备
CN115599311A (zh) * 2022-11-30 2023-01-13 苏州浪潮智能科技有限公司(Cn) 极性反转方法及装置、存储介质、电子装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818234B2 (ja) * 2007-09-05 2011-11-16 株式会社東芝 磁気記録再生装置
US10621116B2 (en) * 2017-06-08 2020-04-14 Western Digital Technologies, Inc. Non-volatile storage device with adaptive data bus inversion
CN115309334A (zh) * 2022-08-04 2022-11-08 重庆紫光华山智安科技有限公司 磁盘管理方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090296859A1 (en) * 2008-05-29 2009-12-03 Faulhaber Steven F Automatic correction of data polarity on a differential serial bus
US20210264972A1 (en) * 2020-02-21 2021-08-26 Micron Technology, Inc. Varying-polarity read operations for polarity-written memory cells
CN111984568A (zh) * 2020-08-27 2020-11-24 苏州浪潮智能科技有限公司 一种sas控制器phy端口极性自适应的方法、***
CN113760667A (zh) * 2021-08-25 2021-12-07 联想(北京)有限公司 一种硬盘管理方法、装置、可读存储介质及电子设备
CN114968105A (zh) * 2022-05-27 2022-08-30 国网河北省电力有限公司超高压分公司 一种硬盘类存储数据清除装置
CN115061958A (zh) * 2022-07-05 2022-09-16 中国长城科技集团股份有限公司 一种硬盘识别方法、识别***、存储介质和计算机设备
CN115599311A (zh) * 2022-11-30 2023-01-13 苏州浪潮智能科技有限公司(Cn) 极性反转方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN115599311B (zh) 2023-03-03
CN115599311A (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
WO2020052323A1 (zh) 数据存储方法、装置及服务器
US9973351B2 (en) Data processing method and apparatus, storage controller, and cabinet
WO2024113571A1 (zh) 极性反转方法及装置、存储介质、电子装置
CN106970810A (zh) 固件烧录方法和***
CN114116378B (zh) 获取PCIe设备温度的方法、***、终端及存储介质
CN114201421B (zh) 一种数据流处理方法、存储控制节点及可读存储介质
CN113746692A (zh) 网络流量统计的方法、电子设备及存储介质
KR102210289B1 (ko) 하드웨어 관리 통신 프로토콜
CN114025032B (zh) Ems与bms的传输协议方法、***、设备及存储介质
EP3429128B1 (en) Hard drive operation method and hard drive manager
EP3796615B1 (en) Fault tolerance processing method, device, and server
WO2024108940A1 (zh) 一种性能监管方法、装置、***、设备和介质
CN116539992A (zh) 存储设备在位稳定状态检测装置、方法、逻辑模块及介质
WO2022134918A1 (zh) 虚拟机属性变更方法和装置、存储介质和电子装置
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
CN105939278B (zh) 一种流量处理方法及装置
CN113849135A (zh) 日志的访问方法、装置及服务器
CN116489536B (zh) 基于modbusRTU协议通信的高效点位采集方法及装置
CN112840317B (zh) 基于文件传输协议的数据传输方法、装置和电子设备
US20040193761A1 (en) Storage medium storing identifier-correspondence recognizing program, information processing apparatus, and I/O-device sharing system
CN109120422B (zh) 可取得硬件信息的远程服务器***及其管理方法
CN110166558B (zh) 一种多控存储集群的通信方法、装置及设备
CN112448854B (zh) 一种kubernetes复杂网络策略***及其实现方法
WO2017031650A1 (zh) 一种线缆调制解调器的上线配置方法、***及装置
US20230064688A1 (en) Method for operations of virtual machines in monitoring cloud activities, system, and device applying the method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23895739

Country of ref document: EP

Kind code of ref document: A1