CN107645457A - A kind of PCIe switch system and method - Google Patents

A kind of PCIe switch system and method Download PDF

Info

Publication number
CN107645457A
CN107645457A CN201710976713.5A CN201710976713A CN107645457A CN 107645457 A CN107645457 A CN 107645457A CN 201710976713 A CN201710976713 A CN 201710976713A CN 107645457 A CN107645457 A CN 107645457A
Authority
CN
China
Prior art keywords
pcie
data
sent
host
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710976713.5A
Other languages
Chinese (zh)
Inventor
李朋
赵鑫鑫
尹超
姜凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201710976713.5A priority Critical patent/CN107645457A/en
Publication of CN107645457A publication Critical patent/CN107645457A/en
Pending legal-status Critical Current

Links

Abstract

The present invention discloses a kind of PCIe switch system and method, is related to electronic technology field, is realized by FPGA, application function be may be programmed, and multiple PCIe devices can be mounted according to being actually needed;The PCIe data that CPU is sent from asynchronous FIFO reading host computer, various processing are carried out to data according to different application scene;If needing to forward, data are sent to PCIe Host corresponding to destination address, are sent data by PCIe Host;If needing to filter, data are abandoned;If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.The present invention conveniently reads and writes the data of different clock-domains using asynchronous FIFO, realizes the functions such as PCIe data forwarding, filtering, broadcast;Increase the ability of processing data stream;Circuit is simple, and forward node number can spread huge advantage.

Description

A kind of PCIe switch system and method
Technical field
The present invention relates to electronic technology field, specifically a kind of PCIe switch system and method.
Background technology
With PCIe, (Peripheral Component Interconnect Express, Peripheral Component Interconnect standard expand Exhibition) technology development, it has been trend of the times that multiple equipment is entered between andante into interconnection so as to carry out data forwarding by PCIe protocol, And this technology needs to use PCIe switch.
At present, the hardware of PCIe switch mainly includes processor, internal memory, PCIe exchanges (switch) chip, clock, electricity Source etc..The software of PCIe switch mainly includes operating system and necessary driving and management software.In general, PCIe are exchanged Chip is connected to form PCIe trees with multiple forwarding units, multiple to be connected thereto under the mode of operation of P2P (point-to-point) Equipment carries out data forwarding.Processor can carry out the transmission of data and control signal with PCIe exchange chips, so as to as whole Individual PCIe exchanges the root node of tree.During PCIe switch carries out data forwarding, when processor hinders and resetted for some reason, Can be in whole PCIe trees broadcast hot reset (hot reset) order, so that the reset of PCIe exchange chips, the number of PCIe switch Therefore it is interrupted according to forwarding.
The present invention uses FPGA technology, and application function may be programmed, and design a kind of PCIe switch system, can be according to reality Need that multiple PCIe devices can be mounted.
The content of the invention
Demand and weak point of the present invention for the development of current technology, there is provided a kind of PCIe switch service system and side Method.
A kind of PCIe switch system of the present invention, it is as follows to solve the technical scheme that above-mentioned technical problem uses:It is described PCIe switch system, realize, application function may be programmed by FPGA, multiple PCIe devices can be mounted according to being actually needed;System System framework includes:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list Member;
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, such as Forwarding, filtering, broadcast etc., increase the ability of the system processes data stream.
Some PCIe Host:Realized by IP inside FPGA, corresponding PCIe Host receive what CPU was sent Data, and sent after data are packed.
Further, corresponding each PCIe Host set preposition FIFO, and the CPU is connected by preposition FIFO To corresponding PCIe Host.CPU is sent to preposition FIFO, corresponding PCIe Host after PCIe data is handled Sent after reading data from preposition FIFO.
Further, the PCIe switch system also includes DDR internal memories, DDR Memory linkages to CPU.
Further, the PCIe switch system is provided with two PCIe Host.
The present invention also proposes a kind of PCIe switch method, is realized by FPGA, and application function may be programmed, according to being actually needed Multiple PCIe devices can be mounted;Implementation process includes:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
Further, the step 2:
The PCIe data that CPU is sent from asynchronous FIFO reading host computer, then made according to specific order corresponding Operation, if needing to forward, to destination address send data to corresponding to PCIe Host preposition FIFO, then PCIe Host Sent after reading data;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after Send.
Further, after CPU receives the data that PCIe Slave come, carried out according to different application scenarios All kinds of processing, while data can be temporarily stored in DDR internal memories.
A kind of PCIe switch system and method for the present invention, have an advantageous effect in that compared with prior art:This Invention basis, which is actually needed, can mount multiple PCIe devices;The number of different clock-domains can be easily read and write using asynchronous FIFO According to playing synchronous effect;In processing data, data of newly arriving can be temporarily stored in DDR internal memories CPU, be realized The functions such as the forwarding of PCIe data, filtering, broadcast;Increase the ability of the system processes data stream;Circuit of the present invention is simple, Forward node number, which can spread etc., has huge advantage, has broad application prospects.
Brief description of the drawings
For the clearer explanation embodiment of the present invention or technology contents of the prior art, below to the embodiment of the present invention Or required accompanying drawing does simple introduction in the prior art.It will be apparent that accompanying drawing disclosed below is only the one of the present invention Section Example, to those skilled in the art, on the premise of not paying creative work, can also be attached according to these Figure obtains other accompanying drawings, but within protection scope of the present invention.
Accompanying drawing 1 is the schematic diagram of PCIe switch system described in embodiment 3.
Embodiment
For technical scheme, the technical problem solved and technique effect is more clearly understood, below in conjunction with tool Body embodiment, technical scheme is checked, completely described, it is clear that described embodiment is only this hair Bright part of the embodiment, rather than whole embodiments.Based on embodiments of the invention, those skilled in the art are not doing All embodiments obtained on the premise of going out creative work, all within protection scope of the present invention.
Embodiment 1:
The present embodiment proposes a kind of PCIe switch system, is realized by FPGA, application function may be programmed, can according to being actually needed Mount multiple PCIe devices.FPGA(Field-Programmable Gate Array), i.e. field programmable gate array, it is The product further developed on the basis of the programming devices such as PAL, GAL, CPLD.It is as application specific integrated circuit(ASIC) A kind of semi-custom circuit in field, had both solved the deficiency of custom circuit, and had overcome original programming device gate circuit number again The shortcomings that limited.
The present embodiment PCIe switch system, system architecture include:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list Member.FIFO(First Input First Output), i.e. fifo queue, the instruction being introduced into first complete and retire from office, with And just perform Article 2 instruction.The data of different clock-domains can be easily read and write using asynchronous FIFO, play synchronous effect.
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, Such as forwarding, filtering, broadcast etc., increase the ability of the system processes data stream.
Some PCIe Host:Realized by IP inside FPGA, input corresponding PCIe Host through CPU, carry out PCIe data is packed and then sent.
The present embodiment PCIe switch system, pass through PCIe Slave, CPU, asynchronous FIFO and multiple PCIe Host is formed, it is possible to achieve the function such as the forwarding of PCIe data, filtering, broadcast;The sides such as circuit is simple, forward node number can spread Face has huge advantage.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 1PCIe Switch system, specific implementation flow are as follows:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
Embodiment 2:
A kind of PCIe switch system that the present embodiment proposes, on the basis of embodiment 1, corresponds to PCIe in system architecture Host is also provided with preposition FIFO, and the ability of the system processes data stream is further increased by preposition FIFO.
Preposition FIFO:CPU is connected to PCIe Host through preposition FIFO, and CPU is by PCIe data Preposition FIFO is sent to after processing, corresponding PCIe Host are sent after reading data from preposition FIFO.
The system PCIe switch also includes DDR internal memories, DDR Memory linkages to CPU;CPU All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, while data can be temporarily stored in DDR In internal memory, the ability of the system processes data stream is further increased.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 2PCIe Switch system, after CPU receives the data that PCIe Slave come, carried out according to different application scenarios all kinds of Processing, while data can be temporarily stored in DDR internal memories, increase the ability of the system processes data stream.
The PCIe data that CPU is sent from asynchronous FIFO reading host computer, then makes according to specific order Corresponding operation, if needing to forward, corresponding PCIe Host preposition FIFO is sent data to destination address, then PCIe Host is sent after reading data;
If needing to shield, the data are abandoned;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after Send.
Embodiment 3:
A kind of PCIe switch system that the present embodiment proposes, on the basis of embodiment 1, embodiment 2, sets two in systems Individual PCIe Host.By the detailed description to embodiment 3, to introduce the particular technique content of the present invention and technique effect.
Accompanying drawing 1 is the schematic diagram of embodiment 3PCIe switch systems, and as shown in Figure 1, PCIe switch system includes: PCIe Slave, CPU, DDR internal memories, three asynchronous FIFOs and two PCIe Host, one of asynchronous FIFO Communicated for PCIe Slave, CPU, another two asynchronous FIFO is respectively two PCIe Host preposition FIFO; DDR internal memories exchange with CPU, realize new data, pending data it is temporary.
The present embodiment also proposed a kind of PCIe switch method, and its technology contents is referred to above-described embodiment 3PCIe Switch system, the PCIe data that CPU is sent from asynchronous FIFO reading host computer, and also data can be temporarily stored in In DDR internal memories;
Then, CPU makes corresponding operation according to specific order, if forwarding, then sends number to destination address According to corresponding PCIe Host(PCIe Host1 or PCIe Host2)Preposition FIFO, then PCIe Host read data after Send;If needing to shield, then the data are abandoned;If needing to broadcast, then simultaneously to all PCIe Host(PCIe Host1 and PCIe Host2)Preposition FIFO send data, then by PCIe Host read data after send.
Use above specific case is elaborated to the principle and embodiment of the present invention, and these embodiments are It is used to help understand the core technology content of the present invention, the protection domain being not intended to limit the invention, technical side of the invention Case is not restricted in above-mentioned embodiment.Based on the above-mentioned specific embodiment of the present invention, those skilled in the art Under the premise without departing from the principles of the invention, to any improvement and modification made by the present invention, the special of the present invention should all be fallen into Sharp protection domain.

Claims (7)

1. a kind of PCIe switch system, it is characterised in that realized by FPGA, application function may be programmed, according to being actually needed energy Enough mount multiple PCIe devices;System architecture includes:
PCIe Slave:Realized by IP inside FPGA, PCIe data has parsed in IP;Connect asynchronous FIFO, host computer number Asynchronous FIFO is inputted according to by PCIe Slave;
Asynchronous FIFO:Connect CPU interaction;PCIe data is read from PCIe Slave and is sent to central processing list Member;
CPU:All kinds of processing are carried out according to different application scenarios according to the data that PCIe Slave come, such as Forwarding, filtering, broadcast etc., increase the ability of the system processes data stream;
Some PCIe Host:Realized by IP inside FPGA, corresponding PCIe Host receive the data that CPU is sent, will Sent after data packing.
2. a kind of PCIe switch system according to claim 1, it is characterised in that before corresponding each PCIe Host are set FIFO is put, the CPU is connected to corresponding PCIe Host by preposition FIFO.
3. a kind of PCIe switch system according to claim 2, it is characterised in that the PCIe switch system also includes DDR internal memories, DDR Memory linkages to CPU.
4. a kind of PCIe switch system according to claim 3, it is characterised in that the PCIe switch system is provided with Two PCIe Host.
A kind of 5. PCIe switch method, it is characterised in that a kind of PCIe switch method, realized by FPGA, application function can Programming, multiple PCIe devices can be mounted according to being actually needed;Implementation process includes:
The PCIe data that step 1, CPU are sent from asynchronous FIFO reading host computer, according to different application scenarios pair PCIe data carries out various processing;
Corresponding operation is made in the specific order of step 2, basis:If needing to forward, sent out to PCIe Host corresponding to destination address Data are sent, are sent data by PCIe Host;
If needing to filter, data are abandoned;
If needing to broadcast, data are sent to PCIe Host corresponding to all addresses, are sent data by PCIe Host.
A kind of 6. PCIe switch method according to claim 5, it is characterised in that the step 2:
The PCIe data that the CPU is sent from asynchronous FIFO reading host computer, then makes according to specific order Corresponding operation, if needing to forward, corresponding PCIe Host preposition FIFO is sent data to destination address, then PCIe Host is sent after reading data;
If needing to broadcast, simultaneously to all PCIe Host preposition FIFO send data, then by PCIe Host read data after Send.
7. a kind of PCIe switch method according to claim 6, it is characterised in that the CPU receives PCIe After the data that Slave comes, all kinds of processing are carried out according to different application scenarios, while data can be temporarily stored in DDR internal memories.
CN201710976713.5A 2017-10-19 2017-10-19 A kind of PCIe switch system and method Pending CN107645457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710976713.5A CN107645457A (en) 2017-10-19 2017-10-19 A kind of PCIe switch system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710976713.5A CN107645457A (en) 2017-10-19 2017-10-19 A kind of PCIe switch system and method

Publications (1)

Publication Number Publication Date
CN107645457A true CN107645457A (en) 2018-01-30

Family

ID=61123883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710976713.5A Pending CN107645457A (en) 2017-10-19 2017-10-19 A kind of PCIe switch system and method

Country Status (1)

Country Link
CN (1) CN107645457A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509362A (en) * 2018-04-11 2018-09-07 济南浪潮高新科技投资发展有限公司 A kind of serial port adapter
CN109150765A (en) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 A kind of interchanger realized based on FPGA
CN112073213A (en) * 2020-07-30 2020-12-11 苏州浪潮智能科技有限公司 Method for flexibly and safely configuring PCIe switch
CN114866497A (en) * 2022-06-15 2022-08-05 西安微电子技术研究所 PCIe switching circuit and method for global asynchronous intra-site synchronization
CN115211094A (en) * 2020-02-14 2022-10-18 索尼互动娱乐股份有限公司 Network architecture providing high-speed storage access through PCI Express fabric between compute nodes and storage servers

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157973A1 (en) * 2007-12-16 2009-06-18 Yi-Chun Li Storage controller for handling data stream and method thereof
CN202535384U (en) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 Network equipment expansion connection and virtual machine interconnection optimization system based on PCIe bus
CN103078747A (en) * 2012-12-28 2013-05-01 华为技术有限公司 PCIe (Peripheral Component Interface Express) switchboard and working method thereof
CN203434983U (en) * 2013-09-12 2014-02-12 成都成电光信科技有限责任公司 Fiber-channel data interface card with configurable FPGA (Field Programmable Gate Array)
CN105549916A (en) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 Peripheral component interconnect express (PCIe) solid state hard disk controller, PCIe based storage system and data read and write method thereof
CN206195819U (en) * 2016-10-25 2017-05-24 大连大学 Spatial information network link controlgear

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157973A1 (en) * 2007-12-16 2009-06-18 Yi-Chun Li Storage controller for handling data stream and method thereof
CN202535384U (en) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 Network equipment expansion connection and virtual machine interconnection optimization system based on PCIe bus
CN103078747A (en) * 2012-12-28 2013-05-01 华为技术有限公司 PCIe (Peripheral Component Interface Express) switchboard and working method thereof
CN203434983U (en) * 2013-09-12 2014-02-12 成都成电光信科技有限责任公司 Fiber-channel data interface card with configurable FPGA (Field Programmable Gate Array)
CN105549916A (en) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 Peripheral component interconnect express (PCIe) solid state hard disk controller, PCIe based storage system and data read and write method thereof
CN206195819U (en) * 2016-10-25 2017-05-24 大连大学 Spatial information network link controlgear

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何春茂: "基于FPGA硬核的PCI Express实现", 《机电工程技术》 *
李经章: "基于FPGA的PCI Express传输设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509362A (en) * 2018-04-11 2018-09-07 济南浪潮高新科技投资发展有限公司 A kind of serial port adapter
CN109150765A (en) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 A kind of interchanger realized based on FPGA
CN115211094A (en) * 2020-02-14 2022-10-18 索尼互动娱乐股份有限公司 Network architecture providing high-speed storage access through PCI Express fabric between compute nodes and storage servers
CN112073213A (en) * 2020-07-30 2020-12-11 苏州浪潮智能科技有限公司 Method for flexibly and safely configuring PCIe switch
CN112073213B (en) * 2020-07-30 2022-12-27 苏州浪潮智能科技有限公司 Method for flexibly and safely configuring PCIe switch
CN114866497A (en) * 2022-06-15 2022-08-05 西安微电子技术研究所 PCIe switching circuit and method for global asynchronous intra-site synchronization
CN114866497B (en) * 2022-06-15 2023-05-02 西安微电子技术研究所 PCIe switching circuit device and method for global asynchronous intra-station synchronization

Similar Documents

Publication Publication Date Title
CN107645457A (en) A kind of PCIe switch system and method
US8234483B2 (en) Memory units with packet processor for decapsulating read write access from and encapsulating response to external devices via serial packet switched protocol interface
KR101035832B1 (en) Simulation circuit of pci express endpoint and downstream port for a pci express switch
US20140188996A1 (en) Raw fabric interface for server system with virtualized interfaces
CN103559156B (en) Communication system between a kind of FPGA and computing machine
CN104395895A (en) Systems and methods for input/output virtualization
US9934175B2 (en) Direct memory access for programmable logic device configuration
CN105512084A (en) Zynq platform data interaction device
KR20210033996A (en) Integrated address space for multiple hardware accelerators using dedicated low-latency links
CN104598405A (en) Expansion chip and expandable chip system and control method
JP2008310832A (en) Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
US20090150563A1 (en) Control path I/O virtualisation
CN106657115B (en) Frequency converter control system and protocol conversion card thereof
CN106844263B (en) Configurable multiprocessor-based computer system and implementation method
CN109586956B (en) FCoE switch capable of flexibly configuring ports and method
US9053092B2 (en) System authorizing direct data transfers between memories of several components of that system
CN108008657B (en) Load balancing redundancy switching system with control panel and switching panel buses directly connected
CN116150075B (en) PCIe exchange controller chip, verification system and verification method
CN103116560B (en) Programmable blade server structure
CN104954072A (en) Optical fiber bus system based on protocol processing FPGAs (field programmable gate arrays) as well as low-delay communication method
US20180307648A1 (en) PCIe SWITCH WITH DATA AND CONTROL PATH SYTOLIC ARRAY
US8316169B2 (en) Physical to hierarchical bus translation
CN105260335B (en) Extend the data processing system and method for optical interface
CN114445260A (en) Distributed GPU communication method and device based on FPGA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180130

RJ01 Rejection of invention patent application after publication