Method, device and medium for coexistence of SRIO middleware and bare driver data transceiving

By planning memory-mapped addresses and doorbell information for SRIO middleware and bare drivers, the address and information conflict problem was solved, enabling the coexistence of SRIO middleware and bare drivers in the RapidIO network. This met the data transmission rate requirements of different nodes and achieved high-speed and efficient data transmission and reception.

CN115480932BActive Publication Date: 2025-12-1610TH RES INST OF CETC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211012214.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-23
Publication Date
2025-12-16
Estimated Expiration
2042-08-23

AI Technical Summary

Technical Problem

SRIO middleware and bare driver have memory mapping address conflicts and doorbell information conflicts during data transmission and reception, which causes some RapidIO nodes to be unable to use both middleware and bare driver for data transmission at the same time.

Method used

By planning memory-mapped addresses and doorbell information separately for the SRIO middleware and the bare driver, we ensure that they do not conflict, and pass the doorbell information through callback functions to achieve address and information allocation and classification.

Benefits of technology

It enables the coexistence of SRIO middleware and bare drivers in the RapidIO network, avoids data address conflicts, ensures high-speed and efficient data transmission, and meets the data transmission and reception rate requirements of different nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115480932B_ABST
    Figure CN115480932B_ABST
Patent Text Reader

Abstract

The application discloses a kind of SRIO middleware and bare drive data transceiver coexistence method, equipment and medium, belong to SRIO network field, including steps: S1, for SRIO middleware regular memory mapping address and receive space size;S2, for bare drive regular memory mapping address and receive space size;S3, doorbell driver unified reception doorbell information, and the classification of doorbell information is carried out;S4, SRIO middleware uses the doorbell information that can be used is distributed;S5, for SRIO bare drive the doorbell information that can be used is distributed.The application solves the problem of memory mapping address conflict and doorbell information conflict when realizing SRIO middleware and bare drive data transceiver coexistence, and can complete the transceiving of RapidIO data at high speed and high efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of SRIO network, more particularly, to a method, device and medium for coexistence of SRIO middleware and bare drive data transceiving. BACKGROUND

[0002] RapidIO is a high-performance, low-pin, packet-based interconnection technology initiated by Motorola and Mercury and other companies. It is flexible, simple in protocol layer, and small in system overhead, meeting the rapid development of embedded systems. The high-speed transmission between chips and modules makes it widely used in integrated electronic information systems.

[0003] The SRIO middleware combines the memory mapping mechanism in the RapidIO logical layer with the doorbell transmission mechanism to achieve the PPC, FPGA and DSP nodes based on the centralized control of the host node, and solves the high-bandwidth data transmission between heterogeneous devices. The SRIO middleware utilizes the RIO network bottom-layer hardware communication mechanism and the operating system resource scheduling to allocate independent communication virtual channels for the SRIO nodes in the RapidIO network, multiplexes a single transceiving queue in the logical layer into multiple virtual channels, and users can directly use the virtual channels for communication.

[0004] The SRIO bare drive refers to directly using the layer memory mapping drive function to transceive data.

[0005] At present, the integrated electronic information system mainly includes general data processing modules (DPM), general signal processing modules (SPM), network switching modules (RCM), IO modules, etc. The RapidIO interconnection bus protocol is used between chips and boards to realize high-reliability data transmission, and different RapidIO nodes communicate by deploying the SRIO middleware. Due to functional requirements and rate requirements, the SRIO middleware cannot be deployed on some RapidIO nodes, resulting in the need to use both the SRIO middleware and the RapidIO bare drive for data transceiving on some RapidIO nodes. The coexistence of the SRIO middleware and the bare drive data transceiving has the following technical problems to be solved:

[0006] (1) SRIO memory mapping address conflict. Since the SRIO middleware plans part of the memory area as channel information in advance, the data reading is also obtained according to the information in the channel, so the SRIO bare drive cannot map the received data in the memory area.

[0007] (2) SRIO doorbell information conflict. Since the SRIO middleware needs to use the doorbell information to remind the SRIO middleware to receive data from which virtual channel, the doorbell bare drive cannot use the part of the doorbell information. SUMMARY

[0008] The present application aims at overcoming the deficiencies of the prior art, and provides an SRIO middleware and bare drive data transceiving coexistence method, device and medium, which solves the memory mapping address conflict and doorbell information conflict when implementing SRIO middleware and bare drive data transceiving coexistence, and realizes high-speed and efficient completion of RapidIO data transceiving.

[0009] The purpose of the present application is achieved by the following scheme:

[0010] An SRIO middleware and bare drive data transceiving coexistence method comprises the following steps:

[0011] S1, regularizing memory mapping addresses and receiving space size for SRIO middleware;

[0012] S2, regularizing memory mapping addresses and receiving space size for bare drive;

[0013] S3, doorbell drive uniformly receiving doorbell information, and classifying the doorbell information;

[0014] S4, SRIO middleware using available doorbell information;

[0015] S5, SRIO bare drive allocating available doorbell information.

[0016] Further, in step S1, all RIO nodes transceive data through the middleware, and the data will be saved in the memory mapping address area regularized for the SRIO middleware.

[0017] Further, in step S2, all RIO nodes transceive data through the bare drive, and the data will be saved in the memory mapping address area regularized for the bare drive, and it is ensured that the address space opened in S1 cannot coincide.

[0018] Further, in step S3, the doorbell drive uniformly receives doorbell information of all RIO nodes, and classifies the doorbell information.

[0019] Further, in step S4, if the doorbell information is within 256, the doorbell information is handed over to the SRIO middleware for use.

[0020] Further, in step S5, if the doorbell information is greater than 256, the doorbell information is handed over to the SRIO bare drive for allocation.

[0021] Further, the handing over of the doorbell information to the SRIO middleware for use is specifically performed by a callback function form for the SRIO middleware.

[0022] Further, the doorbell information is allocated to the SRIO bare drive, and is passed to the RIO bare drive in the form of a callback function.

[0023] A computer device comprising a processor and a memory, the memory having stored therein a computer program which, when loaded and executed by the processor, performs the method of any one of the above.

[0024] A readable storage medium having stored therein a computer program which, when loaded and executed by a processor, performs the method of any one of the above.

[0025] The beneficial effects of the present application include:

[0026] The present application provides a solution to the coexistence of SRIO middleware and bare drive data transmission, which plans the memory mapping address and the doorbell information content, so that the leaf node in the RapidIO network can use the SRIO middleware to transmit data, or use the memory mapping to transmit data.

[0027] The present application solves the requirement of the user of the integrated electronic information system for the SRIO data transmission rate, and completes the transmission of the RapidIO data at high speed and high efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the embodiments or the prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0029] Figure 1 The port recovery strategy diagram of the domestic SRIO exchange chip of the embodiment of the present application is shown in the figure.

[0030] Figure 2 The method step flow chart of the embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0031] All features disclosed in the embodiments of the present application, or all steps in the methods or processes disclosed in the embodiments of the present application, can be combined and / or extended, replaced, unless the features and / or steps are mutually exclusive.

[0032] As Figure 1 shown, the embodiment of the present application provides a SRIO middleware and bare drive data transmission coexistence method, comprising the following steps:

[0033] S1, the SRIO middleware regularizes the memory mapping address and the size of the receiving space;

[0034] S2, the bare drive regularizes the memory mapping address and the size of the receiving space;

[0035] S3, the doorbell driver uniformly receives the doorbell information and classifies the doorbell information;

[0036] S4, the SRIO middleware uses the available doorbell information;

[0037] S5, the SRIO bare drive is allocated the available doorbell information.

[0038] In an optional scheme, in step S1, the SRIO middleware is planned to have a memory mapping address and the size of the receiving space, that is, all RIO nodes transmit and receive data through the middleware, and the data will be saved in this area.

[0039] In an optional scheme, in step S2, the bare drive is planned to have a memory mapping address and the size of the receiving space, that is, all RIO nodes transmit and receive data through the bare drive, and the data will be saved in this area, and it is ensured that the address space opened in S1 cannot be overlapped.

[0040] In an optional scheme, in step S3, the doorbell driver uniformly receives the doorbell information of all RIO nodes and classifies the doorbell information;

[0041] In an optional scheme, in step S4, the doorbell information is within 256, and such doorbell information is handed over to the SRIO middleware for use;

[0042] In an optional scheme, in step S5, the doorbell information is greater than 256, and such doorbell information is handed over to the SRIO bare drive for allocation.

[0043] As Figure 2 shown, in other embodiments provided by the application, in an SRIO network, a data processing module, a general signal processing module, and a storage module are included. The P2020 node in the data processing module and the DSP node in the general signal processing module communicate through the SRIO middleware, and the P2020 node in the data processing module and the FPGA node in the storage module communicate through the bare drive.

[0044] SS1, the P2020 node is planned to have an SRIO middleware available memory mapping address and the size of the receiving space, 0x80000000-0x8fffffff, that is, the address range of the SRIO middleware transmitting and receiving data;

[0045] SS2, the P2020 node plans the memory mapping address and the receiving space size available to the bare drive, 0xa0000000-0xafffffff, that is, the address range of the drive receiving number.

[0046] SS3, the P2020 node receives all the doorbell information of the drive receiving through the doorbell, and judges the content of the doorbell information;

[0047] SS4, if the doorbell information is 0-256, it is transmitted in the form of a callback function for the SRIO middleware;

[0048] SS5, if the doorbell information is 256-65536, it is transmitted in the form of a callback function for the RIO bare drive.

[0049] The embodiment of the present application has the following improvement effects compared with the prior art:

[0050] The present application provides a solution to the coexistence problem of SRIO middleware and bare drive data receiving and transmitting. The present application plans the memory mapping address, that is, the SRIO middleware receiving space and the bare drive receiving space are completely staggered, which avoids the problem of data content anomaly caused by data address conflict. The doorbell information is mainly used to remind the user to receive data in the corresponding memory space. Through the planning of the doorbell content, the user can clearly know the timing of receiving data and the corresponding data address space. Through the method of the present application, the leaf node in the RapidIO network can use the SRIO middleware to receive and transmit data, and also can use the SRIO bare drive to receive and transmit data.

[0051] The present application has the technical effect of high speed: the present application provides a solution to the coexistence problem of SRIO middleware and bare drive data receiving and transmitting. The SRIO middleware receiving and transmitting due to the sending of the flow and the data descriptor causes the RIO data receiving and transmitting rate to be lower than that of the bare drive. In the integrated electronic information system, different functions have different requirements for the SRIO data receiving and transmitting rate. If the rate requirement is high, the bare drive data receiving and transmitting is adopted; if the rate requirement is not high, the SRIO middleware receiving and transmitting is adopted. The user's requirement for the SRIO data receiving and transmitting rate is high-speed and efficient to complete the receiving and transmitting of RapidIO data.

[0052] Embodiment 1

[0053] A SRIO middleware and bare drive data receiving and transmitting coexistence method, comprising the following steps:

[0054] S1, the SRIO middleware plans the memory mapping address and the receiving space size;

[0055] S2, the bare drive plans the memory mapping address and the receiving space size;

[0056] S3, the doorbell driver receives doorbell information from all RIO nodes and classifies the doorbell information;

[0057] S4, the SRIO middleware uses the available doorbell information;

[0058] S5, the SRIO bare driver uses the available doorbell information.

[0059] Embodiment 2

[0060] Based on Embodiment 1, in step S1, all RIO nodes send and receive data through the middleware, and the data is saved in the memory mapping address area regularized for the SRIO middleware.

[0061] Embodiment 3

[0062] Based on Embodiment 1, in step S2, all RIO nodes send and receive data through the bare driver, and the data is saved in the memory mapping address area regularized for the bare driver, and it is ensured that the address space opened in S1 cannot coincide.

[0063] Embodiment 4

[0064] Based on Embodiment 1, in step S3, the doorbell driver receives doorbell information from all RIO nodes and classifies the doorbell information.

[0065] Embodiment 5

[0066] Based on Embodiment 1, in step S4, if the doorbell information is within 256, the SRIO middleware uses such doorbell information.

[0067] Embodiment 6

[0068] Based on Embodiment 1, in step S5, if the doorbell information is greater than 256, the SRIO bare driver uses such doorbell information.

[0069] Embodiment 7

[0070] Based on Embodiment 5, the SRIO middleware uses such doorbell information by passing it in the form of a callback function.

[0071] Embodiment 8

[0072] Based on Embodiment 6, the RIO bare driver uses such doorbell information by passing it in the form of a callback function.

[0073] Embodiment 9

[0074] A computer device comprising a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to perform the method of any one of Embodiments 1-8.

[0075] Embodiment 10

[0076] A readable storage medium storing a computer program, the computer program being loaded and executed by a processor to perform the method of any one of Embodiments 1-8.

[0077] The units described in the embodiments of the present application can be implemented by software, or by hardware, or by a combination of software and hardware. The units described may also be located in a single processor. In some cases, the units described may not be physically located in the same place, but may be in communication with each other through electronic means.

[0078] According to an aspect of the present application, a computer program product or computer program is provided, which includes computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided in the various optional implementation manners described above.

[0079] As another aspect, the present application also provides a computer readable medium, which can be included in the electronic device described in the above embodiments, or can exist separately and not be assembled into the electronic device. The computer readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to implement the method described in the above embodiments.

[0080] The parts of the present application not involved are the same as or can be implemented by the prior art.

[0081] The technical solutions described above are only one embodiment of the present application. For those skilled in the art, on the basis of the application disclosed application methods and principles, various types of improvements or modifications can be easily made, and are not limited to the methods described in the above embodiments. Therefore, the above description is only preferred, and is not limited in meaning.

[0082] In addition to the above examples, those skilled in the art can obtain other embodiments by being inspired by the above disclosure or by making modifications using knowledge or technology in related fields. The features of each embodiment can be interchanged or replaced. The modifications and changes made by those skilled in the art do not deviate from the spirit and scope of the present application, and should be within the protection scope of the claims of the present application.

Claims

1. A method for coexistence of SRIO middleware and bare driver data transmission and reception, characterized in that, Includes the following steps: S1 is the memory mapping address and data collection space size for the SRIO middleware. S2 specifies the memory mapping address and data storage size for the bare driver; S3, the doorbell driver uniformly receives doorbell information and classifies the doorbell information; S4, SRIO middleware uses the allocation of usable doorbell information; S5 assigns usable doorbell information to the SRIO bare driver; In step S1, all RIO nodes send and receive data through the middleware, and the data will be stored in the memory-mapped address area specified for the SRIO middleware. In step S2, all RIO nodes send and receive data through the raw driver. The data will be stored in the memory-mapped address area planned for the raw driver, and it must be ensured that it does not overlap with the address space allocated in S1. In step S3, the doorbell driver uniformly receives doorbell information from all RIO nodes and classifies the doorbell information; In step S4, if the doorbell information is within 256, this type of doorbell information is handed over to the SRIO middleware for use; In step S5, if the number of doorbell information is greater than 256, this type of doorbell information is assigned to the SRIO bare driver for use; Among them, the SRIO middleware combines the RapidIO logic layer memory mapping mechanism with the doorbell transmission mechanism to realize PPC, FPGA and DSP nodes based on centralized control of the master node; the bare driver directly uses the layer memory mapping driver function to send and receive data.

2. The method for coexistence of SRIO middleware and bare driver data transmission and reception according to claim 1, characterized in that, The doorbell information is then passed to the SRIO middleware via a callback function.

3. The method for coexistence of SRIO middleware and bare driver data transmission and reception according to claim 1, characterized in that, The doorbell information is then passed to the SRIO bare driver for allocation and use, specifically through a callback function.

4. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing a computer program that is loaded by the processor and executed according to any one of claims 1 to 3.

5. A readable storage medium, characterized in that, A computer program is stored in a readable storage medium, the computer program being loaded by a processor and executing the method as described in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Doorbell message distribution method, rapid input output (IO) controller and processor

    CN102810083A

  • RapidIO controller adopting window mapping mechanism and control method of RapidIO controller

    CN104714904A