Timeout setting method, interaction device, medium, and program product

By dynamically setting timeout values for interconnect units in complex computer systems, the method addresses device interoperation timeouts, ensuring stable and efficient communication between processors and expansion devices, thus preventing system crashes and improving overall system reliability.

CN120075172BActive Publication Date: 2025-07-15INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510527995.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-25
Publication Date
2025-07-15
Estimated Expiration
2045-04-25

AI Technical Summary

Technical Problem

Due to the expansion of the topology of the computer system, the interaction timeout problem between devices is complex, resulting in the system downtime problem not being effectively solved, especially when the processor and the extension device interact through the switching unit, the timeout problem cannot be discovered in time, resulting in system resources exhaustion and downtime.

Method used

By setting the timeout setting value in the switching unit, the processor or extension device constrains the duration of the information sent to the switching unit and sends predetermined information when the timeout is over, thereby avoiding system downtime caused by long-term waiting for a response.

Benefits of technology

It effectively avoids system downtime caused by interaction timeouts, and improves the operating stability and business processing efficiency of the computer system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075172B_ABST
    Figure CN120075172B_ABST
Patent Text Reader

Abstract

The present invention provides a timeout setting method, an interactive device, a medium, and a program product, which can be applied to the field of computer technology. The timeout setting method includes: when it is determined that information interaction is carried out between a processor and an expansion device through a switching unit, determining a timeout setting value for the switching unit, where the timeout setting value for the switching unit is used to constrain the time required for the processor or the expansion device to send information to the switching unit; sending the timeout setting value to the basic input / output system, so that the basic input / output system sends the timeout setting value to the switching unit in response to the completion of the configuration information of the switching unit; wherein, when the switching unit does not receive the information sent by the processor or the expansion device within the period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technologies, and more particularly to a timeout setting method, an interaction device, a medium, and a program product. Background Art

[0002] With the rapid development of big data, cloud computing, and artificial intelligence technologies, the requirements for various application scenarios are also continuously evolving and updating. To meet diverse requirements, the design of the topology structure of computer systems has also become diversified. For example, the topology structure is becoming increasingly complex and the types of devices are constantly increasing. This diversified design can better support requirements such as high concurrency, low latency, high availability, and elastic expansion. However, problems in many aspects such as compatibility, performance bottlenecks, and diverse faults have become increasingly prominent, such as the problem of interaction timeouts between devices. Although manufacturers have optimized devices for the problem of interaction timeouts between devices, due to the expansion of the topology structure, the complexity of the links in the topology structure increases, and the scenarios where interaction timeouts between devices occur are becoming increasingly complex, resulting in the problem of computer system downtime caused by interaction timeouts not being solved. Summary of the Invention

[0003] In view of the above problems, the present invention provides a timeout setting method, a timeout setting device, an interaction device, a medium, and a program product.

[0004] According to a first aspect of the present invention, there is provided a timeout setting method, including: when it is determined that information interaction is performed between a processor and an expansion device through a switching unit, determining a timeout setting value for the switching unit, where the timeout setting value for the switching unit is used to constrain the time required for the processor or the expansion device to send information to the switching unit; sending the timeout setting value to the basic input / output system so that the basic input / output system sends the timeout setting value to the switching unit in response to the completion of the configuration of the configuration information of the switching unit; wherein, when the switching unit does not receive information sent by the processor or the expansion device within the period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device.

[0005] A second aspect of the present invention provides a timeout setting method, including: when it is determined that information interaction is performed between a processor and an expansion device through a switching unit and the configuration of the configuration information of the switching unit is completed, sending an acquisition request for the timeout setting value of the switching unit to a controller so that the controller returns the timeout setting value in response to the acquisition request; when receiving the timeout setting value sent by the controller, sending the timeout setting value to the switching unit; wherein, the timeout setting value is determined according to the timeout setting method provided in the first aspect of the present invention.

[0006] The third aspect of the present invention provides a timeout setting method, including: storing the timeout setting value when it is determined that the timeout setting value sent by the basic input / output system is received; sending predetermined information to the processor or the expansion device when no information sent by the processor or the expansion device is received within the period indicated by the timeout setting value; wherein, the timeout setting value is determined according to the timeout setting method provided by the first aspect of the present invention.

[0007] According to the fourth aspect of the present invention, a timeout setting device is provided, including: a first determination module, configured to determine a timeout setting value for the switching unit when it is determined that information interaction occurs between the processor and the expansion device through the switching unit, and the timeout setting value of the switching unit is used to restrict the duration required for the processor or the expansion device to send information to the switching unit; a first sending module, configured to send the timeout setting value to the basic input / output system, so that the basic input / output system sends the timeout setting value to the switching unit in response to the completion of the configuration of the configuration information of the switching unit; wherein, when no information sent by the processor or the expansion device is received within the period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device.

[0008] The fifth aspect of the present invention provides a timeout setting device, including: a second sending module, configured to send a request for obtaining the timeout setting value for the switching unit to the controller when it is determined that information interaction occurs between the processor and the expansion device through the switching unit and the configuration of the configuration information of the switching unit is completed, so that the controller returns the timeout setting value in response to the obtaining request; a third sending module, configured to send the timeout setting value to the switching unit when the timeout setting value sent by the controller is received; wherein, the timeout setting value is determined according to the timeout setting method provided by the first aspect of the present invention.

[0009] The sixth aspect of the present invention provides a timeout setting device, including: a storage module, configured to store the timeout setting value when it is determined that the timeout setting value sent by the basic input / output system is received; a fourth sending module, configured to send predetermined information to the processor or the expansion device when no information sent by the processor or the expansion device is received within the period indicated by the timeout setting value; wherein, the timeout setting value is determined according to the timeout setting method provided by the first aspect of the present invention.

[0010] A seventh aspect of the present invention provides an interaction device, including: a processor, an expansion device, a switching unit, a basic input / output system, and a controller; wherein, information interaction between the processor and the expansion device is carried out through the switching unit; the controller is configured to determine a timeout setting value of the switching unit, and the timeout setting value of the switching unit is used to restrict the time required for the processor or the expansion device to send information to the switching unit; and send the timeout setting value to the basic input / output system; the basic input / output system is configured to send the timeout setting value to the switching unit when the configuration information of the switching unit is configured; the switching unit is configured to send predetermined information to the processor or the expansion device when it does not receive information sent by the processor or the expansion device within the period indicated by the timeout setting value.

[0011] An eighth aspect of the present invention further provides a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0012] A ninth aspect of the present invention further provides a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0013] According to an embodiment of the present invention, for the case where information interaction between a processor and an expansion device is carried out through a switching unit, since the switching unit sends predetermined information to the processor or the expansion device when it does not receive information sent by the processor or the expansion device within the period indicated by the timeout setting value, it can avoid the computer system from crashing due to the processor or the expansion device waiting for a response for a long time, and improve the running stability of the computer system. Description of the Drawings

[0014] Through the following description of the embodiments of the present invention with reference to the drawings, the above content and other objects, features, and advantages of the present invention will become clearer.

[0015] Figure 1 The application scenario diagram of the timeout setting method, interaction device, medium, and program product according to an embodiment of the present invention is shown.

[0016] Figure 2 The flowchart of the timeout setting method according to an embodiment of the present invention is shown.

[0017] Figure 3 The schematic diagram of determining the timeout setting value of the switching unit according to an embodiment of the present invention is shown.

[0018] Figure 4 The schematic diagram of information interaction between a processor and multiple expansion devices of different types through a switching unit according to an embodiment of the present invention is shown.

[0019] Figure 5 The flowchart of a timeout setting method according to an embodiment of the present invention is shown.

[0020] Figure 6 The flowchart of a timeout setting method according to another embodiment of the present invention is shown.

[0021] Figure 7 The structural block diagram of an interaction device according to an embodiment of the present invention is shown. Detailed implementation manners

[0022] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present invention. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present invention. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present invention.

[0023] The terms used herein are merely for describing specific embodiments and are not intended to limit the present invention. The terms "including", "comprising", etc. used herein indicate the presence of features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0024] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0025] In the case of using expressions such as "at least one of A, B, and C, etc.", generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include, but is not limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).

[0026] In the technical solution of the present invention, the user information involved (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) are all information and data that have been authorized by the user or fully authorized by all parties. Moreover, the processing of relevant data, such as collection, storage, use, processing, transmission, provision, invention, and application, all comply with relevant laws, regulations, and standards, adopt necessary confidentiality measures, do not violate public order and good customs, and provide corresponding operation entrances for users to choose to authorize or reject.

[0027] In the process of implementing the embodiments of the present invention, it is found that although the manufacturer has optimized the device for the problem of device - to - device interaction timeout, however, due to the expansion of the system topology structure, the link complexity in the system topology structure increases, and the scenarios where the device - to - device interaction timeout problem occurs become increasingly complex, resulting in the problem of system downtime caused by interaction timeout not being solved. For example, when a computer device is running, the Central Processing Unit (CPU) and expansion devices need to interact information through a switching unit. However, in relevant examples, when setting the timeout for the CPU or expansion devices, since the timeout setting value of the CPU is used to constrain the time required for the expansion device to return information to the CPU, and the timeout setting value of the storage device is used to constrain the time required for the CPU to return information to the expansion device, the response time of the switching unit is not considered. Therefore, even if the information of the CPU or expansion device has timed out when sent to the switching unit, it will not be detected, the waiting time of the CPU or expansion device becomes longer, and the system does not process this problem in time, resulting in the exhaustion of system resources and ultimately causing downtime.

[0028] Based on this, the present invention proposes a read tracking function for the switching unit. The core mechanism of this function is that when the information interaction between the processor and the expansion device passes through the switching unit (Switch, SW), the switching unit will start a timer when it receives a start signal or operation instruction sent by the processor or expansion device, or when it detects the start of information transmission by the processor or expansion device, etc. If an interaction response is not received within the time period indicated by the timeout setting value, the SW will send a predetermined message to the processor or expansion device, thus avoiding the processor or expansion device triggering the timeout processing rule due to long - time waiting for a response, and further causing system downtime.

[0029] Although the read tracking function performs well in solving the interaction timeout problem caused by some abnormal interactions and can effectively avoid system crashes caused by timeouts. However, if during the operation of a computer system, the timeout setting value is pre-set for the SW as the default value to enable the SW to execute the read tracking function, due to the uneven performance of the SW, in actual applications, the performance of some SWs is poor. Therefore, it will result in the inability to complete normal interactions within the time period indicated by the default value, and further increase the predetermined information returned by the SW to the CPU. Although this does not directly cause a system crash, the business processing efficiency of the system is severely affected. If the default value is increased, although it can avoid the problem of low business processing efficiency of the system caused by the poor performance of some SWs, for some devices, it will instead mask potential performance problems, making it difficult to identify and solve the problems in a timely manner.

[0030] Based on this, an embodiment of the present invention provides a timeout setting method, including: when it is determined that information interaction is carried out between a processor and an expansion device through a switching unit, determining a timeout setting value for the switching unit, where the timeout setting value for the switching unit is used to constrain the duration required for the processor or the expansion device to send information to the switching unit; sending the timeout setting value to the basic input / output system so that the basic input / output system sends the timeout setting value to the switching unit in response to the completion of the configuration information of the switching unit; wherein, when the switching unit does not receive the information sent by the processor or the expansion device within the time period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device.

[0031] Figure 1 The application scenario diagram of the timeout setting method, interaction device, medium and program product according to an embodiment of the present invention is shown.

[0032] As Figure 1 shown, the application scenario 100 according to this embodiment may include a processor 101, a switching unit 102, and an expansion device 103. A medium providing a communication link through a network exists between any two of the processor 101, the switching unit 102, and the expansion device 103. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.

[0033] Information interaction can be carried out between the processor 101 and the expansion device 103. For example, information interaction is carried out between the processor 101 and the expansion device 103 through the switching unit 102. The switching unit 102 can be used to ensure efficient and stable communication and information transmission between the processor 101 and the expansion device 103.

[0034] The processor 101 may include, but is not limited to, a CPU, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), etc.

[0035] The expansion device 103 may include external devices on a computer motherboard connected by a Peripheral Component Interconnect Express (PCIE) that connects the computer motherboard and external devices. For example, the external devices may include, but are not limited to, a graphics card, a network card, a storage device, etc.

[0036] The switching unit 102 may include, but is not limited to, a GPU, a Field-Programmable Gate Array (FPGA), etc.

[0037] For example, when the computer system is running, when starting the server, the Basic Input / Output System may check whether the processor 101, the switching unit 102, and the expansion device 103 are working properly, and initialize the processor 101, the switching unit 102, and the expansion device 103, and set the configuration information for the processor 101, the switching unit 102, and the expansion device 103. The controller may monitor and remotely manage the processor 101, the switching unit 102, and the expansion device 103.

[0038] It should be understood that Figure 1 the numbers of the processor, the switching unit, and the expansion device in

[0039] are merely illustrative. According to the implementation requirements, there may be any number of processors, switching units, and expansion devices. Figure 1 Based on the Figures 2 to 6 scenario described below, the timeout setting method of the inventive embodiments will be described in detail through

[0040] Figure 2 FIG. shows a flowchart of the timeout setting method according to an embodiment of the present invention.

[0041] As Figure 2 shown, the timeout setting method of this embodiment includes operations S210 to S220, and this timeout setting method may be executed by the controller.

[0042] In operation S210, when it is determined that information interaction occurs between the processor and the expansion device through the switching unit, a timeout setting value for the switching unit is determined.

[0043] In operation S220, the timeout setting value is sent to the Basic Input / Output System so that the Basic Input / Output System sends the timeout setting value to the switching unit in response to the completion of the configuration of the switching unit's configuration information.

[0044] In an embodiment of the present invention, the timeout setting value of the switching unit is used to restrict the time required for a processor or an expansion device to send information to the switching unit. In the case where the switching unit does not receive the information sent by the processor or the expansion device within the period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device.

[0045] For example, the predetermined information may include, but is not limited to: retry information, error information, warning information, switching information, etc. The retry information is used for the processor or the expansion device to reconnect to the switching unit or retry the current operation. The error information is used to indicate that the current operation is incorrect. The warning information is used to warn that there are potential problems with the current operation. The switching information is used to indicate that the current operation needs to switch to a standby device.

[0046] For example, when the computer system is running, the controller can monitor the processor such as the CPU and the expansion device such as the storage device. When the controller determines through monitoring that information interaction is required between the CPU and the storage device through the switching unit, the controller can complete the timeout setting for the switching unit through the timeout setting method proposed by the present invention. The controller may include, but is not limited to, a Baseboard Management Controller.

[0047] For example, when the computer system is running and the server is started, the Basic Input / Output System (BIOS) configures the switching unit. After the configuration is completed, when the switching unit receives the timeout setting value, it can restrict the time required for the processor or the expansion device to send information to the switching unit according to the timeout setting value.

[0048] For example, when the computer system processes a certain service, the service needs to be completed jointly by the processor and the expansion device. During the process of the processor and the expansion device jointly completing the service, information interaction is achieved through the switching unit. The controller can configure and manage the timeout setting value for the switching unit through a special command or mechanism. The switching unit starts timing when it receives a start signal or an operation instruction sent by the processor or the expansion device, or when it detects the start of information transmission by the processor or the expansion device, etc. When the cumulative timing time exceeds the period indicated by the timeout setting value, it sends predetermined information to the processor or the expansion device, which can ensure that the switching unit starts the timer at an appropriate time to monitor the timeliness and reliability of information transmission and take corresponding measures when necessary.

[0049] Since the controller can monitor the processor and the expansion device, and the controller can configure and manage the timeout setting value for the switching unit through dedicated commands or mechanisms, the timeout setting value for the switching unit can be determined dynamically, accurately, and efficiently through the controller. Since the basic input / output system initializes or configures the processor, the switching unit, and the expansion device after starting the server every time the computer system processes a certain service, after the controller determines the timeout setting value for the switching unit and sends it to the basic input / output system, after the basic input / output system completes the configuration of the configuration information of the switching unit, it can send the timeout setting value to the switching unit in a timely manner. This ensures that the timeout setting value of the switching unit can avoid system downtime and ensure the service processing efficiency of the computer system. According to an embodiment of the present invention, for the case where information is exchanged between the processor and the expansion device through the switching unit, when the switching unit does not receive information sent by the processor or the expansion device within the time period indicated by the timeout setting value, it sends predetermined information to the processor or the expansion device, which can avoid the computer system from crashing due to the processor or the expansion device waiting for a response for a long time and improve the operating stability of the computer system.

[0050] According to an embodiment of the present invention, for the above operation S210 of determining the timeout setting value of the switching unit, it may include the operations of: sending a setting command for setting the timeout time parameter of the switching unit to the client, so that the client sets the timeout time parameter of the switching unit based on the time required for the processor or the expansion device to send information to the switching unit; and in response to receiving the set timeout time parameter sent by the client, determining the timeout setting value of the switching unit.

[0051] Figure 3 A schematic diagram of determining the timeout setting value of the switching unit according to an embodiment of the present invention is shown.

[0052] As Figure 3 shown, in this embodiment, determining the timeout setting value of the switching unit may include operations S311 to S315. It should be noted that when determining the timeout setting value of the switching unit to constrain the time required for the expansion device to send information to the switching unit, operations S311 to S315 are executed.

[0053] In operation S311, based on a query command for querying the timeout time parameter of the switching unit, query the timeout setting value of the switching unit from the memory.

[0054] In operation S312, determine whether there is a timeout setting value that matches the query command. For example, when it is determined that there is a timeout setting value that matches the query command, operation S313 may be executed. When it is determined that there is no timeout setting value that matches the query command, operation S314 may be executed.

[0055] In operation S313, the timeout setting value that matches the query command is determined as the timeout setting value of the switching unit.

[0056] In operation S314, a setting command for setting the timeout time parameter of the switching unit is sent to the client so that the client sets the timeout time parameter of the switching unit based on the time required for the processor or the expansion device to send information to the switching unit.

[0057] In operation S315, in response to receiving the set timeout time parameter sent by the client, the timeout setting value of the switching unit is determined.

[0058] In an embodiment of the present invention, the controller may pre-create a query command and a setting command. Both the query command and the setting command may be standardized interface commands of the device manufacturer. The query command is used to query the timeout time parameter from the memory. The setting command is used to obtain the timeout time parameter from the client. For example, the controller, such as a baseboard management controller, may communicate with the client through a standardized interface command (Intelligent Platform Management Interface, IPMI) protocol of the device manufacturer to obtain the timeout time parameter.

[0059] For example, when information is exchanged between the current round of the processor and the expansion device through the switching unit, the controller may send the setting command to the client. After the client sets the timeout time parameter of the switching unit, the timeout time parameter is stored in the memory. When information is exchanged between the next round of the processor and the expansion device through the switching unit in the current round, the controller may issue a query command based on the interface of the query command. When there is no timeout setting value that matches the query command, the setting command is sent to the client. After the client sets the timeout time parameter of the switching unit, the timeout setting value of the switching unit is determined, and the timeout time parameter is stored in the memory. The query command may include, but is not limited to, the identifier of the processor or the expansion device. The memory may include, but is not limited to, an external memory, such as an Electrically Erasable Programmable Read Only Memory (EEPROM), etc.

[0060] For example, the timeout parameter may include a predetermined information header identifier and a timeout setting value. The predetermined information header identifier may be, for example, _TRACK_. After the controller receives the timeout parameter of the switching unit set by the client, it may parse the timeout parameter and determine whether the predetermined information header identifier is _TRACK_. If the predetermined information header identifier is not _TRACK_, an error message for the predetermined information header identifier may be returned and the operation may end. If the predetermined information header identifier is _TRACK_, the timeout setting value may be read. The client may set the timeout parameter based on the service requirements of system processing, performance requirements, and the specific conditions of the processor or expansion device.

[0061] For example, the timeout parameter may further include a predetermined information header identifier, a timeout setting value, and a valid time period of the timeout setting value. If the predetermined information header identifier is _TRACK_, the valid time period and the timeout setting value of the timeout setting value may be read, and the validity of the timeout setting value may be judged. If it is within the valid time period and the timeout setting value conforms to the time setting format, the timeout setting value may be read. Since the valid time period of the timeout setting value is judged when the controller obtains the timeout setting value from the client, the timeliness of the timeout setting value can be guaranteed, and it is avoided that the timeout setting value obtained by the controller cannot meet the information interaction scenario at the current moment due to the long communication time between the controller and the client. In addition, by judging the time setting format, it is possible to avoid inaccurate timeout setting values determined by the client due to misoperation.

[0062] According to an embodiment of the present invention, since the controller queries the timeout setting value of the switching unit from the memory, it is possible to avoid the cost overhead caused by the client repeatedly setting for the same device. In addition, through the interaction with the client, the timeout setting value can be set according to the service requirements and performance requirements of the client for system processing, ensuring the efficiency of system processing while avoiding system downtime, and enabling dynamic setting of the timeout setting value for the switching unit, improving the experience of the client.

[0063] According to an embodiment of the present invention, there may be multiple expansion devices, and the types of the multiple expansion devices are different. The timeout parameter of the switching unit may include the identifiers of the respective multiple expansion devices and the timeout setting values corresponding to the identifiers.

[0064] Figure 4 FIG. shows a schematic diagram of information interaction between a processor and multiple expansion devices of different types through a switching unit according to an embodiment of the present invention.

[0065] Such as Figure 4As shown, when the first type of expansion device 4011, the second type of expansion device 4012... the Nth type of expansion device 401N send information to the processor 101 through the switching unit 102 respectively, after the controller sends a setting command to the client, the client can set the respective identifiers of the first type of expansion device 4011, the second type of expansion device 4012... the Nth type of expansion device 401N and the timeout setting values corresponding to the identifiers according to the requirements and device performances of the first type of expansion device 4011, the second type of expansion device 4012... the Nth type of expansion device 401N respectively. N is an integer greater than or equal to 2.

[0066] In the embodiment of the present invention, the timeout setting values for the first type of expansion device 4011, the second type of expansion device 4012... the Nth type of expansion device 401N can be different.

[0067] According to the embodiment of the present invention, when multiple expansion devices have different types, the client sets the identifiers of each device and the timeout setting values corresponding to the identifiers, which can avoid the unreasonable situation of the timeout setting values caused by the large performance difference due to different device types. In addition, it is convenient for the controller to manage the timeout time parameters set by the client.

[0068] According to the embodiment of the present invention, the identifier of any one of the multiple expansion devices can include at least one of the following: the identifier of the device manufacturer, the device identifier.

[0069] For example, the identifier of the device manufacturer can include the identifier of the original device manufacturer (such as Vendor ID, VID) and the identifier of the secondary manufacturer authorized to manufacture the device (such as Subsystem-Vendor Identification, SVID). The device identifier can include the identifier of the device prepared by the original device manufacturer (such as Device ID, DID) and the identifier of the device prepared by the secondary manufacturer authorized to manufacture the device (such as Subsystem-Identification, SSID).

[0070] According to the embodiment of the present invention, through the identifier of the device manufacturer and / or the device identifier, devices with different expansion device identifiers can be distinguished, and then different timeout setting values can be set for different expansion devices, so that when different expansion devices send information to the switching unit, the switching unit can accurately restrict the duration required for the expansion devices to send information.

[0071] According to the embodiment of the present invention, the timeout setting value can include multiple; in addition to the above operations S210~S220, the timeout setting method can also include the operation of storing the multiple timeout setting values and the identifiers corresponding to the timeout setting values in the form of a structure.

[0072] For example, by continuing to use the above interaction example as shown in Figure 4 and the above identification example, the VID, SVID, DID, SSID, and timeout setting values of each of the first type of expansion device 4011, the second type of expansion device 4012... the Nth type of expansion device 401N can be stored in the memory in the form of a structure.

[0073] For example, when storing in the form of a structure, the valid time period of any timeout setting value can also be stored, so that when the controller makes a query, if the timeout setting value that matches the query command obtained by the query has exceeded the valid time period, based on the deletion command for the timeout time parameter of the switching unit, the timeout setting value of the switching unit is deleted from the memory. Since the valid time period for storing the timeout setting value is stored, the controller can timely release the storage space for storing the timeout setting value based on the valid time period, avoiding insufficient memory in the memory.

[0074] According to an embodiment of the present invention, when the types of multiple expansion devices are different, by storing the timeout time parameter in the form of a structure, it is beneficial to the reuse of the timeout time parameter.

[0075] According to an embodiment of the present invention, there can be multiple expansion devices, and the types of the multiple expansion devices are the same. The timeout time parameter of the switching unit includes the timeout setting values of each of the multiple expansion devices, and the timeout setting values of each of the multiple expansion devices are the same.

[0076] According to an embodiment of the present invention, when the types of multiple expansion devices are the same, the timeout setting values of each of the multiple expansion devices are the same, which can simplify the setting operation of the client and simplify the management of the timeout time parameter set by the client by the controller.

[0077] According to another embodiment of the present invention, determining the timeout setting value of the switching unit may include operations: obtaining a test result based on a performance test of the processor or the expansion device; determining the timeout setting value of the switching unit based on the test result and the configuration information of the processor, or the test result and the configuration information of the expansion device.

[0078] In an embodiment of the present invention, performance testing can be performed by operating the processor or the expansion device to send information to the switching unit based on the service requirements and performance requirements of the client. After evaluating the average response time and the maximum response time of the switching unit after the processor or the expansion device sends information to the switching unit, a test result is obtained. According to the configuration information of the processor and the configuration information of the expansion device, the hardware capabilities of the processor and the expansion device can be determined. According to the test result obtained by evaluating the average response time and the maximum response time of the switching unit after the processor sends information to the switching unit and the hardware capabilities of the processor, the timeout setting value of the switching unit is determined. According to the test result obtained by evaluating the average response time and the maximum response time of the switching unit after the expansion device sends information to the switching unit and the hardware capabilities of the expansion device, the timeout setting value of the switching unit is determined.

[0079] For example, the longer the average response time and the maximum response time of the switching unit, the worse the hardware capabilities, and the longer the timeout setting value of the switching unit. On the contrary, the shorter the average response time and the maximum response time of the switching unit, the stronger the hardware capabilities, and the shorter the timeout setting value of the switching unit.

[0080] According to an embodiment of the present invention, since the actual information transmission capabilities of the processor or the expansion device can be accurately estimated through the test results and the configuration information, the timeout setting value of the switching unit can be accurately determined, avoiding the computer system from crashing due to the processor or the expansion device waiting for a response for a long time, and ensuring the service processing efficiency of the computer system.

[0081] According to an embodiment of the present invention, through the timeout setting method provided by the present invention, since the timeout setting value is set from the client, the compatibility between the service platform and the devices of the computer system can be achieved, avoiding frequent complaint handling caused by the crashing problem due to compatibility, making the customer use the computer device more assured, and providing better services for the customer.

[0082] Figure 5 The flowchart of the timeout setting method according to an embodiment of the present invention is shown.

[0083] As Figure 5 shown, the timeout setting method of this embodiment includes operation S510 to operation S520, and this timeout setting method can be executed by the basic input / output system.

[0084] In operation S510, when it is determined that information interaction is performed between the processor and the expansion device through the switching unit and the configuration information of the switching unit is configured, a request for obtaining the timeout setting value for the switching unit is sent to the controller, so that the controller returns the timeout setting value in response to the obtaining request.

[0085] In operation S520, when the timeout setting value sent by the controller is received, the timeout setting value is sent to the switching unit.

[0086] In an embodiment of the present invention, the configuration information may at least include the memory address of the switching unit for storing information.

[0087] Schematically, the configuration information may further include at least one of the following: the maximum rate of the switching unit, the negotiated rate, the maximum bandwidth, the negotiated bandwidth, DID, VID, etc.

[0088] For example, when the computer system is running, start the server and perform the initialization work of the PCIE bus, including setting some basic parameters of the bus, such as but not limited to the clock frequency, bus width, etc. Perform a reset operation on the starting point (Root Complex, RC) on the PCIE bus. The reset operation may include but not limited to device detection, configuration, and data transmission, etc., which will place all devices on the PCIE bus in an unconfigured state. After the reset operation is completed, start scanning the devices on the PCIE bus. The devices confirm the link connection status by sending a specific training sequence, and then enter the configuration phase to determine the bandwidth of the link (such as x1, x4, x8, etc.), allocate channel numbers, and align the channels to ensure that the devices can communicate in the best state. Enter the device link training phase, which is managed by the Link Training and Status State Machine (LTSSM). The device will gradually complete the link initialization according to the state of the LTSSM. After the link is established, the device will perform rate negotiation to determine the working rate of the link (such as gen3, gen4, gen5, etc.). The device will start from the lowest rate and gradually negotiate to the highest rate supported by both parties. After the training is completed, the configuration information on the entire link is configured, including but not limited to the maximum rate, negotiated rate, maximum bandwidth, negotiated bandwidth, DID, VID, etc. supported by each node.

[0089] For example, when there is a switching unit in the node, the basic input / output system sends a start signal (START) and the address of the switching unit, and waits for the switching unit to return the response information. After the response is successful, the basic input / output system sends a request to the controller to obtain the timeout setting value for the switching unit. When the timeout setting value sent by the controller is received, the timeout setting value is sent to the switching unit. After the switching unit saves the timeout setting value, it can inform the basic input / output system that the save is successful. Otherwise, the timeout setting value can be sent to the switching unit again.

[0090] In another embodiment of the present invention, there may be multiple expansion devices. The timeout setting method may include operations: when it is determined that the configuration of the topology structure composed of multiple expansion devices and a switching unit as nodes is completed, sending a request to obtain the timeout setting value for the switching unit to the controller, so that the controller returns the timeout setting value in response to the obtain request. When the timeout setting value sent by the controller is received, polling management is performed on the topology structure. During the polling management process: when it is determined that the current node is the switching unit and the current node is not the terminal node, the timeout setting value is sent to the switching unit until the current node is the terminal node.

[0091] For example, when the types of multiple expansion devices are different, the basic input / output system may send a request to obtain the timeout setting value for the switching unit to the controller, and the controller may send the timeout setting value corresponding to the identifier. The switching unit stores the identifier and the timeout setting value corresponding to the identifier. The identifier and the timeout setting value are in one-to-one correspondence.

[0092] For example, during the operation of the system, when the basic input / output system performs polling management on the nodes in the topology structure, if the current node is the switching unit, a request to obtain the timeout setting value for the switching unit may be sent to the controller. The obtain request may include the DID, VID, SSID, and SVID of multiple expansion devices. The controller may query the timeout setting value of the corresponding switching unit in the memory according to the DID, VID, SSID, and SVID of the corresponding expansion device, or send a setting request to the client to obtain the timeout setting value of the corresponding switching unit.

[0093] For example, during the operation of the system, when the basic input / output system performs polling management on the nodes in the topology structure, if the current node is the terminal node, the DID, VID, SSID, and SVID of the device corresponding to the current node may be obtained and it may be queried whether there is a switching unit in the upstream link of the device. If there is no switching unit, polling management may continue. If there is a switching unit in the upstream link, a request to obtain the timeout setting value for the switching unit may be sent to the controller. The obtain request includes the DID, VID, SSID, and SVID of the device corresponding to the current node. The controller may query the timeout setting value of the corresponding switching unit in the memory according to the DID, VID, SSID, and SVID of the device corresponding to the current node, or send a setting request to the client to obtain the timeout setting value of the corresponding switching unit of the device corresponding to the current node.

[0094] It should be noted that the timeout setting value may be determined according to the above-mentioned timeout setting method executed by the controller, which will not be elaborated here.

[0095] Schematically, the basic input / output system may also send the storage address of the configuration information to the switching unit.

[0096] According to an embodiment of the present invention, when the configuration of the switching unit is completed through the basic input / output system, obtaining the timeout setting value of the switching unit can accurately send the timeout setting value to the switching unit, which is beneficial for the switching unit to send a predetermined message to the processor or the expansion device when no message sent by the processor or the expansion device is received within the period indicated by the timeout setting value, and can prevent the processor or the expansion device from crashing due to waiting for a response for a long time, thereby improving the operation stability of the computer system.

[0097] Figure 6 The flowchart of the timeout setting method according to another embodiment of the present invention is shown.

[0098] As Figure 6 shown, the timeout setting method of this embodiment includes operations S610 to S620, and this timeout setting method can be executed by the switching unit.

[0099] In operation S610, when it is determined that the timeout setting value sent by the basic input / output system is received, the timeout setting value is stored.

[0100] In operation S620, when no message sent by the processor or the expansion device is received within the period indicated by the timeout setting value, a predetermined message is sent to the processor or the expansion device.

[0101] Exemplarily, a timer can be started while storing the timeout setting value to measure the duration required for the message sent by the processor or the expansion device. When the timing reaches a period exceeding the period indicated by the timeout setting value, operation S620 is executed.

[0102] It should be noted that the timeout setting value can be determined according to the above-mentioned timeout setting method executed by the controller, which will not be elaborated here. The predetermined message corresponds to the predetermined message in the above-mentioned timeout setting method executed by the controller, which will not be elaborated here.

[0103] According to an embodiment of the present invention, setting the timeout setting value on the switching unit can determine the timeout problem caused by the processor or the expansion device or the switching unit in a relatively short time.

[0104] According to an embodiment of the present invention, for operation S610, storing the timeout setting value may include operations: reading the configuration information based on the storage address of the configuration information to obtain the storage address for storing the timeout setting value, and the storage address of the configuration information is configured and sent by the basic input / output system. Based on the storage address of the timeout setting value, the timeout setting value is stored.

[0105] According to an embodiment of the present invention, by reading the configuration information, the storage address for storing the timeout setting value can be accurately obtained, and then the storage can be accurately performed.

[0106] According to an embodiment of the present invention, based on the storage address of the timeout setting value, the timeout setting value can be stored, which may include operations: when it is determined that the historical timeout setting value is not stored in the memory indicated by the storage address of the timeout setting value, writing the timeout setting value into the memory; when it is determined that the historical timeout setting value is already stored in the memory, updating the historical timeout setting value to the timeout setting value.

[0107] Exemplarily, the historical timeout setting value may indicate the timeout setting value stored during the previous computer operation before the current computer operation.

[0108] Exemplarily, the memory may include but is not limited to registers.

[0109] According to an embodiment of the present invention, by determining whether the historical timeout setting value is stored in the memory, the initialization efficiency of the computer system can be avoided, data consistency can be ensured, and overall stability can be enhanced.

[0110] Based on the above timeout setting method, the present invention also provides an interaction device. The following will be combined with Figure 7 to describe the interaction device in detail.

[0111] Figure 7 The structural block diagram of an interaction device according to an embodiment of the present invention is shown.

[0112] As Figure 7 shown, the interaction device 700 of this embodiment may include: a processor 101, an expansion device 103, a switching unit 102, a basic input / output system 701, and a controller 702.

[0113] Information interaction is performed between the processor 101 and the expansion device 103 through the switching unit 102.

[0114] The controller 702 is used to determine the timeout setting value of the switching unit 102, and the timeout setting value of the switching unit 102 is used to constrain the time required for the processor 101 or the expansion device 103 to send information to the switching unit 102; and send the timeout setting value to the basic input / output system 701.

[0115] The basic input / output system 701 is used to send the timeout setting value to the switching unit 102 when the configuration information of the switching unit 102 is configured.

[0116] The switching unit 102 is configured to send predetermined information to the processor 101 or the expansion device 103 when no information sent by the processor 101 or the expansion device 103 is received within the time period indicated by the timeout setting value. For example, the switching unit 102 starts timing when it receives a start signal or an operation instruction sent by the processor 101 or the expansion device 103, or when the switching unit 102 detects that the processor 101 or the expansion device 103 starts to transmit information, etc. When the accumulated timing time exceeds the time period indicated by the timeout setting value, sending the predetermined information to the processor 101 or the expansion device 103 can ensure that the switching unit 102 starts the timer at an appropriate time to monitor the timeliness and reliability of information transmission and take corresponding measures when necessary.

[0117] According to an embodiment of the present invention, the basic input / output system 701 can also be configured to send the storage address of the configuration information to the switching unit 102 when the configuration of the configuration information of the switching unit 102 is completed, so that the switching unit 102 can read the configuration information based on the storage address of the configuration information to obtain the storage address for storing the timeout setting value and store the timeout setting value in this storage address. It should be noted that Figure 7 the numbers of the processor 101, the expansion device 103, the switching unit 102, the basic input / output system 701, and the controller 702 in [[ ]] are merely illustrative. According to actual needs, there can be any number of the processor 101, the expansion device 103, the switching unit 102, the basic input / output system 701, and the controller 702.

[0118] The present invention also provides a computer-readable storage medium, which can be included in the device / device / system described in the above embodiments; or can exist separately without being assembled into the device / device / system. The above computer-readable storage medium carries one or more programs, and when the one or more programs are executed, the method according to the embodiments of the present invention is implemented.

[0119] According to an embodiment of the present invention, the computer-readable storage medium can be a non-volatile computer-readable storage medium, for example, it can include but is not limited to: portable computer disks, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), portable compact disk read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present invention, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or combined with an instruction execution system, device, or device. For example, according to an embodiment of the present invention, the computer-readable storage medium can include one or more memories.

[0120] Embodiments of the present invention also include a computer program product, which includes a computer program that contains program code for executing the method shown in the flowchart. When the computer program product runs in a computer system, the program code is used to cause the computer system to implement the method provided by the embodiments of the present invention.

[0121] When the computer program is executed by a processor, it executes the above functions defined in the system / apparatus of the embodiments of the present invention. According to the embodiments of the present invention, the above-described systems, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0122] In one embodiment, the computer program can rely on tangible storage media such as optical storage devices and magnetic storage devices. In another embodiment, the computer program can also be transmitted and distributed in the form of a signal on a network medium, and be downloaded and installed through the communication part, and / or be installed from a removable medium. The program code included in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0123] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part, and / or be installed from a removable medium. When the computer program is executed by a processor, it executes the above functions defined in the system of the embodiments of the present invention. According to the embodiments of the present invention, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0124] According to the embodiments of the present invention, the program code for executing the computer program provided by the embodiments of the present invention can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include but are not limited to, such as Java, C++, Python, the "C" language, or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).

[0125] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0126] Those skilled in the art can understand that the features described in the various embodiments of the present invention can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present invention. In particular, without departing from the spirit and teachings of the present invention, the features described in the various embodiments of the present invention can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present invention.

[0127] The above describes the embodiments of the present invention. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present invention. Although the embodiments are described separately above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Without departing from the scope of the present invention, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present invention.

Claims

1. A timeout setting method, characterized in that, The method includes: When it is determined that information interaction needs to be performed between a processor and an expansion device through a switching unit when processing a service using a computer system, determining a timeout setting value for the switching unit during the current round of information interaction, where the timeout setting value for the switching unit is used to constrain the time required for the processor or the expansion device to send information to the switching unit; Sending the timeout setting value to the Basic Input / Output System so that the Basic Input / Output System sends the timeout setting value to the switching unit in response to the completion of the configuration information configuration of the switching unit; Wherein, when the switching unit does not receive information sent by the processor or the expansion device within the period indicated by the timeout setting value, the switching unit sends predetermined information to the processor or the expansion device; When it is determined that the timeout setting value of the switching unit is used to constrain the time required for the expansion device to send information to the switching unit, determining the timeout setting value of the switching unit during the current round of information interaction includes: Based on a query command for querying the timeout time parameter of the switching unit, querying the timeout setting value of the switching unit from a memory, where the memory stores the timeout time parameter set by the client before the current round of information interaction; When it is determined that there is no timeout setting value matching the query command, sending a setting command for setting the timeout time parameter of the switching unit to the client so that the client sets the timeout time parameter of the switching unit based on the time required for the processor or the expansion device to send information to the switching unit; and in response to receiving the set timeout time parameter sent by the client, determining the timeout setting value of the switching unit during the current round of information interaction.

2. The method according to claim 1, wherein When it is determined that the timeout setting value of the switching unit is used to constrain the time required for the expansion device to send information to the switching unit, determining the timeout setting value of the switching unit during the current round of information interaction further includes: When it is determined that there is a timeout setting value matching the query command, determining the timeout setting value matching the query command as the timeout setting value of the switching unit during the current round of information interaction.

3. The method according to claim 2, characterized in that There are multiple expansion devices, and the types of the multiple expansion devices are different; the timeout time parameter of the switching unit includes the identifiers of the multiple expansion devices and the timeout setting values corresponding to the identifiers.

4. The method according to claim 3, characterized in that The identifier of any one of the multiple expansion devices includes at least one of the following: the identifier of the device manufacturer, the device identifier.

5. The method according to claim 2, wherein There are multiple expansion devices, and the types of the multiple expansion devices are the same; the timeout time parameter of the switching unit includes the timeout setting values of the multiple expansion devices, and the timeout setting values of the multiple expansion devices are the same.

6. The method according to claim 3, wherein The timeout setting value includes multiple; The method further includes: Storing the multiple timeout setting values and the identifiers corresponding to the timeout setting values in the form of a structure.

7. The method according to claim 1, characterized in that, The determining the timeout setting value of the switching unit during the current round of information interaction includes: Based on the performance test of the processor or the expansion device, test results are obtained; Based on the test results and the configuration information of the processor, or the test results and the configuration information of the expansion device, determine the timeout setting value of the switching unit during the information interaction in the current round.

8. A timeout setting method, characterized in that, The method includes: When it is determined that information interaction is carried out between the processor and the expansion device through the switching unit and the configuration information of the switching unit is configured, send a request for obtaining the timeout setting value of the switching unit to the controller, so that the controller returns the timeout setting value in response to the obtaining request; When the timeout setting value sent by the controller is received, send the timeout setting value to the switching unit; Wherein, the timeout setting value is determined according to the method described in any one of claims 1 to 7.

9. The method according to claim 8, wherein There are multiple expansion devices; The method further includes: When it is determined that the topology structure composed of multiple expansion devices and the switching unit as nodes is configured, send a request for obtaining the timeout setting value of the switching unit to the controller, so that the controller returns the timeout setting value in response to the obtaining request; When the timeout setting value sent by the controller is received, perform polling management on the topology structure; Wherein, during the polling management: when it is determined that the current node is the switching unit and the current node is not the terminal node, send the timeout setting value to the switching unit until the current node is the terminal node.

10. A timeout setting method, characterized in that, The method includes: When it is determined that the timeout setting value sent by the basic input / output system is received, store the timeout setting value; When no information sent by the processor or the expansion device is received within the time period indicated by the timeout setting value, send predetermined information to the processor or the expansion device; Wherein, the timeout setting value is determined according to the method described in any one of claims 1 to 7.

11. The method according to claim 10, wherein The storing the timeout setting value includes: Based on the storage address of the configuration information, read the configuration information to obtain the storage address for storing the timeout setting value, and the storage address of the configuration information is configured and sent by the basic input / output system; Based on the storage address of the timeout setting value, store the timeout setting value.

12. The method according to claim 11, wherein The storing the timeout setting value based on the storage address of the timeout setting value includes: When it is determined that no historical timeout setting value is stored in the memory indicated by the storage address of the timeout setting value, write the timeout setting value into the memory; When it is determined that a historical timeout setting value is already stored in the memory, update the historical timeout setting value to the timeout setting value.

13. An interaction device, comprising: A processor, an expansion device, a switching unit, a basic input / output system, and a controller; Wherein, information interaction is carried out between the processor and the expansion device through the switching unit; The controller is used to determine the timeout setting value of the switching unit during the current round of information interaction, and the timeout setting value of the switching unit is used to restrict the duration required for the processor or the expansion device to send information to the switching unit; and send the timeout setting value to the basic input / output system; The basic input / output system is used to send the timeout setting value to the switching unit when the configuration information of the switching unit is configured; The switching unit is used to send predetermined information to the processor or the expansion device when the information sent by the processor or the expansion device is not received within the time period indicated by the timeout setting value; When it is determined that the timeout setting value of the switching unit is used to restrict the duration required for the expansion device to send information to the switching unit, determining the timeout setting value of the switching unit during the current round of information interaction includes: Based on a query command for querying the timeout time parameter of the switching unit, query the timeout setting value of the switching unit from the memory, and the memory stores the timeout time parameter set by the client before the current round of information interaction; When it is determined that there is no timeout setting value matching the query command, send a setting command for setting the timeout time parameter of the switching unit to the client, so that the client sets the timeout time parameter of the switching unit based on the duration required for the processor or the expansion device to send information to the switching unit; and in response to receiving the set timeout time parameter sent by the client, determine the timeout setting value of the switching unit during the current round of information interaction.

14. The interactive device according to claim 13, wherein The basic input / output system is further used to send the storage address of the configuration information to the switching unit when the configuration information of the switching unit is configured; 15. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, The computer program or instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Control method and device of virtual reality equipment

    CN115733691A

  • Communication link control method and device, electronic equipment and storage medium

    CN117971548A