CN116804956A - Method for verifying PCIe port - Google Patents

Method for verifying PCIe port Download PDF

Info

Publication number
CN116804956A
CN116804956A CN202310650469.9A CN202310650469A CN116804956A CN 116804956 A CN116804956 A CN 116804956A CN 202310650469 A CN202310650469 A CN 202310650469A CN 116804956 A CN116804956 A CN 116804956A
Authority
CN
China
Prior art keywords
port
pcie
verification
test
mode
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.)
Pending
Application number
CN202310650469.9A
Other languages
Chinese (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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202310650469.9A priority Critical patent/CN116804956A/en
Publication of CN116804956A publication Critical patent/CN116804956A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

The invention relates to the field of storage, in particular to a method for verifying PCIe ports, which can flexibly configure the connection mode of PCIe and Host VIP by configuring compiling parameters and simulation parameters, can flexibly select a single-port verification platform or a double-port verification platform for verification, can flexibly select different PCIe devices for verification of different functions in a double-port mode, overcomes the limitation of only verifying a single port, effectively reduces resource consumption and improves verification efficiency.

Description

Method for verifying PCIe port
Technical Field
The invention relates to the field of storage, in particular to a verification method of a solid state disk, and specifically relates to a method for verifying a PCIe port.
Background
With the advancement of technology, SSD (Solid State Drive, solid state disk) based PCIe interfaces have been commonly used for enterprise-level applications. The single-port SSD has only one path, when a fault occurs, the problem that an upper layer application cannot access is caused, while the dual-port technology allows data to be independently transmitted from two ports, fault tolerance can be provided for any one data path, namely, when one path fails and cannot access, the other path can still be normally accessed.
At present, the server has higher and higher requirements on SSD performance, and has the advantages of adapting to different application scenes, improving the performance and the reliability of SSD and simultaneously supporting SSD with single port and double port. The existing verification platform can only verify the single-port PCIe, and can not verify the single-port PCIe on the same verification platform, and can also verify the double-port PCIe.
Disclosure of Invention
Aiming at the verification scheme of single-port PCIe at present, the invention provides a method for verifying PCIe ports flexibly applied to single-port and double-port PCIe, which is used for realizing that the same verification platform can verify single-port PCIe and also can verify double-port PCIe, thereby solving the problem that the same verification platform can only verify single-port PCIe.
In order to solve the technical problems, the invention adopts the following technical scheme: a method of validating a PCIe port, comprising the steps of:
s01), assigning a variable DUAL_PORT_EN in a makefile to determine a verification mode of a verification platform, wherein the verification mode comprises single-PORT mode verification and double-PORT mode verification;
s02), according to the verification mode configured in the step S01), assigning a value to a variable TEST_DEVICE in a makefile, if the verification mode is a single-port verification mode, configuring the TEST_DEVICE to be a fixed value, verifying the function of a single PCIe controller, and if the verification mode is a double-port verification mode, configuring the TEST_DEVICE to be the fixed value or a random value, and randomly selecting to perform function verification on the single PCIe controller or two PCIe controllers;
s03), verifying the number of channels configured by the platform and connected with the Host VIP according to the configured DUAL_PORT_EN variable, selecting a corresponding connection mode, and simultaneously connecting the verification platform with the PCIe design to be tested;
s04), the verification platform is pre-configured with two connection schemes with PCIe Host VIP, and when single-port PCIe is verified, PCIe is configured to be connected with one Host VIP; when the dual-port PCIe is verified, the PCIe is configured to be connected with the two Host VIPs;
s05), the verification platform determines a current verification mode by analyzing the test_device variable value, and when the current verification mode is a single-port mode, the test_device is configured to be a fixed value; when the DUAL_PORT_EN is in a DUAL PORT mode, the TEST_DEVICE is configured to be a constant value or a random value;
s06), after analyzing the test_device variable value, the verification platform carries out link initialization configuration on the PCIe controller appointed by the variable value, and meanwhile, the related function of the PCIe controller appointed by the variable value is verified; if the PCIe controller specified by the TEST_DEVICE variable value is a single PCIe controller, carrying out link initialization configuration and function verification on the single PCIe controller, and if the PCIe controller specified by the TEST_DEVICE variable value is a dual PCIe controller, carrying out link initialization configuration and function verification on the dual PCIe controller.
Further, during single-port mode verification, 4 channels between the Host VIP and the chip verification platform are all used for transmission of a single PCIe controller, during double-port mode verification, 4 channels between the Host VIP and the chip verification platform are equally divided into two groups, every 2 channels are 1 group, and 2 groups of data channels are independently transmitted.
Further, in step S03), when the verification mode determined by the dual_port_en variable is a single-PORT verification mode, configuring the number of Host VIP channels to be 4, where the PCIe controller to be tested is connected to one Host VIP, and the 4 channels between the Host VIP and the chip verification platform are all used for transmission by a single PCIe controller; when the verification mode determined by the DUAL_PORT_EN variable is a DUAL-PORT verification mode, configuring the number of Host VIP channels to be 2, connecting the PCIe controller to be tested with two Host VIPs, dividing 4 channels between the Host VIPs and the chip verification platform into two groups, wherein each 2 channels are 1 group, and the 2 groups of data channels are respectively connected with the two Host VIPs and are used for transmitting data between the two Host VIPs and the PCIe controller to be tested.
Further, when the verification mode determined by the DUAL_PORT_EN variable is a single-PORT verification mode, the TEST_DEVICE is configured to be a constant value TEST_DEVICE0, that is, to verify the function of PCIe controller0, and when the verification mode determined by the DUAL_PORT_EN variable is a DUAL-PORT verification mode, the TEST_DEVICE is configured to be TEST_DEVICE0, TEST_DEVICE1, TEST_ALL, TEST_RAND, wherein the TEST_RAND has a value range { TEST_DEVICE0, TEST_DEVICE1, TEST_ALL }, and function verification is randomly selected to be performed on PCIe controller0 or PCIe controller1 or both controllers.
The invention has the beneficial effects that: compared with the traditional single-port verification platform, the method has the advantages that the connection mode of PCIe and Host VIP can be flexibly configured through configuration of compiling parameters and simulation parameters, meanwhile, the single-port verification platform or the double-port verification platform can be flexibly selected for verification, and meanwhile, different PCIe devices can be flexibly selected for verification of different functions in a double-port mode, so that the limitation that only one port can be verified is overcome, resource consumption is effectively reduced, and verification efficiency is improved.
Drawings
FIG. 1 is a flow chart of the method of example 1;
FIG. 2 is a schematic diagram of channel allocation and connection between PCIe to be tested and Host VIP during single port verification;
fig. 3 is a schematic diagram of channel allocation and connection between PCIe to be tested and Host VIP during dual port verification.
Detailed Description
The invention will be further described with reference to the drawings and the specific examples.
Example 1
The embodiment discloses a method for verifying a PCIe port, as shown in fig. 1, the implementation steps of the method are as follows:
s01), assigning a variable dual_port_en in makefile to determine whether the authentication platform is single-PORT mode authentication or DUAL-PORT mode authentication. As shown in fig. 2, in the single port mode, 4 lanes are used for transmission by a single PCIe controller, such as PCIe controller0 (controller 0), and in the dual port mode, all data lanes are equally divided into two groups, as shown in fig. 3, 4 lanes are divided into two groups, each 2 lanes is 1 group, and 2 groups of data lanes are independently transmitted.
S02), according to the verification mode configured by the makefile, assigning a variable TEST_DEVICE in the makefile, and if the variable TEST_DEVICE is in a single-port verification mode, configuring the TEST_DEVICE as a fixed value TEST_DEVICE0, namely verifying the function of a single PCIe controller such as PCIe controller0 by default; in the case of dual port authentication mode, test_device may be configured to be a constant value or a random value, i.e., to randomly choose to perform functional authentication on PCIe controller0 or PCIe controller1 or both controllers.
S03), verifying the number of channels configured by the platform and connected with the Host VIP according to the configured DUAL_PORT_EN variable, selecting a corresponding connection mode, and simultaneously connecting the verification platform with the PCIe design to be tested. As shown in fig. 2 and 3, when the single port mode is selected, the number of Host VIP channels is required to be configured to be 4; when the dual port mode is selected, two Host VIP channels are required to be configured, the number of which is 2.
S04), the verification platform configures two connection schemes with PCIe Host VIP in advance, namely, when single-port PCIe is verified, PCIe is configured to be connected with one Host VIP, as shown in figure 2; when dual port PCIe is verified, PCIe is configured to connect to two Host VIPs, as shown in fig. 3.
S05), the verification platform determines a current verification mode by analyzing the test_device variable value, and when the DUAL_PORT_EN is in a single-PORT mode, the test_device is configured to be a fixed value of test_device0; when the DUAL_PORT_EN is in DUAL PORT mode, TEST_DEVICE may be configured as TEST_DEVICE0, TEST_DEVICE1, TEST_ALL, TEST_RAND. The value range of TEST_RAND is { TEST_DEVICE0, TEST_DEVICE1, TEST_ALL }.
S06), after analyzing the TEST_DEVICE variable value, the verification platform performs link initialization configuration on the PCIe controller0 if the TEST_DEVICE variable value is the TEST_DEVICE0, and only verifies related functions of the PCIe controller 0; if the value is the fixed value TEST_DEVICE1, carrying out link initialization configuration and related function verification on the PCIe controller 1; if the value is the fixed value TEST_ALL, the PCIe controller0 and the controller1 need to perform link initialization configuration, and meanwhile, related function verification can be performed. If the verification platform analyzes that the test_device variable value is not the fixed value described above, the input test_device variable value is considered to be wrong, the wrong information is printed and the user exits.
The foregoing description is only of the basic principles and preferred embodiments of the present invention, and modifications and alternatives thereto will occur to those skilled in the art in light of the present invention.

Claims (4)

1. A method of validating a PCIe port, comprising: the method comprises the following steps:
s01), assigning a variable DUAL_PORT_EN in a makefile to determine a verification mode of a verification platform, wherein the verification mode comprises single-PORT mode verification and double-PORT mode verification;
s02), according to the verification mode configured in the step S01), assigning a value to a variable TEST_DEVICE in a makefile, if the verification mode is a single-port verification mode, configuring the TEST_DEVICE to be a fixed value, verifying the function of a single PCIe controller, and if the verification mode is a double-port verification mode, configuring the TEST_DEVICE to be the fixed value or a random value, and randomly selecting to perform function verification on the single PCIe controller or two PCIe controllers;
s03), verifying the number of channels configured by the platform and connected with the Host VIP according to the configured DUAL_PORT_EN variable, selecting a corresponding connection mode, and simultaneously connecting the verification platform with the PCIe design to be tested;
s04), the verification platform is pre-configured with two connection schemes with PCIe Host VIP, and when single-port PCIe is verified, PCIe is configured to be connected with one Host VIP; when the dual-port PCIe is verified, the PCIe is configured to be connected with the two Host VIPs;
s05), the verification platform determines a current verification mode by analyzing the test_device variable value, and when the current verification mode is a single-port mode, the test_device is configured to be a fixed value; when the DUAL_PORT_EN is in a DUAL PORT mode, the TEST_DEVICE is configured to be a constant value or a random value;
s06), after analyzing the test_device variable value, the verification platform carries out link initialization configuration on the PCIe controller appointed by the variable value, and meanwhile, the related function of the PCIe controller appointed by the variable value is verified; if the PCIe controller specified by the TEST_DEVICE variable value is a single PCIe controller, carrying out link initialization configuration and function verification on the single PCIe controller, and if the PCIe controller specified by the TEST_DEVICE variable value is a dual PCIe controller, carrying out link initialization configuration and function verification on the dual PCIe controller.
2. The method of validating a PCIe port of claim 1, wherein: and in the single-port mode verification, 4 channels between the Host VIP and the chip verification platform are all used for transmission of a single PCIe controller, and in the double-port mode verification, the 4 channels between the Host VIP and the chip verification platform are equally divided into two groups, each 2 channels are 1 group, and the 2 groups of data channels are independently transmitted.
3. The method of validating a PCIe port of claim 2, wherein: in step S03), when the verification mode determined by the dual_port_en variable is a single-PORT verification mode, configuring the number of Host VIP channels to be 4, wherein the PCIe controller to be tested is connected with one Host VIP, and the 4 channels between the Host VIP and the chip verification platform are all used for transmission of a single PCIe controller; when the verification mode determined by the DUAL_PORT_EN variable is a DUAL-PORT verification mode, configuring the number of Host VIP channels to be 2, connecting the PCIe controller to be tested with two Host VIPs, dividing 4 channels between the Host VIPs and the chip verification platform into two groups, wherein each 2 channels are 1 group, and the 2 groups of data channels are respectively connected with the two Host VIPs and are used for transmitting data between the two Host VIPs and the PCIe controller to be tested.
4. The method of validating a PCIe port of claim 1, wherein: when the authentication mode determined by the DUAL_PORT_EN variable is a single-PORT authentication mode, the TEST_DEVICE is configured to be a constant value TEST_DEVICE0, that is, the function of PCIe controller0 is authenticated, and when the authentication mode determined by the DUAL_PORT_EN variable is a DUAL-PORT authentication mode, the TEST_DEVICE is configured to be TEST_DEVICE0, TEST_DEVICE1, TEST_ALL and TEST_RAND, wherein the TEST_RAND value range is { TEST_DEVICE0, TEST_DEVICE1, TEST_ALL }, and function authentication is randomly selected for PCIe controller0 or PCIe controller1 or both controllers.
CN202310650469.9A 2023-06-02 2023-06-02 Method for verifying PCIe port Pending CN116804956A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310650469.9A CN116804956A (en) 2023-06-02 2023-06-02 Method for verifying PCIe port

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310650469.9A CN116804956A (en) 2023-06-02 2023-06-02 Method for verifying PCIe port

Publications (1)

Publication Number Publication Date
CN116804956A true CN116804956A (en) 2023-09-26

Family

ID=88080184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310650469.9A Pending CN116804956A (en) 2023-06-02 2023-06-02 Method for verifying PCIe port

Country Status (1)

Country Link
CN (1) CN116804956A (en)

Similar Documents

Publication Publication Date Title
US9917767B2 (en) Maintaining a communication path from a host to a storage subsystem in a network
CN100568211C (en) Realize method and the device of a plurality of I2C of visit with programming device from device
EP1837750A2 (en) Computer system for controlling allocation of physical links and method thereof
US7885805B2 (en) Apparatus, system, and method for simulating multiple hosts
MX2012005934A (en) Multi-interface solid state disk (ssd), processing method and system thereof.
US20100005335A1 (en) Microprocessor interface with dynamic segment sparing and repair
US8244948B2 (en) Method and system for combining multiple SAS expanders into a SAS switch
KR101541113B1 (en) Method, apparatus and system for port multiplier enhancement
US20100064065A1 (en) Connection Device for Connecting a Plurality of Peripheral Devices and Operating Method
KR101580214B1 (en) Method, apparatus and system for port multiplier enhancement
US6829658B2 (en) Compatible signal-to-pin connector assignments for usage with fibre channel and advanced technology attachment disk drives
CN114564428A (en) Airborne electronic equipment I/O port expansion system
CN105094687A (en) Solid-state disk control circuit, solid-state disk device and solid-state disk access system
US20120254578A1 (en) Zone group connectivity indicator
CN104158709A (en) Optical module identification method and port extender
CN116804956A (en) Method for verifying PCIe port
US8340108B2 (en) Apparatus and method for switch zoning via fibre channel and small computer system interface commands
WO2018054048A1 (en) Communication path selection method and apparatus
CN115729470A (en) Data writing method and related equipment
US9747234B2 (en) Solid state drive controlling circuit and related solid state drive device and solid state drive access system
CN101902436A (en) Interplate communication method, device and system
US5895483A (en) Disk array system for performing frequency division multiplex transmissions
US11029882B2 (en) Secure multiple server access to a non-volatile storage device
CN103823635A (en) System and method for automatically allocating SAS [serial attached SCSI (small computer system interface)] addresses
US11747999B1 (en) Automated non-disruptive migration of hosts to an authenticated storage array connection

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