CN107645457A - 一种PCIe交换机***和方法 - Google Patents

一种PCIe交换机***和方法 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
English (en)
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/zh
Publication of CN107645457A publication Critical patent/CN107645457A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明公开一种PCIe交换机***和方法,涉及电子技术领域,由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备;中央处理单元从异步FIFO读取上位机发来的PCIe数据,根据不同应用场景对数据进行各种处理;若需转发,则向目的地址对应的PCIe Host发送数据,由PCIe Host将数据发出;若需过滤,则将数据丢弃;若需广播,则向所有地址对应的PCIe Host发送数据,由PCIe Host将数据发出。本发明采用异步FIFO方便读写不同时钟域的数据,实现PCIe数据转发、过滤、广播等功能;增大了处理数据流的能力;电路简单,转发节点数可宽展有巨大优势。

Description

一种PCIe交换机***和方法
技术领域
本发明涉及电子技术领域,具体的说是一种PCIe交换机***和方法。
背景技术
随着PCIe(Peripheral Component Interconnect Express,外设部件互连标准扩展)技术的发展,通过PCIe协议将多个设备进行板间互联从而进行数据转发已是大势所趋,而这项技术需要用到PCIe交换机。
目前,PCIe交换机的硬件主要包括处理器、内存、PCIe交换(switch)芯片、时钟、电源等。PCIe交换机的软件主要包括操作***以及必要的驱动和管理软件。一般的,PCIe交换芯片与多个转发设备相连形成PCIe树,在P2P (点到点)的工作模式下为连接在其上的多个设备进行数据转发。处理器能够与PCIe交换芯片进行数据和控制信号的传输,从而成为整个PCIe交换树的根结点。在PCIe交换机进行数据转发的过程中,当处理器因故障而复位时,会在整个PCIe树广播热复位(hot reset)命令,从而使PCIe交换芯片复位,PCIe交换机的数据转发因此被中断。
本发明使用FPGA技术,应用功能可编程,设计一种PCIe交换机***,能够根据实际需要可以挂接多个PCIe设备。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种PCIe交换机******和方法。
本发明所述一种PCIe交换机***,解决上述技术问题采用的技术方案如下:所述PCIe交换机***,由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备;***架构包括:
PCIe Slave:由FPGA内部IP实现,PCIe数据在IP中已经解析;连接异步FIFO,上位机数据通过PCIe Slave输入异步FIFO;
异步FIFO:连接中央处理单元交互;从PCIe Slave读取PCIe数据并发送给中央处理单元;
中央处理单元:根据PCIe Slave过来的数据根据不同的应用场景进行各类处理,比如转发、过滤、广播等,增大了该***处理数据流的能力。
若干PCIe Host:由FPGA内部IP实现,相应的PCIe Host接收中央处理单元发送的数据,并将数据打包后发出。
进一步,对应每个PCIe Host设置前置FIFO,所述中央处理单元通过前置FIFO连接至对应的PCIe Host。中央处理单元将PCIe数据处理后发送到前置FIFO,对应的PCIe Host从前置FIFO读取数据后发出。
进一步,所述PCIe交换机***还包括DDR内存,DDR内存连接至中央处理单元。
进一步,所述PCIe交换机***设置有两个PCIe Host。
本发明还提出一种PCIe交换机方法,由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备;实现流程包括:
步骤1、中央处理单元从异步FIFO读取上位机发来的PCIe数据,根据不同的应用场景对PCIe数据进行各种处理;
步骤2、根据具体的命令做出相应的操作:若需转发,则向目的地址对应的PCIe Host发送数据,由PCIe Host将数据发出;
若需过滤,则将数据丢弃;
若需广播,则向所有地址对应的PCIe Host发送数据,由PCIe Host将数据发出。
进一步,所述步骤2:
中央处理单元从异步FIFO读取上位机发来的PCIe数据,然后根据具体的命令作出相应的操作,若需转发,则向目的地址发送数据到对应的PCIe Host的前置FIFO,然后PCIe Host读取数据后发出;
若需广播,则同时向所有PCIe Host的前置FIFO发送数据,再由PCIe Host读取数据后发出。
进一步,中央处理单元接收PCIe Slave过来的数据后,根据不同的应用场景进行各类处理,同时数据可以暂存在DDR内存中。
本发明所述一种PCIe交换机***和方法,与现有技术相比具有的有益效果是:本发明根据实际需要可以挂接多个PCIe设备;采用异步FIFO可以方便的读写不同时钟域的数据,起到同步的作用;中央处理单元在处理数据时,新来数据可以暂存在DDR内存中,实现PCIe数据的转发、过滤、广播等功能;增大了该***处理数据流的能力;本发明电路简单,在转发节点数可宽展等方面具有巨大优势,具有广阔的应用前景。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术内容,下面对本发明实施例或现有技术中所需要的附图做简单介绍。显而易见的,下面所描述附图仅仅是本发明的一部分实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,但均在本发明的保护范围之内。
附图1为实施例3所述PCIe交换机***的示意图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例1:
本实施例提出一种PCIe交换机***,由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
本实施例PCIe交换机***,***结构包括:
PCIe Slave:由FPGA内部IP实现,PCIe数据在IP中已经解析;连接异步FIFO,上位机数据通过PCIe Slave输入异步FIFO;
异步FIFO:连接中央处理单元交互;从PCIe Slave读取PCIe数据并发送给中央处理单元。FIFO(First Input First Output),即先进先出队列,先进入的指令先完成并引退,跟着才执行第二条指令。采用异步FIFO可以方便的读写不同时钟域的数据,起到同步的作用。
中央处理单元:根据PCIe Slave过来的数据根据不同的应用场景进行各类处理,比如转发、过滤、广播等,增大了该***处理数据流的能力。
若干PCIe Host:由FPGA内部IP实现,经中央处理单元输入相应的PCIe Host,进行PCIe数据打包进而发出。
本实施例PCIe交换机***,通过PCIe Slave、中央处理单元、异步FIFO和多个PCIeHost组成,可以实现PCIe数据的转发、过滤、广播等功能;电路简单、转发节点数可宽展等方面具有巨大优势。
本实施例还提出了一种PCIe交换机方法,其技术内容可以参照上述实施例1PCIe交换机***,具体实现流程如下:
步骤1、中央处理单元从异步FIFO读取上位机发来的PCIe数据,根据不同的应用场景对PCIe数据进行各种处理;
步骤2、根据具体的命令做出相应的操作:若需转发,则向目的地址对应的PCIe Host发送数据,由PCIe Host将数据发出;
若需过滤,则将数据丢弃;
若需广播,则向所有地址对应的PCIe Host发送数据,由PCIe Host将数据发出。
实施例2:
本实施例提出的一种PCIe交换机***,在实施例1的基础上,***结构中对应PCIeHost还设置了前置FIFO,通过前置FIFO进一步增加了该***处理数据流的能力。
前置FIFO:中央处理单元经前置FIFO连接至PCIe Host,中央处理单元将PCIe数据处理后发送到前置FIFO,对应的PCIe Host从前置FIFO读取数据后发出。
该***PCIe交换机还包括DDR内存,DDR内存连接至中央处理单元;中央处理单元根据PCIe Slave过来的数据根据不同的应用场景进行各类处理,同时数据能够暂存在DDR内存中,进一步增大了该***处理数据流的能力。
本实施例还提出了一种PCIe交换机方法,其技术内容可以参照上述实施例2PCIe交换机***,中央处理单元接收PCIe Slave过来的数据后,根据不同的应用场景进行各类处理,同时数据可以暂存在DDR内存中,增大了该***处理数据流的能力。
中央处理单元从异步FIFO读取上位机发来的PCIe数据,然后根据具体的命令作出相应的操作,若需转发,则向目的地址发送数据到对应的PCIe Host的前置FIFO,然后PCIeHost读取数据后发出;
若需屏蔽,则将该数据丢弃;
若需广播,则同时向所有PCIe Host的前置FIFO发送数据,再由PCIe Host读取数据后发出。
实施例3:
本实施例提出的一种PCIe交换机***,在实施例1、实施例2的基础上,在***中设置两个PCIe Host。通过对实施例3的详细说明,来介绍本发明的具体技术内容以及技术效果。
附图1为实施例3PCIe交换机***的示意图,如附图1所示,PCIe交换机***包括:PCIe Slave、中央处理单元、DDR内存、三个异步FIFO和两个PCIe Host,其中一个异步FIFO用于PCIe Slave、中央处理单元通信,另两个异步FIFO分别为两个PCIe Host的前置FIFO;DDR内存与中央处理单元交换,实现新数据、待处理数据的暂存。
本实施例还提出了一种PCIe交换机方法,其技术内容可以参照上述实施例3PCIe交换机***,中央处理单元从异步FIFO读取上位机发来的PCIe数据,而且数据可以暂存在DDR内存中;
然后,中央处理单元根据具体的命令作出相应的操作,若是转发,则向目的地址发送数据到对应的PCIe Host(PCIe Host1或PCIe Host2)的前置FIFO,然后PCIe Host读取数据后发出;若是需要屏蔽,则将该数据丢弃;若是需要广播,则同时向所有PCIe Host(PCIeHost1和PCIe Host2)的前置FIFO发送数据,再由PCIe Host读取数据后发出。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

Claims (7)

1.一种PCIe交换机***,其特征在于, 由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备;***架构包括:
PCIe Slave:由FPGA内部IP实现,PCIe数据在IP中已经解析;连接异步FIFO,上位机数据通过PCIe Slave输入异步FIFO;
异步FIFO:连接中央处理单元交互;从PCIe Slave读取PCIe数据并发送给中央处理单元;
中央处理单元:根据PCIe Slave过来的数据根据不同的应用场景进行各类处理,比如转发、过滤、广播等,增大了该***处理数据流的能力;
若干PCIe Host:由FPGA内部IP实现,相应PCIe Host接收中央处理单元发送的数据,将数据打包后发出。
2.根据权利要求1所述一种PCIe交换机***,其特征在于,对应每个PCIe Host设置前置FIFO,所述中央处理单元通过前置FIFO连接至对应的PCIe Host。
3.根据权利要求2所述一种PCIe交换机***,其特征在于,所述PCIe交换机***还包括DDR内存,DDR内存连接至中央处理单元。
4.根据权利要求3所述一种PCIe交换机***,其特征在于,所述PCIe交换机***设置有两个PCIe Host。
5.一种PCIe交换机方法,其特征在于,一种PCIe交换机方法,由FPGA实现,应用功能可编程,根据实际需要能够挂接多个PCIe设备;实现流程包括:
步骤1、中央处理单元从异步FIFO读取上位机发来的PCIe数据,根据不同的应用场景对PCIe数据进行各种处理;
步骤2、根据具体的命令做出相应的操作:若需转发,则向目的地址对应的PCIe Host发送数据,由PCIe Host将数据发出;
若需过滤,则将数据丢弃;
若需广播,则向所有地址对应的PCIe Host发送数据,由PCIe Host将数据发出。
6.根据权利要求5所述一种PCIe交换机方法,其特征在于,所述步骤2:
所述中央处理单元从异步FIFO读取上位机发来的PCIe数据,然后根据具体的命令作出相应的操作,若需转发,则向目的地址发送数据到对应的PCIe Host的前置FIFO,然后PCIeHost读取数据后发出;
若需广播,则同时向所有PCIe Host的前置FIFO发送数据,再由PCIe Host读取数据后发出。
7.根据权利要求6所述一种PCIe交换机方法,其特征在于,所述中央处理单元接收PCIeSlave过来的数据后,根据不同的应用场景进行各类处理,同时数据可以暂存在DDR内存中。
CN201710976713.5A 2017-10-19 2017-10-19 一种PCIe交换机***和方法 Pending CN107645457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710976713.5A CN107645457A (zh) 2017-10-19 2017-10-19 一种PCIe交换机***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710976713.5A CN107645457A (zh) 2017-10-19 2017-10-19 一种PCIe交换机***和方法

Publications (1)

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

Family

ID=61123883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710976713.5A Pending CN107645457A (zh) 2017-10-19 2017-10-19 一种PCIe交换机***和方法

Country Status (1)

Country Link
CN (1) CN107645457A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509362A (zh) * 2018-04-11 2018-09-07 济南浪潮高新科技投资发展有限公司 一种串口转接器
CN109150765A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种基于fpga实现的交换机
CN112073213A (zh) * 2020-07-30 2020-12-11 苏州浪潮智能科技有限公司 一种灵活安全配置PCIe交换机的方法
CN114866497A (zh) * 2022-06-15 2022-08-05 西安微电子技术研究所 一种全局异步站内同步的PCIe交换电路和方法
CN115211094A (zh) * 2020-02-14 2022-10-18 索尼互动娱乐股份有限公司 通过计算节点与存储服务器之间的PCI Express织构提供高速存储访问的网络架构

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 (zh) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 基于PCIe总线的网络设备扩展连接和虚拟机互连优化***
CN103078747A (zh) * 2012-12-28 2013-05-01 华为技术有限公司 PCIe交换机及其工作方法
CN203434983U (zh) * 2013-09-12 2014-02-12 成都成电光信科技有限责任公司 可配置fpga的光纤通道数据接口卡
CN105549916A (zh) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 PCIe固态硬盘控制器、基于PCIe的存储***及其数据读写方法
CN206195819U (zh) * 2016-10-25 2017-05-24 大连大学 一种空间信息网络链路控制设备

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 (zh) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 基于PCIe总线的网络设备扩展连接和虚拟机互连优化***
CN103078747A (zh) * 2012-12-28 2013-05-01 华为技术有限公司 PCIe交换机及其工作方法
CN203434983U (zh) * 2013-09-12 2014-02-12 成都成电光信科技有限责任公司 可配置fpga的光纤通道数据接口卡
CN105549916A (zh) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 PCIe固态硬盘控制器、基于PCIe的存储***及其数据读写方法
CN206195819U (zh) * 2016-10-25 2017-05-24 大连大学 一种空间信息网络链路控制设备

Non-Patent Citations (2)

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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509362A (zh) * 2018-04-11 2018-09-07 济南浪潮高新科技投资发展有限公司 一种串口转接器
CN109150765A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种基于fpga实现的交换机
CN115211094A (zh) * 2020-02-14 2022-10-18 索尼互动娱乐股份有限公司 通过计算节点与存储服务器之间的PCI Express织构提供高速存储访问的网络架构
CN115211094B (zh) * 2020-02-14 2024-06-14 索尼互动娱乐股份有限公司 通过计算节点与存储服务器之间的PCI Express织构提供高速存储访问的网络架构***
CN112073213A (zh) * 2020-07-30 2020-12-11 苏州浪潮智能科技有限公司 一种灵活安全配置PCIe交换机的方法
CN112073213B (zh) * 2020-07-30 2022-12-27 苏州浪潮智能科技有限公司 一种灵活安全配置PCIe交换机的方法
CN114866497A (zh) * 2022-06-15 2022-08-05 西安微电子技术研究所 一种全局异步站内同步的PCIe交换电路和方法
CN114866497B (zh) * 2022-06-15 2023-05-02 西安微电子技术研究所 一种全局异步站内同步的PCIe交换电路装置和方法

Similar Documents

Publication Publication Date Title
CN107645457A (zh) 一种PCIe交换机***和方法
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 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US20140188996A1 (en) Raw fabric interface for server system with virtualized interfaces
CN103559156B (zh) 一种fpga与计算机之间的通信***
CN104395895A (zh) 用于输入/输出虚拟化的***和方法
CN105512084A (zh) 一种Zynq平台数据交互装置
US9934175B2 (en) Direct memory access for programmable logic device configuration
CN104598405A (zh) 扩展芯片及可扩展的芯片***及控制方法
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
CN109586956B (zh) 一种可灵活配置端口的FCoE交换机及方法
US20090150563A1 (en) Control path I/O virtualisation
CN116150075B (zh) 一种PCIe交换控制器芯片、验证***和验证方法
CN106657115B (zh) 一种变频器控制***及其协议转换卡
Lin et al. Programmable connections in neuromorphic grids
US9053092B2 (en) System authorizing direct data transfers between memories of several components of that system
CN105528319B (zh) 基于fpga的加速卡及其加速方法
US10614026B2 (en) Switch with data and control path systolic array
CN103036815B (zh) 一种信息技术和通信技术ict融合***
CN103116560B (zh) 可编程刀片服务器结构
US8316169B2 (en) Physical to hierarchical bus translation
CN210270884U (zh) 一种基于sw-ich2芯片的级联扩展***
CN105260335A (zh) 扩展光接口的数据处理***及方法
CN210402342U (zh) 一种基于zynq的数据加解密结构

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