CN117319097A - Pci-e外置系统、会话协商方法及会话协商装置 - Google Patents

Pci-e外置系统、会话协商方法及会话协商装置 Download PDF

Info

Publication number
CN117319097A
CN117319097A CN202311260046.2A CN202311260046A CN117319097A CN 117319097 A CN117319097 A CN 117319097A CN 202311260046 A CN202311260046 A CN 202311260046A CN 117319097 A CN117319097 A CN 117319097A
Authority
CN
China
Prior art keywords
pci
docking station
message
data frame
type
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
CN202311260046.2A
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.)
National Energy Group Ningxia Coal Industry Co Ltd
Original Assignee
National Energy Group Ningxia Coal Industry 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 National Energy Group Ningxia Coal Industry Co Ltd filed Critical National Energy Group Ningxia Coal Industry Co Ltd
Priority to CN202311260046.2A priority Critical patent/CN117319097A/zh
Publication of CN117319097A publication Critical patent/CN117319097A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Bus Control (AREA)

Abstract

本申请提供了一种PCI‑E外置系统、会话协商方法及会话协商装置。该系统包括:转接卡,包括具有第一配置信息的第一SOC芯片,第一配置信息包括第一PCI‑E设备的地址,在主机上电的情况下,第一SOC芯片用于将第一配置信息发送至主机,以在主机中注册与第一PCI‑E设备的地址对应的PCI‑E地址;扩展坞,包括具有第二配置信息的第二SOC芯片,第二配置信息包括第二PCI‑E设备的地址,在扩展坞上电的情况下,第二SOC芯片用于将第二配置信息发送至主机,以采用第二PCI‑E设备的地址更新PCI‑E地址,第二PCI‑E设备用于接收主机传送的目标数据;光纤,连接转接卡和扩展坞,用于转接卡和扩展钨之间的数据传输。

Description

PCI-E外置系统、会话协商方法及会话协商装置
技术领域
本申请涉及通信技术领域,具体而言,涉及一种PCI-E外置系统、基于PCI-E外置系统的会话协商方法、会话协商装置、计算机可读存储介质和电子设备。
背景技术
PCI-Express(Peripheral Component Interconnect Express)是目前应用广泛的一种计算机内置设备高速串行扩展总线标准,是英特尔在2001年提出,旨在替代旧的PCI,PCI-X和AGP总线标准,目前已迭代发展至4.0标准。目前,针对各类计算机设备而言,PCI-E设备涵盖广泛,包括各类GPU计算卡、显示卡、大规模计算卡、高速存储器、外置扩展适配器、网络适配器等目前计算机系统涉及的绝大多数外置设备。但受限于PCI-E总线的传输距离和设备内部空间,大部分高性能PCI-E设备仅能使用于体积较大的塔式微型、小型计算机中,且无法方便地在计算机系统间进行切换和复用,这直接影响了便携式或小型终端的使用场景。
现有技术中给出了采用USB(通用串行协议)或雷电协议的外置显卡扩展坞方案,它可以部分解决移动终端与小型设备使用PCI-E接口外置设备的问题,但由于目前USB及雷电协议理想最高带宽仅10Gb/s,相比于目前主流的PCI-E 3.0x8计算卡128Gb/s的接口带宽而言,接口带宽受限严重;此外,采用USB协议进行数据转换会导致大量增加传输延迟,对于延迟较为敏感的多lane传输PCI-E设备而言(如数据采集卡,磁盘矩阵等),将极大影响设备性能。
因此,亟需一种能够使得PCI-E设备使用于便携式或小型终端的使用场景的方法。
发明内容
本申请的主要目的在于提供一种PCI-E外置系统、基于PCI-E外置系统的会话协商方法、会话协商装置、计算机可读存储介质和电子设备,以至少解决现有技术中PCI-E设备难以使用于便携式或小型终端的使用场景的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种PCI-E外置系统,包括:转接卡,包括第一SOC芯片,第一SOC芯片具有第一配置信息,第一配置信息包括第一PCI-E设备的地址,在主机上电的情况下,第一SOC芯片用于将第一配置信息发送至主机,以在主机中注册与第一PCI-E设备的地址对应的PCI-E地址,其中,第一SOC芯片通过模拟第一PCI-E设备的寄存器配置空间得到第一配置信息;扩展坞,包括第二SOC芯片,第二SOC芯片具有第二配置信息,其中,第二配置信息包括第二PCI-E设备的地址,在扩展坞上电的情况下,第二SOC芯片用于将第二配置信息发送至主机,以采用第二PCI-E设备的地址更新PCI-E地址,其中,第二PCI-E设备用于接收主机传送的目标数据;光纤,连接转接卡和扩展坞,用于转接卡和扩展钨之间的数据传输。
可选地,转接卡还包括第一FPGA芯片和第一光电转换芯片,第一FPGA芯片与第一光电转换芯片电连接,第一FPGA芯片用于接收并转换主机发送的多条PCI-E通道数据流,并输出转换得到的包含时序令牌的多个第一数据帧至第一光电转换芯片,第一光电转换芯片用于将多个第一数据帧转换为光通讯信号,并发送至扩展坞,其中,第一数据帧用于对目标事务层包进行重封装和传输,目标事务层包通过将目标数据以PCI-E接口总线协议的格式进行打包得到。
可选地,扩展坞还包括第二FPGA芯片和第二光电转换芯片,第二FPGA芯片与第二光电转换芯片电连接,第一光电转换芯片与第二光电转换芯片通过光纤连接,第二光电转换芯片用于将光通讯信号转换为多个第二数据帧,并发送多个第二数据帧至第二FPGA芯片,第二FPGA芯片用于将多个第二数据帧转换为一一对应的多条PCI-E通道数据流。
可选地,第一数据帧包括帧头部、目标事务层包和帧尾部,帧头部至少包括第一数据帧的类型和收到目标事务层包的时序位,第一数据帧的类型至少包括第一类型和第二类型,其中,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。
根据本申请的另一方面,提供了一种基于PCI-E外置系统的会话协商方法,应用于PCI-E外置系统中的转接卡,包括:发送第一报文至PCI-E外置系统中的扩展坞;在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式,其中,第二报文用于响应第一报文,工作模式包括PCI-E外置系统中的转接卡与扩展坞之间的工作状态、连接情况、软硬件版本;在连接情况为建立连接的情况下,接收并确认转接卡与扩展坞之间的具有第一类型的第一数据帧,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信;在具有第一类型的第一数据帧正确的情况下,将PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至扩展坞,以使得扩展坞将具有第二类型的第一数据帧发送至PCI-E外置系统中的第二PCI-E设备,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。
可选地,会话协商方法还包括:在没有接收到第二报文的情况下,或在连接情况为没有建立连接的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
可选地,会话协商方法还包括:在具有第一类型的第一数据帧存在错误的情况下,再次在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式。
可选地,会话协商方法还包括:在转发具有第二类型的第一数据帧的过程中,周期性发送第一报文;根据第一报文探测转接卡与扩展坞之间的连接情况,并在连接情况显示存在错误的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
根据本申请的再一方面,提供了一种会话协商装置,包括:发送单元,用于发送第一报文至PCI-E外置系统中的扩展坞;接收单元,用于在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式,其中,第二报文用于响应第一报文,工作模式包括转接卡与扩展坞之间的工作状态、连接情况、软硬件版本;处理单元,用于在连接情况为建立连接的情况下,接收并确认转接卡与扩展坞之间的具有第一类型的第一数据帧,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信;转发单元,用于在具有第一类型的第一数据帧正确的情况下,将转发PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至扩展坞,以使得扩展坞将具有第二类型的第一数据帧发送至PCI-E外置系统中的第二PCI-E设备,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。
根据本申请的又一方面,提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的会话协商方法。
根据本申请的再一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行上述的会话协商方法。
应用本申请的技术方案,提供了一种PCI-E外置系统、基于PCI-E外置系统的会话协商方法、会话协商装置、计算机可读存储介质和电子设备,其中,该PCI-E外置系统包括转接卡、扩展坞和光纤,且转接卡包括第一SOC芯片,第一SOC芯片具有第一配置信息,第一配置信息包括第一PCI-E设备的地址,在主机上电的情况下,第一SOC芯片用于将第一配置信息发送至主机,以在主机中注册与PCI-E设备的地址对应的PCI-E地址,其中,第一SOC芯片通过模拟第一PCI-E设备的寄存器配置空间得到第一配置信息;扩展坞,包括第二SOC芯片,第二SOC芯片具有第二配置信息,第二配置信息包括第二PCI-E设备的地址,在扩展坞上电的情况下,第二SOC芯片用于将第二配置信息发送至主机,以采用第二PCI-E设备的地址更新PCI-E地址,其中,第二PCI-E设备用于接收主机传送的目标数据;光纤,连接转接卡和扩展坞,用于转接卡和扩展钨之间的数据传输。即通过本申请,由于转接卡的第一SOC芯片能够提供模拟得到的第一配置信息,并将该第一配置信息发送至主机,从而使得主机能够首先注册PCI-E地址,进而在将扩展坞和转接卡连接之后,由于扩展坞中的第二SOC芯片具有第二PCI-E设备的第二配置信息,因此,当扩展坞将上述第二配置信息发送至主机之后,主机能够根据上述第二配置信息中第二PCI-E设备的地址更新PCI-E地址,从而使得主机和第二PCI-E设备之间能够进行数据交互,即本申请中外置的第二PCI-E设备在随时接入和拔出的情况下仍然能够实现设备枚举,使得第二PCI-E设备可以方便的复用和切换,从而解决了现有技术中PCI-E设备难以使用于便携式或小型终端的使用场景的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的实施例中提供的一种PCI-E外置系统中的转接卡的结构示意图;
图2示出了根据本申请的实施例中提供的另一种PCI-E外置系统中的转接卡的结构示意图;
图3示出了根据本申请的实施例中提供的一种PCI-E外置系统中的扩展坞的结构示意图;
图4示出了根据本申请的实施例中提供的一种PCI-E外置系统中传输的第一数据帧的结构示意图;
图5示出了根据本申请的实施例中提供的一种PCI-E外置系统的模拟模式的示意图;
图6示出了根据本申请的实施例中提供的一种PCI-E外置系统的原生模式的示意图;
图7是根据本申请实施例的一种基于PCI-E外置系统的会话协商方法的流程示意图;
图8示出了根据本申请的实施例提供的一种基于PCI-E外置系统的会话协商方法的协商流程示意图;
图9示出了根据本申请的实施例提供的一种会话协商装置的结构框图;
其中,上述附图包括以下附图标记:
PCI-E转接卡(标准PCI-E转接卡):
11、PCI-E转接卡;12、第一光电转换芯片;13、第一FPGA芯片;14、第一SOC芯片;15、PCI-E插槽;16、光纤接口。
M.2转接卡(M.2光纤转接卡):
21、M.2转接卡;22、第一光电转换芯片;23、第一FPGA芯片;24、第一SOC芯片;25、M.2NGFF插槽;26、光纤接口;27、mini光纤接口插槽;28、mini光纤接口及光纤延长线。
扩展坞(扩展坞内视和外置扩展坞):
31、扩展坞;32、第二光电转换芯片;33、第二FPGA芯片;34、第二SOC芯片;35、PCI-E设备接口;36、光纤接口;37、扩展坞电源及供电适配部分。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或属于进行说明:
PCI Express是新一代的总线接口。早在2001年的春季,英特尔公司就提出了要用新一代的技术取代PCI总线和多种芯片的内部连接,并称之为第三代I/O总线技术。随后在2001年底,包括Intel、AMD、DELL、IBM在内的20多家业界主导公司开始起草新技术的规范,并在2002年完成,对其正式命名为PCI Express。它采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。常用的PCI-E总线接口分为x1、x4、x8、x16等,通过占用的lane(通道或赛道)的数量决定其传输带宽,最大传输速率可达到x64。PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间:Configuration寄存器,是PCI所特有的一个物理空间。配置空间地址由32位组成,而配置空间地址可以通过PCI上的BusNumber、Device Number以及Function Number得到。其中Bus Number的取值范围为0~0xFF,Device Number的取值范围为0~0x1F,Function Number的取值范围为0~0x7。其保存了PCI-E设备中所需要注册的配置信息,用于主机(Host)启动时进行设备枚举和设备注册。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。本发明使用FPGA芯片来解决接口协议间转换,以及包含时序令牌的数据帧和TLP帧之间的报文头部和尾部的嵌入和脱出流程,从而实现高效率的光纤传输能力。同时,采用FPGA芯片可以方便有效地进行软件迭代,对于产品开发与升级更加有利。
光电转换芯片属于目前光通讯的核心技术其主要作用在于光电信号的转换和调制,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号。从无线通讯方面来看,6G/10G光通讯能力的光电新品是4G基站和4G传输设备中的核心部件;随着5G通信的到来,对高端光电转换芯片的需求将会大幅增加,搭载40G、100G以上光传输能力的光电转换芯片的通讯模块设计将逐步成为主流。
正如背景技术中所介绍的,目前,针对各类计算机设备而言,PCI-E设备涵盖广泛,包括各类GPU计算卡、显示卡、大规模计算卡、高速存储器、外置扩展适配器、网络适配器等目前计算机系统涉及的绝大多数外置设备。但受限于PCI-E总线的传输距离和设备内部空间,大部分高性能PCI-E设备仅能使用于体积较大的塔式微型、小型计算机中,且无法方便地在计算机系统间进行切换和复用,这直接影响了便携式或小型终端的使用场景,现有技术中为了解决PCI-E设备难以使用于便携式或小型终端的使用场景的问题,给出了采用USB(通用串行协议)或雷电协议的外置显卡扩展坞方案,它可以部分解决移动终端与小型设备使用PCI-E接口外置设备的问题,但由于目前USB及雷电协议理想最高带宽仅10Gb/s,相比于目前主流的PCI-E 3.0x8计算卡128Gb/s的接口带宽而言,接口带宽受限严重;此外,采用USB协议进行数据转换会导致大量增加传输延迟,对于延迟较为敏感的多lane传输PCI-E设备而言(如数据采集卡,磁盘矩阵等),将极大影响设备性能。因此,为解决PCI-E设备难以使用于便携式或小型终端的使用场景的问题,本申请的实施例提供了一种PCI-E外置系统、基于PCI-E外置系统的会话协商方法、会话协商装置、计算机可读存储介质和电子设备。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
根据本申请的一个方面,提供了一种PCI-E外置系统,该PCI-E外置系统包括转接卡,包括第一SOC芯片,上述第一SOC芯片具有第一配置信息,上述第一配置信息包括第一PCI-E设备的地址,在主机上电的情况下,上述第一SOC芯片用于将上述第一配置信息发送至上述主机,以在上述主机中注册与上述第一PCI-E设备的地址对应的PCI-E地址,其中,上述第一SOC芯片通过模拟上述第一PCI-E设备的寄存器配置空间得到上述第一配置信息;扩展坞,包括第二SOC芯片,上述第二SOC芯片具有第二配置信息,上述第二配置信息包括第二PCI-E设备的地址,在上述扩展坞上电的情况下,上述第二SOC芯片用于将上述第二配置信息发送至上述主机,以采用上述第二PCI-E设备的地址更新上述PCI-E地址,其中,上述主机用于向上述第二PCI-E设备传送目标数据;光纤,连接上述转接卡和上述扩展坞,用于上述转接卡和上述扩展钨之间的数据传输。
其中,上述第一SOC芯片为转接卡的主控制SOC芯片,其功能在于提供一个模拟得到的寄存器配置空间,该寄存器配置空间能够在主机启动、重置以及更改时用于向主机提供设备枚举流程。上述第二SOC芯片为扩展坞的主控制SOC芯片,其功能在于扩展坞接入转接卡时,提供设备变更Message流程,从而协商转接卡和扩展坞之间的数据传输,改换SMbus及第二PCI-E设备的接口插针电平,辅助第二PCI-E设备更新主机中的PCI-E地址。
可选地,上述转接卡可以包括但不限于PCI-E转接卡和M.2转接卡等。
示例性地,如图1所示,在上述转接卡为PCI-E转接卡11的情况下,转接卡最高可支持PCI-E x16标准接口,主要由所需的芯片组件、周边原件、光纤接口16和PCB组成,可直接插接安装于主计算设计(以下简称主机)板件PCI-E插槽15内。且此转接卡使用于标准PCI-E接口的主计算设备中(以下简称主机),可选择使用1\2\4组标准LC光纤接口,其中,最高支持PCI-E 3.0/4.0x16(以下简称x16)信号带宽进行传输。进一步地,图1示出了采用2组LC光纤接口的PCI-E转接卡11的典型使用场景,最高支持PCI-E 3.0/4.0x8(以下简称x8)信号带宽,其中第1组用于转接卡和扩展坞之间的协商数据传输和lane0~3的数据传输;第2组用于lane4~7的数据传输。可以仅使用第1组LC光纤接口16,达到PCI-E 3.0/4.0x4(以下简称x4)的接口带宽。亦可以存在4组LC光纤接口16的转接卡,使用4组LC光纤接口16,达到x16接口带宽。该PCI-E转接卡11可以满足较多应用的高性能计算卡、NPU/GPU计算卡、高性能显示卡等场景的带宽需求。同理地,其他1组或4组LC光纤接口16的PCI-E转接卡11及其功能组成与上述2组LC光纤接口16的PCI-E转接卡11类似,不再繁述。示例性地,上述芯片组件可以包括第一光电转换芯片12、第一FPGA芯片13和第一SOC芯片14。
示例性地,如图2所示,在上述转接卡为M.2转接卡21的情况下,转接卡主要由所需的芯片组件、周边原件、光纤接口26和PCB组成,可直接插接安装于便携式、小型化主机M.2NGFF插槽25内。此转接卡使用于M.2NGFF接口的便携式、小型化主机中,可选择使用1\2组标准LC光纤接口26,最高支持x8信号带宽进行传输。进一步地,图2示出了采用2组LC光纤接口26的典型使用场景,最高支持x8信号带宽,其中第1组用于转接卡和扩展坞之间的协商数据传输和lane0~3的数据传输;第2组用于lane4~7的数据传输。可以仅使用第1组LC接口,达到x4的接口带宽,可以满足较多应用的高性能计算卡、NPU/GPU计算卡、高性能显示卡等场景的带宽需求。同理地,其他1组或4组LC光纤接口26的转接卡及其功能组成与采用2组LC光纤接口26的转接卡类似,不再繁述。具体地,上述M.2转接卡还可以包括mini光纤接口插槽27,连接mini光纤接口及光纤延长线28,用于将光通讯信号在主机设备内延长并连接设备外壳表面的标准LC光纤接口。示例性地,上述芯片组件可以包括第一光电转换芯片22、第一FPGA芯片23和第一SOC芯片24。
示例性地,如图3所示,本申请的扩展坞31通过PCI-E设备接口35与第二PCI-E设备连接,该扩展坞可以包括第二光电转换芯片32、第二FPGA芯片33和第二SOC芯片34,该扩展坞可以按照使用的PCI-E外置设备尺寸进行变更,附带安装可以设备主动或者被动散热装置。进一步地,上述扩展坞还可以包括标准LC光纤接口36,图3仅显示使用2组LC光纤接口36的典型场景,其中第1组用于转接卡和扩展坞之间的协商数据传输和lane 0~3的数据传输;第2组用于lane 4~7的数据传输。可以仅使用第1组LC光纤接口36,达到PCI-E 3.0/4.0x4(以下简称x4)的接口带宽。亦可以存在4组LC光纤接口36的扩展坞,使用4组LC光纤接口36,达到x16接口带宽。另外,上述扩展坞还包括有扩展坞电源及供电适配部分37。本申请设计采用外置大功率DC电源方式解决高性能第二PCI-E设备电源功率要求,并由扩展坞的第二SOC芯片进行电源控制。
有上述可知,由于本申请采用1\2\4组TX\RX光纤接口,最高可以支持传输PCI-E3.0x16接口协议带宽,支持目前绝大多数主流高性能PCI-E设备,因此较现在使用的拓展设计,可以更灵活地在接口设计、便携性、拓展性间进行选择。
上述实施方式中,由于转接卡的第一SOC芯片能够提供模拟寄存器配置空间得到的第一配置信息,并将该第一配置信息发送至主机,从而使得主机能够首先注册PCI-E地址,进而在将扩展坞和转接卡连接之后,由于扩展坞中的第二SOC芯片具有第二PCI-E设备的第二配置信息,因此,当扩展坞将上述第二配置信息发送至主机之后,主机能够根据上述第二配置信息中第二PCI-E设备的地址更新PCI-E地址,从而使得主机和第二PCI-E设备之间能够进行数据交互,即本申请中外置的第二PCI-E设备在随时接入和拔出的情况下仍然能够实现设备枚举,使得第二PCI-E设备可以方便的复用和切换,从而解决了现有技术中PCI-E设备难以使用于便携式或小型终端的使用场景的问题。另外,由于上述PCI-E外置系统的转接卡和扩展坞之间通过光纤连接,从而有效解决了长距离使用第二PCI-E设备的问题。
在一些可选的实施方式中,上述PCI-E外置系统的转接卡还包括第一FPGA芯片和第一光电转换芯片,上述第一FPGA芯片与上述第一光电转换芯片电连接,上述第一FPGA芯片用于接收并转换上述主机发送的多条PCI-E通道数据流,并输出转换得到的包含时序令牌的多个第一数据帧至上述第一光电转换芯片,上述第一光电转换芯片用于将多个上述第一数据帧转换为光通讯信号,并发送至上述扩展坞,其中,上述第一数据帧用于对目标事务层包进行重封装和传输,上述目标事务层包通过将上述第二数据以PCI-E接口总线协议的格式进行打包得到。
具体地,由于PCI-E接口总线协议中将数据打包为目标事务层包(TransactionLayer packet,TLP),并在多个lane(通道)中传输的设计方式(x4、x8、x16接口类型),类似于串行总线上附加并行总线的方式,使得在时分类型的光纤传输时,会导致不同lane中TLP传输延迟不一样,产生错序数据帧,因此,上述实施方式中,转接卡还包括第一FPGA芯片,该第一FPGA芯片具有低延迟、高效率的数字信号转换功能,其能够在主机与第二PCI-E设备进行数据交互的过程中,将主机发送的多条PCI-E lane(通道)数据流转换为包含时序令牌的多个第一数据帧,即基于传输时延顺序对原有的目标事务层包进行重新封装,以得到上述包含时序令牌的第一数据帧,从而解决了传输错序的问题。
进一步地,为了使得上述第一数据帧用于光纤通讯,上述实施方式中的转接卡还包括有第一光电转换芯片,该第一光电转换芯片与上述第一FPGA芯片电连接,从而将第一FPGA芯片转换得到的多个第一数据帧进一步转换为光信号并通过光纤进行传输。可选地,该第一光电转换芯片可以采用高性能多路光电芯片,以使其完成电信号至光通讯信号的转换。可选地,该第一光电转换芯片还支持光通讯信号调制以及物理层通讯管理(PHY)功能,并最终驱动光纤接口完成“光--电”、“电--光”双向通讯流程。
在一些可选的实施方式中,上述PCI-E外置系统的上述扩展坞还包括第二FPGA芯片和第二光电转换芯片,上述第二FPGA芯片与上述第二光电转换芯片电连接,上述第一光电转换芯片与上述第二光电转换芯片通过上述光纤连接,上述第二光电转换芯片用于将上述光通讯信号转换为多个第二数据帧,并发送多个上述第二数据帧至上述第二FPGA芯片,上述第二FPGA芯片用于将多个上述第二数据帧转换为一一对应的多条上述PCI-E通道数据流。
同样地,为了使得扩展坞能够接收转接卡传输的光通讯信号,并将上述光通信信号用于数据交互,本实施方式中的扩展坞还包括第二光电转换芯片,以使该第二光电转换芯片首先将上述光通信信号转换为电信号。进一步地,由于转换得到的上述电信号为包含有时序令牌的多个第二数据帧,因此,为了获取每个上述第二数据帧的数据部分,上述扩展坞还包括第二FPGA芯片,其中,该第二FPGA芯片与上述第二光电转换芯片电连接,从而接收第二光电转换芯片的多个第二数据帧进行脱帧处理,以得到每个第二数据帧对应的数据部分,即多条PCI-E通道数据流。可以理解的是,第一数据帧可以为发送方(转接卡或扩展坞)发送的数据帧,第二数据帧可以为接收方(扩展坞或转接卡)接收的数据帧。
在一些可选的实施方式中,上述第一数据帧包括帧头部、上述目标事务层包和帧尾部,上述帧头部至少包括上述第一数据帧的类型和收到上述目标事务层包的时序位,上述第一数据帧的类型至少包括第一类型和第二类型,其中,具有上述第一类型的上述第一数据帧用于上述转接卡与上述扩展坞之间的协商通信,具有上述第二类型的上述第一数据帧用于上述第二PCI-E设备与上述主机之间的数据交互。
上述实施方式中,在转接卡的第一FPGA芯片接收到上述目标事务层包的情况下,第一FPGA芯片可以通过在原有的目标事物层包的基础上嵌入了帧头部和帧尾部,解决了不同PCI-E通道中目标事物层包的传输延迟不一样导致的传输错误的问题。示例性地,如图4所示,第一数据帧包括帧头部、原始TLP帧和帧尾部,其中,原始TLP帧即为目标事物层包,且该原始TLP帧包括有TLP帧头部、TLP数据段和TLP校验段。
同理地,在扩展坞的第二FPGA芯片接收到上述目标事务层包的情况下,第二FPGA芯片也可以通过在原有的目标事物层包的基础上嵌入了帧头部和帧尾部,从而解决不同PCI-E通道中目标事物层包的传输延迟不一样导致的传输错误的问题。
具体地,上述帧头部可以包括是时序位、lane标记、flag位和预留位。其中,flag位标明了上述第一数据帧的类型。可选地,当上述flag位为0x0~0xE时,表示该第一数据帧为第一类型,当上述flag位为0xF时,表示该第一数据帧为第二类型,其中,具有第一类型的上述第一数据帧用于转接卡与扩展坞之间的协商通信,具有上述第二类型的第一数据帧用于第二PCI-E设备和主机之间的正常业务数据(即数据交互)。需要注意的是,具有第一类型的第一数据帧仅在转接卡和扩展坞之间存在,不会转发至主机或第二PCI-E设备;而在第一FPGA芯片用于接收来自扩展坞的第二数据帧(交互数据)的情况下,具有第二类型的第二数据帧将通过该第一FPGA芯片进行脱帧处理,以脱去帧头部和帧尾部,将原始的目标事物层包转发至主机。
同理地,在一些可选的实施方式中,上述第二数据帧也可以包括帧头部、目标事务层包和帧尾部,上述帧头部至少包括上述第二数据帧的类型和收到上述目标事务层包的时序位,上述第二数据帧的类型至少包括第一类型和第二类型,其中,具有上述第一类型的上述第二数据帧用于上述转接卡与上述扩展坞之间的协商通信,具有上述第二类型的上述第二数据帧用于上述第二PCI-E设备与上述主机之间的数据交互,其中,在第二FPGA芯片用于接收来自转接卡的第二数据帧(交互数据)的情况下,具有第二类型的第二数据帧将通过该第二FPGA芯片进行脱帧处理,以脱去帧头部和帧尾部,将原始的目标事物层包转发至第二PCI-E设备。
可选地,本申请的上述PCI-E外置系统可以包含有两种模式:模拟模式和原生模式。其中,如图5所示,模拟模式下的上述PCI-E外置系统在主机首先启动的情况下,可以由主机的RC(Root Complex)控制器发起设备枚举,转接卡的第一SOC芯片可以提供一个模拟的寄存器配置空间,该寄存器配置空间能够将第一配置信息发送至主机的RC控制器,完成第一PCI-E设备的第一步注册过程(即寄存区模拟注册),进而在扩展坞上电之后,扩展坞的第二SOC芯片能够主动模拟RC控制器进行设备枚举的过程(即RC模拟),并将第二PCI-E设备产生的第二配置信息记录,用于下一步第二PCI-E设备的寄存器数据与主机之间的注册过程(即更新主机的PCI-E地址,重注册),而后在转接卡与扩展坞连接后,转接卡和扩展坞双方会进行协商流程,该协商流程可以包含连接状态、光纤带宽、电源配置、本系统标志类型以及第二PCI-E设备带宽等,然后在双方协商成功后由转接卡的第一SOC芯片、发起Message中断,并重新向主机发送变更Message TLP,由主机进行第二PCI-E设备配置,进而在转接卡与扩展坞进入正常工作状态之后,开始转发具有第二类型的第一数据帧或第二数据帧(即由主机至转接卡,转接卡至扩展坞,扩展坞至第二PCI-E设备的业务数据转发,或第二PCI-E设备至扩展坞,扩展坞至转接卡,转接卡至主机的业务数据转发)。
其中,如图6所示,原生模式下的上述PCI-E外置系统的扩展坞必须先于主机启动,且在原生模式下的PCI-E外置系统只在转接卡和扩展坞连接后,转接卡和扩展坞双方会进行协商流程,该协商流程可以包含连接状态、光纤带宽、电源配置、本系统标志类型以及第二PCI-E设备带宽等,进而在转接卡与扩展坞进入正常工作状态之后,开始转发具有第二类型的第一数据帧或第二数据帧(即由主机至转接卡,转接卡至扩展坞,扩展坞至第二PCI-E设备的业务数据转发,或第二PCI-E设备至扩展坞,扩展坞至转接卡,转接卡至主机的业务数据转发)。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的一种基于PCI-E外置系统的会话协商方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图7是根据本申请实施例的一种基于PCI-E外置系统的会话协商方法的流程图。如图7所示,该会话协商方法应用于PCI-E外置系统中的转接卡,该方法包括以下步骤:
步骤S201,发送第一报文至PCI-E外置系统中的扩展坞;
具体地,第一报文用于确保通信双方能够建立一个安全、可靠的通信连接,本申请的实施例通过发送第一报文,使得转接卡和扩展坞能够建立连接,其中,上述第一报文中包含有转接卡和扩展坞的工作状态、连接情况和软硬件版本等。可以理解的是,当转接卡发送第一报文至扩展坞的过程中,若扩展坞接收了上述第一报文,则扩展坞会发送确认报文作为回应,以通知转接卡数据已经成功到达,其中,在转接卡未接收到上述确认报文的情况下,该转接卡会一直保持暂停状态(Idle),如图8所示(转接卡发送Hello TTLP等待扩展坞Hello-ack TTLP报文)。可选地,上述第一报文可以为Hello报文。
步骤S202,在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式,其中,第二报文用于响应第一报文,工作模式包括转接卡与扩展坞之间的工作状态、连接情况、软硬件版本;
具体地,上述第二报文即为扩展坞接收到转接卡的第一报文之后的确认报文,且上述第二报文中同样包含有转接卡和扩展坞的工作状态、连接情况和软硬件版本等,从而在转接卡接收到上述第二报文的情况下,转接卡能够通过解析确认报文中的字段和标志,确认得到转接卡和扩展坞当前连接的状态,即转接卡当前处于激活状态(Active),如图8所示(转接卡确认扩展坞Hello-ack TTLP报文,进入激活状态),从而实现双方之间的通信。可选地,在上述第一报文为Hello报文的情况下,上述第二报文可以为Hello-ack报文。
步骤S203,在连接情况为建立连接的情况下,接收并确认转接卡与扩展坞之间的具有第一类型的第一数据帧,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信;
具体地,在确认转接卡和扩展坞当前为建立连接的情况下,双方(即转接卡和扩展坞)可以开始发送具有第一类型的第一数据帧,其中,上述具有第一类型的第一数据帧可以包括PCI-E外置系统中的第二PCI-E设备的总线带宽需求、转接卡带宽、光纤链路带宽、第二PCI-E设备的寄存器数据、第二PCI-E设备的注册情况和电源配置信息等。示例性地,转接卡可以首先发送具有第一类型的第一数据帧至扩展坞,扩展坞在收到上述第一数据帧之后,可以首先检查第一数据帧的格式是否正确,其中,包括检查第一数据帧的帧头部、目标事务层包以及帧尾部是够符合通信协议规定的格式,进而扩展坞在根据上述第一数据帧进行配置之后,扩展坞能够将第一数据帧的响应报文发送回转接卡,该响应报文中包含有确认信息,以使转接卡在接收到上述响应报文后,检查响应报文的格式是否正确,并解析其中的确认信息判断得到扩展坞是否已成功完成配置操作,其中,当确认扩展坞已成功完成配置操作时,表明转接卡与上述扩展坞协商完成,即转接卡当前处理确认状态(Conform),如图8所示(激活状态下,转接卡与扩展坞之间确认双方配置,由不同的config TTLP进行协商),转接卡可以继续进行下一步操作。
步骤S204,在具有第一类型的第一数据帧正确的情况下,将PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至扩展坞,以使得扩展坞将具有第二类型的第一数据帧发送至PCI-E外置系统中的第二PCI-E设备,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。
具体地,具有上述第一类型的上述第一数据帧正确即表示第一数据帧的格式正确,且转接卡和扩展坞协商完成,因此,转接卡和扩展坞可以开始转发具有第二类型的第一数据帧,即转接卡当前处于转发状态(Establish),如图8所示(确认状态完成后,开始转发业务operation TTLP。可选地,还可以定期发送Hello TTLP确认连接状态)。示例性地,接收卡可以首先接收来自主机的多条PCI-E通道数据流,进而将上述多条转换为具有第二类型的第一数据帧,然后将上述具有第二类型的第一数据帧进一步转换为光通讯信号发送至扩展坞,使得扩展坞将接收到的光通讯信号首先转换为具有第二类型的第二数据帧,进而将上述具有第二类型的第二数据帧进一步转换为多条PCI-E通道数据流并发送至第二PCI-E设备,从而实现主机与第二PCI-E设备之间的数据交互。
通过本实施例,可以更加便捷地伺服第二PCI-E设备的接入、断开、重连等过程,减少用户进行故障排查流程,从而极大的提高了外置的第二PCI-E设备的使用便利性。
在一些可选的实施方式中,上述会话协商方法还包括:在没有接收到上述第二报文的情况下,或在上述连接情况为没有建立连接的情况下,再次发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文。
上述实施方式中,根据转接卡没有接收到第二报文可知,扩展坞无法正常处理上述第一报文,从而不能给出响应;根据转接卡和扩展坞之间的连接情况为没有建立连接的情况可知,扩展坞响应第一报文的第二报文显示没有正确获取扩展坞的工作状态或转接卡和扩展坞的连接出现错误等,因此转接卡不能进行下一步的操作,从而转接卡会保持在暂停状态,即在该状态下的转接卡会再次发送第一报文至扩展坞,以等待扩展坞的响应。
在一些可选的实施方式中,上述会话协商方法还包括:在具有上述第一类型的上述第一数据帧存在错误的情况下,再次在接收到上述扩展坞的第二报文的情况下,获取上述扩展坞的工作模式。
上述实施方式中,具有上述第一类型的上述第一数据帧存在错误即表示第一数据帧的格式出现错误,或转接卡和扩展坞的配置信息出现错误导致协商没有完成等,因此,转接卡不能进行下一步的操作,再次在接收到扩展坞的第二报文的情况下,根据第二报文获取扩展坞的工作模式,从而确认转接卡和扩展坞之间的工作状态以及连接情况等。
在一些可选的实施方式中,上述会话协商方法还包括:如图8所示,在转发具有上述第二类型的上述第一数据帧的过程中,周期性发送上述第一报文;根据上述第一报文探测上述转接卡与上述扩展坞之间的连接情况,并在上述连接情况显示存在错误的情况下(Error判定),再次发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文。
上述实施方式中,通过周期性发送第一报文,使得转接卡能够对转接卡和扩展坞之前的连接情况进行实时探测,以达到及时发现传输错误的目的,并在发现传输错误的情况下,使得转接卡继续保持在暂停状态,其中,该状态下的转接卡会发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文,并进行下一步的操作。示例性地,上述连接情况显示存在错误的情况可以包括但不限于传输错误、设备注册错误、第二PCI-E设备Message TLP报文错误以及Hello无应答等。
本申请实施例还提供了一种会话协商装置,需要说明的是,本申请实施例的会话协商装置可以用于执行本申请实施例所提供的用于会话协商方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以下对本申请实施例提供的会话协商装置进行介绍。
图9是根据本申请实施例的会话协商装置的示意图。如图9所示,该装置包括:发送单元301,用于发送第一报文至上述PCI-E外置系统中的扩展坞;接收单元302,用于在接收到上述扩展坞的第二报文的情况下,获取上述扩展坞的工作模式,其中,上述第二报文用于响应上述第一报文,上述工作模式包括上述PCI-E外置系统中的转接卡与上述扩展坞之间的工作状态、连接情况、软硬件版本;处理单元303,用于在上述连接情况为建立连接的情况下,接收并确认上述转接卡与上述扩展坞之间的具有第一类型的第一数据帧,具有上述第一类型的上述第一数据帧用于上述转接卡与上述扩展坞之间的协商通信;转发单元304,用于在具有上述第一类型的上述第一数据帧正确的情况下,将转发上述PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至上述扩展坞,以使得上述扩展坞将具有上述第二类型的上述第一数据帧发送至上述PCI-E外置系统中的第二PCI-E设备,具有上述第二类型的上述第一数据帧用于上述第二PCI-E设备与上述主机之间的数据交互。
在一些可选的实施方式中,上述会话协商装置还包括:第二发送单元,用于在没有接收到上述第二报文的情况下,或在上述连接情况为没有建立连接的情况下,再次发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文。
上述实施方式中,根据转接卡没有接收到第二报文可知,扩展坞无法正常处理上述第一报文,从而不能给出响应;根据转接卡和扩展坞之间的连接情况为没有建立连接的情况可知,扩展坞响应第一报文的第二报文显示没有正确获取扩展坞的工作状态或转接卡和扩展坞的连接出现错误等,因此转接卡不能进行下一步的操作,从而转接卡会保持在暂停状态,即在该状态下的转接卡会再次发送第一报文至扩展坞,以等待扩展坞的响应。
在一些可选的实施方式中,上述会话协商装置还包括:获取单元,用于在具有上述第一类型的上述第一数据帧存在错误的情况下,再次在接收到上述扩展坞的第二报文的情况下,获取上述扩展坞的工作模式。
上述实施方式中,具有上述第一类型的上述第一数据帧存在错误即表示第一数据帧的格式出现错误,或转接卡和扩展坞的配置信息出现错误导致协商没有完成等,因此,转接卡不能进行下一步的操作,再次在接收到扩展坞的第二报文的情况下,根据第二报文获取扩展坞的工作模式,从而确认转接卡和扩展坞之间的工作状态以及连接情况等。
在一些可选的实施方式中,上述会话协商装置还包括:第三发送单元,用于在转发具有上述第二类型的上述第一数据帧的过程中,周期性发送上述第一报文;探测单元,用于根据上述第一报文探测上述转接卡与上述扩展坞之间的连接情况,并在上述连接情况显示存在错误的情况下(Error判定),再次发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文。
上述实施方式中,通过周期性发送第一报文,使得转接卡能够对转接卡和扩展坞之前的连接情况进行实时探测,以达到及时发现传输错误的目的,并在发现传输错误的情况下,使得转接卡继续保持在暂停状态,其中,该状态下的转接卡会发送上述第一报文至上述扩展坞,以使得上述扩展坞根据再次接收到的上述第一报文重新响应,以得到更新的上述第二报文,并进行下一步的操作。示例性地,上述连接情况显示存在错误的情况可以包括但不限于传输错误、设备注册错误、第二PCI-E设备Message TLP报文错误以及Hello无应答等。
上述会话协商装置包括处理器和存储器,上述发送单元301、接收单元302、处理单元303和转发单元304等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中PCI-E设备难以使用于便携式或小型终端的使用场景的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述基于PCI-E外置系统的会话协商方法。
具体地,会话协商方法包括:
步骤S201,发送第一报文至上述PCI-E外置系统中的扩展坞;
具体地,第一报文用于确保通信双方能够建立一个安全、可靠的通信连接,本申请的实施例通过发送第一报文,使得转接卡和扩展坞能够建立连接,其中,上述第一报文中包含有转接卡和扩展坞的工作状态、连接情况和软硬件版本等。可以理解的是,当转接卡发送第一报文至扩展坞的过程中,若扩展坞接收了上述第一报文,则扩展坞会发送确认报文作为回应,以通知转接卡数据已经成功到达,其中,在转接卡未接收到上述确认报文的情况下,该转接卡会一直保持暂停状态(Idle),如图8所示(转接卡发送Hello TTLP等待扩展坞Hello-ack TTLP报文)。可选地,上述第一报文可以为Hello报文。
步骤S202,在接收到上述扩展坞的第二报文的情况下,获取上述扩展坞的工作模式,其中,上述第二报文用于响应上述第一报文,上述工作模式包括上述转接卡与上述扩展坞之间的工作状态、连接情况、软硬件版本;
具体地,上述第二报文即为扩展坞接收到转接卡的第一报文之后的确认报文,且上述第二报文中同样包含有转接卡和扩展坞的工作状态、连接情况和软硬件版本等,从而在转接卡接收到上述第二报文的情况下,转接卡能够通过解析确认报文中的字段和标志,确认得到转接卡和扩展坞当前连接的状态,即转接卡当前处于激活状态(Active),如图8所示(转接卡确认扩展坞Hello-ack TTLP报文,进入激活状态),从而实现双方之间的通信。可选地,在上述第一报文为Hello报文的情况下,上述第二报文可以为Hello-ack报文。
步骤S203,在上述连接情况为建立连接的情况下,接收并确认上述转接卡与上述扩展坞之间的具有第一类型的第一数据帧,具有上述第一类型的上述第一数据帧用于上述转接卡与上述扩展坞之间的协商通信;
具体地,在确认转接卡和扩展坞当前为建立连接的情况下,双方(即转接卡和扩展坞)可以开始发送具有第一类型的第一数据帧,其中,上述具有第一类型的第一数据帧可以包括PCI-E外置系统中的第二PCI-E设备的总线带宽需求、转接卡带宽、光纤链路带宽、第二PCI-E设备的寄存器数据、第二PCI-E设备的注册情况和电源配置信息等。示例性地,转接卡可以首先发送具有第一类型的第一数据帧至扩展坞,扩展坞在收到上述第一数据帧之后,可以首先检查第一数据帧的格式是否正确,其中,包括检查第一数据帧的帧头部、目标事务层包以及帧尾部是够符合通信协议规定的格式,进而扩展坞在根据上述第一数据帧进行配置之后,扩展坞能够将第一数据帧的响应报文发送回转接卡,该响应报文中包含有确认信息,以使转接卡在接收到上述响应报文后,检查响应报文的格式是否正确,并解析其中的确认信息判断得到扩展坞是否已成功完成配置操作,其中,当确认扩展坞已成功完成配置操作时,表明转接卡与上述扩展坞协商完成,即转接卡当前处理确认状态(Conform),如图8所示(激活状态下,转接卡与扩展坞之间确认双方配置,由不同的config TTLP进行协商),转接卡可以继续进行下一步操作。
步骤S204,在具有上述第一类型的上述第一数据帧正确的情况下,将上述PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至上述扩展坞,以使得上述扩展坞将具有上述第二类型的上述第一数据帧发送至上述PCI-E外置系统中的第二PCI-E设备,具有上述第二类型的上述第一数据帧用于上述第二PCI-E设备与上述主机之间的数据交互。
具体地,具有上述第一类型的上述第一数据帧正确即表示第一数据帧的格式正确,且转接卡和扩展坞协商完成,因此,转接卡和扩展坞可以开始转发具有第二类型的第一数据帧,即转接卡当前处于转发状态(Establish),如图8所示(确认状态完成后,开始转发业务operation TTLP。可选地,还可以定期发送Hello TTLP确认连接状态)。示例性地,接收卡可以首先接收来自主机的多条PCI-E通道数据流,进而将上述多条转换为具有第二类型的第一数据帧,然后将上述具有第二类型的第一数据帧进一步转换为光通讯信号发送至扩展坞,使得扩展坞将接收到的光通讯信号首先转换为具有第二类型的第二数据帧,进而将上述具有第二类型的第二数据帧进一步转换为多条PCI-E通道数据流并发送至第二PCI-E设备,从而实现主机与第二PCI-E设备之间的数据交互。
可选地,会话协商方法还包括:在没有接收到第二报文的情况下,或在连接情况为没有建立连接的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
可选地,会话协商方法还包括:在具有第一类型的第一数据帧存在错误的情况下,再次在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式。
可选地,会话协商方法还包括:在转发具有第二类型的第一数据帧的过程中,周期性发送第一报文;根据第一报文探测转接卡与扩展坞之间的连接情况,并在连接情况显示存在错误的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:发送第一报文至PCI-E外置系统中的扩展坞;在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式,其中,第二报文用于响应第一报文,工作模式包括转接卡与扩展坞之间的工作状态、连接情况、软硬件版本;在连接情况为建立连接的情况下,接收并确认转接卡与扩展坞之间的具有第一类型的第一数据帧,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信;在具有第一类型的第一数据帧正确的情况下,将PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至扩展坞,以使得扩展坞将具有第二类型的第一数据帧发送至PCI-E外置系统中的第二PCI-E设备,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。本文中的设备可以是服务器、PC、PAD、手机等。
可选地,会话协商方法还包括:在没有接收到第二报文的情况下,或在连接情况为没有建立连接的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
可选地,会话协商方法还包括:在具有第一类型的第一数据帧存在错误的情况下,再次在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式。
可选地,会话协商方法还包括:在转发具有第二类型的第一数据帧的过程中,周期性发送第一报文;根据第一报文探测转接卡与扩展坞之间的连接情况,并在连接情况显示存在错误的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:发送第一报文至PCI-E外置系统中的扩展坞;在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式,其中,第二报文用于响应第一报文,工作模式包括转接卡与扩展坞之间的工作状态、连接情况、软硬件版本;在连接情况为建立连接的情况下,接收并确认转接卡与扩展坞之间的具有第一类型的第一数据帧,具有第一类型的第一数据帧用于转接卡与扩展坞之间的协商通信;在具有第一类型的第一数据帧正确的情况下,将PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至扩展坞,以使得扩展坞将具有第二类型的第一数据帧发送至PCI-E外置系统中的第二PCI-E设备,具有第二类型的第一数据帧用于第二PCI-E设备与主机之间的数据交互。
可选地,会话协商方法还包括:在没有接收到第二报文的情况下,或在连接情况为没有建立连接的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
可选地,会话协商方法还包括:在具有第一类型的第一数据帧存在错误的情况下,再次在接收到扩展坞的第二报文的情况下,获取扩展坞的工作模式。
可选地,会话协商方法还包括:在转发具有第二类型的第一数据帧的过程中,周期性发送第一报文;根据第一报文探测转接卡与扩展坞之间的连接情况,并在连接情况显示存在错误的情况下,再次发送第一报文至扩展坞,以使得扩展坞根据再次接收到的第一报文重新响应,以得到更新的第二报文。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
通过本申请,由于转接卡的第一SOC芯片能够提供模拟得到的第一配置信息,并将该第一配置信息发送至主机,从而使得主机能够首先注册PCI-E地址,进而在将扩展坞和转接卡连接之后,由于扩展坞中的第二SOC芯片具有第二PCI-E设备的第二配置信息,因此,当扩展坞将上述第二配置信息发送至主机之后,主机能够根据上述第二配置信息中第二PCI-E设备的地址更新PCI-E地址,从而使得主机和第二PCI-E设备之间能够进行数据交互,即本申请中外置的第二PCI-E设备在随时接入和拔出的情况下仍然能够实现设备枚举,使得第二PCI-E设备可以方便的复用和切换,从而解决了现有技术中PCI-E设备难以使用于便携式或小型终端的使用场景的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种PCI-E外置系统,其特征在于,包括:
转接卡,包括第一SOC芯片,所述第一SOC芯片具有第一配置信息,所述第一配置信息包括第一PCI-E设备的地址,在主机上电的情况下,所述第一SOC芯片用于将所述第一配置信息发送至所述主机,以在所述主机中注册与所述第一PCI-E设备的地址对应的PCI-E地址,其中,所述第一SOC芯片通过模拟所述第一PCI-E设备的寄存器配置空间得到所述第一配置信息;
扩展坞,包括第二SOC芯片,所述第二SOC芯片具有第二配置信息,其中,所述第二配置信息包括第二PCI-E设备的地址,在所述扩展坞上电的情况下,所述第二SOC芯片用于将所述第二配置信息发送至所述主机,以采用所述第二PCI-E设备的地址更新所述PCI-E地址,其中,所述第二PCI-E设备用于接收所述主机传送的目标数据;
光纤,连接所述转接卡和所述扩展坞,用于所述转接卡和所述扩展钨之间的数据传输。
2.根据权利要求1所述的PCI-E外置系统,其特征在于,所述转接卡还包括第一FPGA芯片和第一光电转换芯片,所述第一FPGA芯片与所述第一光电转换芯片电连接,所述第一FPGA芯片用于接收并转换所述主机发送的多条PCI-E通道数据流,并输出转换得到的包含时序令牌的多个第一数据帧至所述第一光电转换芯片,所述第一光电转换芯片用于将多个所述第一数据帧转换为光通讯信号,并发送至所述扩展坞,其中,所述第一数据帧用于对目标事务层包进行重封装和传输,所述目标事务层包通过将所述目标数据以PCI-E接口总线协议的格式进行打包得到。
3.根据权利要求2所述的PCI-E外置系统,其特征在于,所述扩展坞还包括第二FPGA芯片和第二光电转换芯片,所述第二FPGA芯片与所述第二光电转换芯片电连接,所述第一光电转换芯片与所述第二光电转换芯片通过所述光纤连接,所述第二光电转换芯片用于将所述光通讯信号转换为多个第二数据帧,并发送多个所述第二数据帧至所述第二FPGA芯片,所述第二FPGA芯片用于将多个所述第二数据帧转换为一一对应的多条所述PCI-E通道数据流。
4.根据权利要求2所述的PCI-E外置系统,其特征在于,所述第一数据帧包括帧头部、所述目标事务层包和帧尾部,所述帧头部至少包括所述第一数据帧的类型和收到所述目标事务层包的时序位,所述第一数据帧的类型至少包括第一类型和第二类型,其中,具有所述第一类型的所述第一数据帧用于所述转接卡与所述扩展坞之间的协商通信,具有所述第二类型的所述第一数据帧用于所述第二PCI-E设备与所述主机之间的数据交互。
5.一种基于如权利要求1至4中任一项所述PCI-E外置系统的会话协商方法,其特征在于,应用于所述PCI-E外置系统中的转接卡,包括:
发送第一报文至所述PCI-E外置系统中的扩展坞;
在接收到所述扩展坞的第二报文的情况下,获取所述扩展坞的工作模式,其中,所述第二报文用于响应所述第一报文,所述工作模式包括所述转接卡与所述扩展坞之间的工作状态、连接情况、软硬件版本;
在所述连接情况为建立连接的情况下,接收并确认所述转接卡与所述扩展坞之间的具有第一类型的第一数据帧,具有所述第一类型的所述第一数据帧用于所述转接卡与所述扩展坞之间的协商通信;
在具有所述第一类型的所述第一数据帧正确的情况下,将所述PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至所述扩展坞,以使得所述扩展坞将具有所述第二类型的所述第一数据帧发送至所述PCI-E外置系统中的第二PCI-E设备,具有所述第二类型的所述第一数据帧用于所述第二PCI-E设备与所述主机之间的数据交互。
6.根据权利要求5所述的会话协商方法,其特征在于,所述会话协商方法还包括:
在没有接收到所述第二报文的情况下,或在所述连接情况为没有建立连接的情况下,再次发送所述第一报文至所述扩展坞,以使得所述扩展坞根据再次接收到的所述第一报文重新响应,以得到更新的所述第二报文。
7.根据权利要求5或6所述的会话协商方法,其特征在于,所述会话协商方法还包括:
在具有所述第一类型的所述第一数据帧存在错误的情况下,再次在接收到所述扩展坞的第二报文的情况下,获取所述扩展坞的工作模式。
8.根据权利要求5或6所述的会话协商方法,其特征在于,所述会话协商方法还包括:
在转发具有所述第二类型的所述第一数据帧的过程中,周期性发送所述第一报文;
根据所述第一报文探测所述转接卡与所述扩展坞之间的连接情况,并在所述连接情况显示存在错误的情况下,再次发送所述第一报文至所述扩展坞,以使得所述扩展坞根据再次接收到的所述第一报文重新响应,以得到更新的所述第二报文。
9.一种会话协商装置,其特征在于,包括:
发送单元,用于发送第一报文至PCI-E外置系统中的扩展坞;
接收单元,用于在接收到所述扩展坞的第二报文的情况下,获取所述扩展坞的工作模式,其中,所述第二报文用于响应所述第一报文,所述工作模式包括所述PCI-E外置系统中的转接卡与所述扩展坞之间的工作状态、连接情况、软硬件版本;
处理单元,用于在所述连接情况为建立连接的情况下,接收并确认所述转接卡与所述扩展坞之间的具有第一类型的第一数据帧,具有所述第一类型的所述第一数据帧用于所述转接卡与所述扩展坞之间的协商通信;
转发单元,用于在具有所述第一类型的所述第一数据帧正确的情况下,将转发所述PCI-E外置系统中的主机的具有第二类型的第一数据帧转发至所述扩展坞,以使得所述扩展坞将具有所述第二类型的所述第一数据帧发送至所述PCI-E外置系统中的第二PCI-E设备,具有所述第二类型的所述第一数据帧用于所述第二PCI-E设备与所述主机之间的数据交互。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求5至8中任意一项所述的会话协商方法。
11.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求5至8中任意一项所述的会话协商方法。
CN202311260046.2A 2023-09-26 2023-09-26 Pci-e外置系统、会话协商方法及会话协商装置 Pending CN117319097A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311260046.2A CN117319097A (zh) 2023-09-26 2023-09-26 Pci-e外置系统、会话协商方法及会话协商装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311260046.2A CN117319097A (zh) 2023-09-26 2023-09-26 Pci-e外置系统、会话协商方法及会话协商装置

Publications (1)

Publication Number Publication Date
CN117319097A true CN117319097A (zh) 2023-12-29

Family

ID=89296645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311260046.2A Pending CN117319097A (zh) 2023-09-26 2023-09-26 Pci-e外置系统、会话协商方法及会话协商装置

Country Status (1)

Country Link
CN (1) CN117319097A (zh)

Similar Documents

Publication Publication Date Title
KR101219910B1 (ko) 통합형 다중 전송 매체 커넥터 아키텍쳐 구현 디바이스, 방법 및 시스템
KR101911059B1 (ko) Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치
CN101788972B (zh) 一种数据传输的系统与方法
US8347008B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
CN109558371B (zh) 用于与微控制器通信的方法、以及计算系统
KR100972072B1 (ko) 엔에프씨 호스트 콘트롤러 인터페이스
CN103902486B (zh) 一种远端直接内存访问实现方法、装置及系统
KR101725536B1 (ko) Pcie 프로토콜 스택을 이용하는 저전력 phy의 동작을 위한 디바이스, 방법 및 시스템
JP5889904B2 (ja) Usbリソースの活用のためのデバイス、システム、方法およびコンピュータ可読記憶媒体
US20110072185A1 (en) Multi-protocol storage device bridge
US10282341B2 (en) Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
CN101557379B (zh) 一种pcie接口的链路重组方法和装置
KR101679333B1 (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
WO2014023247A1 (zh) 嵌入式设备和基于该设备进行数据通信的控制方法
CN115499505A (zh) Usb网卡和通信方法
CN117319097A (zh) Pci-e外置系统、会话协商方法及会话协商装置
CN107911288B (zh) 列车通信网卡及列车控制管理系统
CN104123259A (zh) Usb资源利用
CN211375365U (zh) 一种usb接口的1553b总线功能测试装置
CN110325975A (zh) 一种存储控制设备及其控制方法、移动存储设备
CN115934436A (zh) 一种光通信总线测试板卡
CN117743227A (zh) 一种USB3转eUSB2的桥接器
CN117435538A (zh) 一种PCIe转SRIO的桥接系统
Pravda Modern data interfaces

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