CN117407348A - PCIe自适应转接方法、装置、存储介质及电子设备 - Google Patents
PCIe自适应转接方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117407348A CN117407348A CN202311725763.8A CN202311725763A CN117407348A CN 117407348 A CN117407348 A CN 117407348A CN 202311725763 A CN202311725763 A CN 202311725763A CN 117407348 A CN117407348 A CN 117407348A
- Authority
- CN
- China
- Prior art keywords
- pcie
- communication protocol
- interface
- target
- negotiation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims abstract description 109
- 230000003044 adaptive effect Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 9
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 239000002699 waste material Substances 0.000 abstract description 4
- 230000008054 signal transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请提出一种PCIe自适应转接方法、装置、存储介质及电子设备,包括:确定目标接口单元是否有外接设备插入;若是,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议;控制目标接口单元执行目标通信协议。在本申请方案中,通过自适应协商的方式,完成PCIe协议到目标通信协议的转换,从而保障上位机与外接设备之间可以正常交互。服务器等IT设备系统设计时,无需提前配置芯片各端口默认的协议类型。同一个设备端口可以按需插入不同协议的设备,均能自适应协商成功,实现灵活使用;避免提前固定端口类型,引起使用中某些协议端口数量不足,某些协议端口闲置的浪费。
Description
技术领域
本申请涉及电子技术领域,具体而言,涉及一种PCIe自适应转接方法、装置、存储介质及电子设备。
背景技术
中央处理器(Central Processing Unit,简称CPU)是信息技术(InformtionTechnology,简称IT)设备中的核心控制器件,在其运行过程中需要通过接口与其他外设进行交互,其他外设包括SATA固态盘(Solid State Drive,简称SSD),或者接SATA机械硬盘(Hard Disk Drive,简称HDD),或者接鼠标、键盘、优盘(USB Flash Disk,简称U盘)等设备。
目前CPU通常设置有高速串行计算机扩展总线标准(Peripheral ComponentInterconnect express,简称PCIe)接口和双倍数据率同步动态随机存取存储器(DoubleData Rate Synchronous Dynamic Random Access Memory,简称DDR)高速接口,未设置串行ATA(Serial ATA,简称SATA)端口和通用串行总线(Universal Serial Bus,简称USB)端口;而通用服务器、存储、计算机等IT设备需要SATA端口接SSD、HDD,USB端口需要接鼠标、键盘、优盘等设备。
当外设连接至对应的接口时,如何保障CPU能与之正常交互,成为了本领域技术人员所关注的难题。
发明内容
本申请的目的在于提供一种PCIe自适应转接方法、装置、存储介质及电子设备,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种PCIe自适应转接方法,应用于PCIe转接芯片中的控制器,所述PCIe转接芯片还包括PCIe信号接口模块和与所述PCIe信号接口模块连接的至少一组接口单元,所述PCIe信号接口模块用于连接上位机,所述接口单元用于插入外接设备,所述PCIe信号接口模块用于将下行数据由PCIe协议转换为所述接口单元对应的通信协议,将上行数据由所述接口单元对应的通信协议转换为PCIe协议,所述方法包括:
确定目标接口单元是否有外接设备插入;
其中,所述目标接口单元为与所述PCIe信号接口模块连接的任意一组接口单元;
若是,控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议;
控制所述目标接口单元执行所述目标通信协议。
第二方面,本申请实施例提供一种PCIe自适应转接装置应用于PCIe转接芯片中的控制器,所述PCIe转接芯片还包括PCIe信号接口模块和与所述PCIe信号接口模块连接的至少一组接口单元,所述PCIe信号接口模块用于连接上位机,所述接口单元用于插入外接设备,所述PCIe信号接口模块用于将下行数据由PCIe协议转换为所述接口单元对应的通信协议,将上行数据由所述接口单元对应的通信协议转换为PCIe协议,所述装置包括:
第一处理单元,用于确定目标接口单元是否有外接设备插入;
其中,所述目标接口单元为与所述PCIe信号接口模块连接的任意一组接口单元;
第二处理单元,用于若是,控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议;
所述第二处理单元还用于控制所述目标接口单元执行所述目标通信协议。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:PCIe转接芯片,所述PCIe转接芯片中的控制器用于执行一个或多个程序,以实现上述的方法。
相对于现有技术,本申请实施例所提供的一种PCIe自适应转接方法、装置、存储介质及电子设备,应用于PCIe转接芯片中的控制器,PCIe转接芯片还包括PCIe信号接口模块和与PCIe信号接口模块连接的至少一组接口单元,PCIe信号接口模块用于连接上位机,接口单元用于插入外接设备,PCIe信号接口模块用于将下行数据由PCIe协议转换为接口单元对应的通信协议,将上行数据由接口单元对应的通信协议转换为PCIe协议,方法包括:确定目标接口单元是否有外接设备插入;其中,目标接口单元为与PCIe信号接口模块连接的任意一组接口单元;若是,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议;控制目标接口单元执行目标通信协议。在本申请方案中,通过自适应协商的方式,完成PCIe协议到目标通信协议的转换,从而保障上位机与外接设备之间可以正常交互。服务器等IT设备系统设计时,无需提前配置芯片各端口默认的协议类型。使用中,同一个设备端口可以按需插入SATA或USB设备,均能自适应协商成功,实现灵活使用;避免提前固定端口类型,引起使用中某些协议端口数量不足,某些协议端口闲置的浪费。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的PCIe转接芯片的结构示意图之一;
图2为本申请实施例提供的PCIe转接芯片的结构示意图之二;
图3为本申请实施例提供的PCIe自适应转接方法的流程示意图之一;
图4为本申请实施例提供的PCIe自适应转接方法的流程示意图之二;
图5为本申请实施例提供的PCIe自适应转接装置的单元示意图。
图中:10-控制器;20-PCIe信号接口模块;30-接口单元;210-PCIe信号接口;220-可扩展主机控制器接口;230-USB集线单元;231-USB3.0集线器;232-USB2.0集线器;240-信号传输单元;301-串行ATA高级主机控制器接口;302-USB3.0接口;303-USB2.0接口;304-设备端口;501-第一处理单元;502-第二处理单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参考图1,图1为本申请实施例提供的PCIe转接芯片的结构示意图之一。
如图1所示,PCIe转接芯片包括:控制器10、PCIe信号接口模块20以及与PCIe信号接口模块20连接的至少一组接口单元30。
其中,控制器10可以但不限定为微控制单元(Microcontroller Unit,简称MCU)。
PCIe信号接口模块20还用于连接上位机(图中未示出),上位机可以但不限定为CPU,上位机为支持PCIe的设备。
接口单元30还用于插入外接设备(图中未示出),外接设备可以但不限定为硬盘、U盘以及鼠标等等。
PCIe信号接口模块20用于将下行数据由PCIe协议转换为接口单元30对应的通信协议,将上行数据由接口单元30对应的通信协议转换为PCIe协议。
需要说明的是,在本申请方案中,转接是指通过PCIe信号接口模块20和接口单元30将支持其他通信协议的外接设备接入支持PCIe协议的上位机,转换是指从一种通信协议(例如PCIe协议)转换为另一种通信协议(例如SATA协议)。
其中,下行数据为由上位机向外接设备发送的数据,上行数据为由外接设备向上位机发送的数据。
在图1的基础上,关于PCIe转接芯片中各个模块的具体结构,本申请实施例还提供了一种可选的实施方式,请参考图2,图2为本申请实施例提供的PCIe转接芯片的结构示意图之二。
如图2所示,PCIe信号接口模块20包括:PCIe信号接口210(例如PCIe Interface)、可扩展主机控制器接口220(例如xHCI Ctrl)、USB集线单元230(包括USB3.0 HUB和USB2.0HUB)以及信号传输单元240。
其中,PCIe信号接口210又称为PCIe Interface,可扩展主机控制器接口220又称为xHCI Ctrl,英文为eXtensible Host Controller Interface For Universal SerialBus,USB集线单元230包括USB3.0集线器231和USB2.0集线器232。
PCIe信号接口210分别与可扩展主机控制器接口220和信号传输单元240连接,PCIe信号接口210还用于连接上位机。
可扩展主机控制器接口220与USB集线单元230连接,USB集线单元230连接于信号传输单元240。
信号传输单元240还与每一个接口单元30连接。
可选地,USB集线单元230包括USB3.0集线器231和USB2.0集线器232。
接口单元30包括串行ATA高级主机控制器接口301(又称为AHCI Ctrl)、USB3.0接口302(又称为USB3.0 PHY)、USB2.0接口303(又称为USB2.0 PHY)以及设备端口304,接口单元30的数量为N。
信号传输单元240包括3N条直连信号线。
可选地,PCIe信号接口210和信号传输单元240设置有N个传输通道,每一个传输通道分别对应一个接口单元30,N为接口单元30的数量。USB3.0集线器231和信号传输单元240设置有N个传输通道,每一个传输通道分别对应一个接口单元30,N为接口单元30的数量。USB2.0集线器232和信号传输单元240设置有N个传输通道,每一个传输通道分别对应一个接口单元30,N为接口单元30的数量。即一条直连信号线对应1个传输通道。
串行ATA高级主机控制器接口301的上行端通过直连信号线连接于PCIe信号接口210,串行ATA高级主机控制器接口301的下行端连接于设备端口304。
USB3.0接口302的上行端通过直连信号线连接于USB3.0集线器231,USB3.0接口302的下行端连接于设备端口304。
USB2.0接口303的上行端通过直连信号线连接于USB2.0集线器232,USB2.0接口303的下行端连接于设备端口304。
设备端口304用于插入外接设备。
控制器10分别与串行ATA高级主机控制器接口301、USB3.0接口302、USB2.0接口303以及设备端口304连接。
在本申请方案中,通过3N条直连信号线实现N个接口单元30与PCIe信号接口模块20之间的连接,保障所有的设备端口都能够同时运行。
应当理解的是,图1和图2所示的结构仅为PCIe转接芯片的部分的结构示意图,PCIe转接芯片还可包括比图1和图2中所示更多或者更少的组件,或者具有与图1和图2所示不同的配置。图1和图2中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种PCIe自适应转接方法,可以但不限于应用于图1和图2所示的PCIe转接芯片的控制器10,具体的流程,请参考图3,PCIe自适应转接方法包括:S103、S104以及S105,具体阐述如下。
S103,确定目标接口单元是否有外接设备插入。若是,则执行S104,若否,则执行其他步骤。
其中,目标接口单元为与PCIe信号接口模块连接的任意一组接口单元。
需要说明的是,当目标接口单元有外接设备插入时,需要通过协商,确定外接设备所执行的通信协议,则执行S104。
S104,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议。
需要说明的是,本申请方案中的目标接口单元可以执行多种通信协议,包括但不限于SATA协议、USB3.0协议以及USB2.0协议。通过进行通信协议协商,不论外接设备是SATA设备、USB3.0设备以及USB2.0设备中的任意一种,均可以确定外接设备适应的目标通信协议,进而可以保障目标接口单元可以与外接设备正常交互。
需要说明的是,在本申请方案中,控制目标接口单元与外接设备进行通信协议协商,是一种自适应协商,即目标接口单元与外接设备进行自动适应性地通信协议协商,进而确定目标接口单元和外接设备之间的目标通信协议。具体地协商过程,可以参考下文中S104的子步骤。S105,控制目标接口单元执行目标通信协议。
在本申请方案中,通过自适应协商的方式,完成PCIe协议到目标通信协议的转换,从而保障上位机与外接设备之间可以正常交互。服务器等IT设备系统设计时,无需提前配置芯片各端口默认的协议类型。使用中,同一个设备端口可以按需插入SATA或USB设备,均能自适应协商成功,实现灵活使用;避免提前固定端口类型,引起使用中某些协议端口数量不足,某些协议端口闲置的浪费。
在图3的基础上,关于如何快速准确地完成目标通信协议匹配,本申请实施例还提供了一种可选的实施方式,请参考下文。S104,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议的步骤,包括:S104-1、S104-2、S104-3、S104-4、S104-5、S104-6以及S104-7,具体阐述如下。
S104-1,控制串行ATA高级主机控制器接口输出SATA协议的电气信号,与外接设备进行第一次通信协议协商。
可选地,控制器10将标志位(m)设置为0,控制目标接口单元中的串行ATA高级主机控制器接口301(又称为AHCI Ctrl)输出SATA协议的电气信号,与外接设备进行第一次通信协议协商(又称为,OOB协商)。
确定,第一次通信协议协商是否成功,若成功,则执行S104-2,若失败,则执行S104-3。
S104-2,若第一次通信协议协商成功,则将SATA协议确定为目标通信协议。
S104-3,若第一次通信协议协商失败,则控制USB3.0接口输出USB3.0协议的电气信号,与外接设备进行第二次通信协议协商。
可选地,控制器10将标志位(m)设置为1,可选地,m=m+1,控制目标接口单元中的USB3.0接口302(又称为USB3.0 PHY)输出USB3.0协议的电气信号(High Speed电气信号),与外接设备进行第二次通信协议协商。确定,第二次通信协议协商是否成功,若成功,则执行S104-4,若失败,则执行S104-5。
S104-4,若第二次通信协议协商成功,则将USB3.0协议确定为目标通信协议。
S104-5,若第二次通信协议协商失败,则控制USB2.0接口输出USB2.0协议的电气信号,与外接设备进行第三次通信协议协商。
可选地,控制器10将标志位(m)设置为2,可选地,m=m+1,控制目标接口单元中的USB2.0接口303(又称为USB2.0 PHY)输出USB2.0协议的电气信号,与外接设备进行第三次通信协议协商。确定,第三次通信协议协商是否成功,若成功,则执行S104-6,若失败,则执行S104-7。
S104-6,若第三次通信协议协商成功,则将USB2.0协议确定为目标通信协议。
S104-7,若第三次通信协议协商失败,确定协商轮数是否小于预设轮数。若否,则确定目标接口单元不支持当前插入的外接设备,可以生成对应的提示,若是,则重复执行S104-1,重复控制串行ATA高级主机控制器接口输出SATA协议的电气信号,与外接设备进行第一次通信协议协商,直至协商成功或协商轮数大于或等于预设轮数。
其中,从第一次通信协议协商到第三次通信协议协商均完成时,协商轮数增加一轮。
可选地,在重复时,控制器10将标志位(m)设置为0。
需要说明的是,一轮协商是指从第一次通信协议协商到第三次通信协议协商均完成的情况,通过多轮协商尽可能的排除其他干扰导致的协商不成功的情况。
在前文的基础上,关于S105中的内容,如何保持外接设备通信正常,且尽可能的降低设备能耗,本申请实施例还提供了一种可选的实施方式,请参考下文,S105,控制目标接口单元执行目标通信协议的步骤,包括:S105-1和S105-2,具体阐述如下。
S105-1,控制目标子单元执行目标通信协议。
其中,目标子单元为串行ATA高级主机控制器接口、USB3.0接口以及USB2.0接口中与外接设备进行通信协议协商成功的任一个。
S105-2,控制非目标子单元处于休眠状态。
其中,非目标子单元为目标接口单元中除开目标子单元以外的另外两个子单元。
在一种可选的实施方式中,PCIe转接芯片共设置有N组接口单元(本申请中又称为下行端口,英文DownStream Port,简称DS Port),分别为DS Port[0]到DS Port[N-1]。关于如何确定目标接口单元,本申请实施例还提供了一种可选的实施方式,请参考图4,在确定目标接口单元是否有外接设备插入之前,PCIe自适应转接方法还包括:S101和S102,在目标接口单元没有外接设备插入或者目标接口单元协商结束时,PCIe自适应转接方法还包括:S106和S107,具体阐述如下。
S101,令n=0。
S102,将DS Port[n]作为目标接口单元。
在目标接口单元没有外接设备插入或者目标接口单元协商结束时,执行S106。其中,目标接口单元协商结束表示目标接口单元协商成功或者,协商轮数大于或等于预设轮数。
即在S103为否时,执行S106,在S105执行完成后,也需要执行S106。
S106,令n=n+1。
S107,确定n是否小于N。若是,则表示所有的接口均协商完成,即结束。若否,则说明还有接口单元30需要进行通信协商,则重复执行S102,重复将DS Port[n]作为目标接口单元,直至n等于N。
在图3的基础上,关于如何确定目标接口单元是否有外接设备插入,本申请实施例还提供了一种可选的实施方式,请参考下文,S103,确定目标接口单元是否有外接设备插入的步骤,包括:S103-1、S103-2以及S103-3,具体阐述如下。
S103-1,确定目标接口单元的在位信号是否符合预设定。若是,则执行S103-2;若否,则执行S103-3。
可选地,检测目标接口单元(DS Port[n])的在位信号PRSNT是否等于0,如果PRSNT≠0,DS Port[n]无设备插入,如果PRSNT=0,DS Port[n]有设备插入。
S103-2,确定目标接口单元有外接设备插入。
S103-3,确定目标接口单元没有外接设备插入。
在本申请方案中,PCIe转接芯片上电后控制器10控制轮询每个设备端口304(DSPort)的在位信号,如果对应DS Port[n]在位信号为低,证明此DS Port[n]有设备插入;根据DS Port[n]的标志位(m)设置,轮流输出SATA协议、USB协议的电气信号,如果协商成功,以此总线协议正常工作;如果协商失败,输出下一种协议信号协商;多次轮询输出协商,实现协议自动匹配建链,灵活支持不同协议的设备。
请参阅图5,图5为本申请实施例提供的一种PCIe自适应转接装置,可选的,该PCIe自适应转接装置被应用于上文所述的电子设备。
PCIe自适应转接装置包括:第一处理单元501和第二处理单元502。
第一处理单元501,用于确定目标接口单元是否有外接设备插入;
其中,目标接口单元为与PCIe信号接口模块连接的任意一组接口单元;
第二处理单元502,用于若是,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议;
第二处理单元502还用于控制目标接口单元执行目标通信协议。
可选地,第一处理单元501可以执行上述的S101、S102、S103、S106以及S107,第二处理单元502可以执行上述的S104和S105。
需要说明的是,本实施例所提供的PCIe自适应转接装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的PCIe自适应转接方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
下面提供一种电子设备,该电子设备包括:PCIe转接芯片,PCIe转接芯片中的控制器用于执行一个或多个程序,以实现如上述的PCIe自适应转接方法。
综上所述,本申请实施例提供的一种PCIe自适应转接方法、装置、存储介质及电子设备,应用于PCIe转接芯片中的控制器,PCIe转接芯片还包括PCIe信号接口模块和与PCIe信号接口模块连接的至少一组接口单元,PCIe信号接口模块用于连接上位机,接口单元用于插入外接设备,PCIe信号接口模块用于将下行数据由PCIe协议转换为接口单元对应的通信协议,将上行数据由接口单元对应的通信协议转换为PCIe协议,方法包括:确定目标接口单元是否有外接设备插入;其中,目标接口单元为与PCIe信号接口模块连接的任意一组接口单元;若是,控制目标接口单元与外接设备进行通信协议协商,以确定目标接口单元和外接设备之间的目标通信协议;控制目标接口单元执行目标通信协议。在本申请方案中,通过自适应协商的方式,完成PCIe协议到目标通信协议的转换,从而保障上位机与外接设备之间可以正常交互。服务器等IT设备系统设计时,无需提前配置芯片各端口默认的协议类型。使用中,同一个设备端口可以按需插入SATA或USB设备,均能自适应协商成功,实现灵活使用;避免提前固定端口类型,引起使用中某些协议端口数量不足,某些协议端口闲置的浪费。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种PCIe自适应转接方法,其特征在于,应用于PCIe转接芯片中的控制器,所述PCIe转接芯片还包括PCIe信号接口模块和与所述PCIe信号接口模块连接的至少一组接口单元,所述PCIe信号接口模块用于连接上位机,所述接口单元用于插入外接设备,所述PCIe信号接口模块用于将下行数据由PCIe协议转换为所述接口单元对应的通信协议,将上行数据由所述接口单元对应的通信协议转换为PCIe协议,所述方法包括:
确定目标接口单元是否有外接设备插入;
其中,所述目标接口单元为与所述PCIe信号接口模块连接的任意一组接口单元;
若是,控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议;
控制所述目标接口单元执行所述目标通信协议。
2.如权利要求1所述的PCIe自适应转接方法,其特征在于,所述目标接口单元包括串行ATA高级主机控制器接口、USB3.0接口、USB2.0接口以及设备端口,
所述串行ATA高级主机控制器接口的上行端、所述USB3.0接口的上行端以及所述USB2.0接口的上行端与所述PCIe信号接口模块连接;
所述串行ATA高级主机控制器接口的下行端、所述USB3.0接口的下行端以及所述USB2.0接口的下行端与所述设备端口连接;
所述设备端口用于插入所述外接设备;
所述控制器分别与所述串行ATA高级主机控制器接口、所述USB3.0接口、所述USB2.0接口以及所述设备端口连接。
3.如权利要求2所述的PCIe自适应转接方法,其特征在于,所述控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议的步骤,包括:
控制所述串行ATA高级主机控制器接口输出SATA协议的电气信号,与所述外接设备进行第一次通信协议协商;
若第一次通信协议协商成功,则将所述SATA协议确定为所述目标通信协议;
若第一次通信协议协商失败,则控制所述USB3.0接口输出USB3.0协议的电气信号,与所述外接设备进行第二次通信协议协商;
若第二次通信协议协商成功,则将所述USB3.0协议确定为所述目标通信协议;
若第二次通信协议协商失败,则控制所述USB2.0接口输出USB2.0协议的电气信号,与所述外接设备进行第三次通信协议协商;
若第三次通信协议协商成功,则将所述USB2.0协议确定为所述目标通信协议。
4.如权利要求3所述的PCIe自适应转接方法,其特征在于,所述控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议的步骤,还包括:
若第三次通信协议协商失败,确定协商轮数是否小于预设轮数;
其中,在从所述第一次通信协议协商到所述第三次通信协议协商均完成时,所述协商轮数增加一轮;
若是,则重复控制所述串行ATA高级主机控制器接口输出SATA协议的电气信号,与所述外接设备进行第一次通信协议协商,直至协商成功或协商轮数大于或等于预设轮数。
5.如权利要求3或4所述的PCIe自适应转接方法,其特征在于,所述控制所述目标接口单元执行所述目标通信协议的步骤,包括:
控制目标子单元执行所述目标通信协议;
其中,所述目标子单元为所述串行ATA高级主机控制器接口、所述USB3.0接口以及所述USB2.0接口中与所述外接设备进行通信协议协商成功的任一个;
控制非目标子单元处于休眠状态。
6. 如权利要求2所述的PCIe自适应转接方法,其特征在于,所述PCIe转接芯片共设置有N组接口单元,分别为DS Port[0]到DS Port[N-1],在所述确定目标接口单元是否有外接设备插入之前,所述方法还包括:
令n=0,将DS Port[n]作为所述目标接口单元;
在所述目标接口单元没有外接设备插入或者所述目标接口单元协商结束时,所述方法还包括:
令n=n+1,确定n是否小于N;
若n小于N,则重复将DS Port[n]作为所述目标接口单元,直至n等于N。
7.如权利要求2所述的PCIe自适应转接方法,其特征在于,所述确定目标接口单元是否有外接设备插入的步骤,包括:
确定所述目标接口单元的在位信号是否符合预设定;
若是,则确定所述目标接口单元有外接设备插入;
若否,则确定所述目标接口单元没有外接设备插入。
8.一种PCIe自适应转接装置,其特征在于,应用于PCIe转接芯片中的控制器,所述PCIe转接芯片还包括PCIe信号接口模块和与所述PCIe信号接口模块连接的至少一组接口单元,所述PCIe信号接口模块用于连接上位机,所述接口单元用于插入外接设备,所述PCIe信号接口模块用于将下行数据由PCIe协议转换为所述接口单元对应的通信协议,将上行数据由所述接口单元对应的通信协议转换为PCIe协议,所述装置包括:
第一处理单元,用于确定目标接口单元是否有外接设备插入;
其中,所述目标接口单元为与所述PCIe信号接口模块连接的任意一组接口单元;
第二处理单元,用于若是,控制所述目标接口单元与所述外接设备进行通信协议协商,以确定所述目标接口单元和所述外接设备之间的目标通信协议;
所述第二处理单元还用于控制所述目标接口单元执行所述目标通信协议。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:PCIe转接芯片,所述PCIe转接芯片中的控制器用于执行一个或多个程序,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311725763.8A CN117407348B (zh) | 2023-12-15 | 2023-12-15 | PCIe自适应转接方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311725763.8A CN117407348B (zh) | 2023-12-15 | 2023-12-15 | PCIe自适应转接方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407348A true CN117407348A (zh) | 2024-01-16 |
CN117407348B CN117407348B (zh) | 2024-03-22 |
Family
ID=89498393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311725763.8A Active CN117407348B (zh) | 2023-12-15 | 2023-12-15 | PCIe自适应转接方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407348B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077117A1 (en) * | 2008-09-22 | 2010-03-25 | Micron Technology, Inc. | SATA MASS STORAGE DEVICE EMULATION ON A PCIe INTERFACE |
JP2015114932A (ja) * | 2013-12-13 | 2015-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ・インターフェイスによる接続とi/oインターフェイスによる接続とを切り替え可能なメモリ・ユニットおよびコンピュータ・システム |
WO2015197027A1 (zh) * | 2014-06-27 | 2015-12-30 | 华为技术有限公司 | 一种访问NVMe存储设备的方法和NVMe存储设备 |
CN207232854U (zh) * | 2017-09-28 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种支持自适应硬盘接口的硬盘背板 |
CN112199312A (zh) * | 2020-10-09 | 2021-01-08 | 深圳市广和通无线股份有限公司 | 通信设备的接口转换装置及通信系统 |
CN112559408A (zh) * | 2020-12-03 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种主板及其信号转接系统 |
CN112860606A (zh) * | 2019-11-28 | 2021-05-28 | 浙江宇视科技有限公司 | 一种接口转换装置及设备 |
CN215729742U (zh) * | 2021-08-31 | 2022-02-01 | 深圳微步信息股份有限公司 | 一种硬盘接口电路及主板 |
CN114185826A (zh) * | 2021-12-13 | 2022-03-15 | 深圳市绿联科技股份有限公司 | 一种用于外接存储设备的接口适配器 |
CN114461557A (zh) * | 2022-03-17 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种接口扩展装置及方法 |
CN115379023A (zh) * | 2022-08-25 | 2022-11-22 | 国核自仪系统工程有限公司 | Hart通信装置 |
US20220414045A1 (en) * | 2021-06-25 | 2022-12-29 | Quanta Computer Inc. | Method and system for firmware for adaptable baseboard management controller |
CN218647390U (zh) * | 2022-11-10 | 2023-03-17 | 合芯科技有限公司 | 一种接口扩展板卡 |
CN218866471U (zh) * | 2022-10-24 | 2023-04-14 | 苏州源控电子科技有限公司 | 一种基于cpu的多功能芯片电路 |
CN116303182A (zh) * | 2023-03-20 | 2023-06-23 | 亿咖通(湖北)技术有限公司 | 车载控制系统、车辆、数据传输方法 |
-
2023
- 2023-12-15 CN CN202311725763.8A patent/CN117407348B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077117A1 (en) * | 2008-09-22 | 2010-03-25 | Micron Technology, Inc. | SATA MASS STORAGE DEVICE EMULATION ON A PCIe INTERFACE |
JP2015114932A (ja) * | 2013-12-13 | 2015-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ・インターフェイスによる接続とi/oインターフェイスによる接続とを切り替え可能なメモリ・ユニットおよびコンピュータ・システム |
WO2015197027A1 (zh) * | 2014-06-27 | 2015-12-30 | 华为技术有限公司 | 一种访问NVMe存储设备的方法和NVMe存储设备 |
CN108062285A (zh) * | 2014-06-27 | 2018-05-22 | 华为技术有限公司 | 一种访问NVMe存储设备的方法和NVMe存储设备 |
CN207232854U (zh) * | 2017-09-28 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种支持自适应硬盘接口的硬盘背板 |
CN112860606A (zh) * | 2019-11-28 | 2021-05-28 | 浙江宇视科技有限公司 | 一种接口转换装置及设备 |
CN112199312A (zh) * | 2020-10-09 | 2021-01-08 | 深圳市广和通无线股份有限公司 | 通信设备的接口转换装置及通信系统 |
CN112559408A (zh) * | 2020-12-03 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种主板及其信号转接系统 |
US20220414045A1 (en) * | 2021-06-25 | 2022-12-29 | Quanta Computer Inc. | Method and system for firmware for adaptable baseboard management controller |
CN215729742U (zh) * | 2021-08-31 | 2022-02-01 | 深圳微步信息股份有限公司 | 一种硬盘接口电路及主板 |
CN114185826A (zh) * | 2021-12-13 | 2022-03-15 | 深圳市绿联科技股份有限公司 | 一种用于外接存储设备的接口适配器 |
CN114461557A (zh) * | 2022-03-17 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种接口扩展装置及方法 |
CN115379023A (zh) * | 2022-08-25 | 2022-11-22 | 国核自仪系统工程有限公司 | Hart通信装置 |
CN218866471U (zh) * | 2022-10-24 | 2023-04-14 | 苏州源控电子科技有限公司 | 一种基于cpu的多功能芯片电路 |
CN218647390U (zh) * | 2022-11-10 | 2023-03-17 | 合芯科技有限公司 | 一种接口扩展板卡 |
CN116303182A (zh) * | 2023-03-20 | 2023-06-23 | 亿咖通(湖北)技术有限公司 | 车载控制系统、车辆、数据传输方法 |
Non-Patent Citations (1)
Title |
---|
张剑: "一种面向硬件仿真器的PCIE桥的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, 15 March 2017 (2017-03-15), pages 135 - 808 * |
Also Published As
Publication number | Publication date |
---|---|
CN117407348B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
US20110302357A1 (en) | Systems and methods for dynamic multi-link compilation partitioning | |
EP2051172A2 (en) | Interfacing an external attachment device to a computing device | |
TWI529535B (zh) | 資源共享裝置 | |
JP6854407B2 (ja) | カード装置、ホスト装置および通信方法 | |
WO2012177330A1 (en) | Interface extender for portable electronic devices | |
CN111966626B (zh) | 一种基于espi总线的服务器启动装置和方法 | |
WO2023082622A1 (zh) | 一种主从设备兼容的通信模块设计方法及装置 | |
CN110908475A (zh) | 一种申威1621cpu无ich2套片服务器主板 | |
US20090210603A1 (en) | Flash memory circuit with combinational interface | |
JP3140192U (ja) | E−sata信号と電力を伝送する伝送ケーブル | |
EP2696293A1 (en) | Stacking electronic system | |
CN117407348B (zh) | PCIe自适应转接方法、装置、存储介质及电子设备 | |
US20120102251A1 (en) | Serial attached small computer system interface (sas) domain access through a universal serial bus interface of a data processing device | |
CN115033172B (zh) | 一种存储模块管控方法、装置、设备及存储介质 | |
CN101599050A (zh) | 可适配的pci-e控制器核及其方法 | |
EP2677438B1 (en) | Host electronic device and host determination method | |
CN104123257A (zh) | 通用串行总线装置、通信方法及计算机可读存储介质 | |
CN103135939A (zh) | 存取装置 | |
CN103631749B (zh) | 扩充模块 | |
CN102364452A (zh) | 一种ps2接口键盘鼠标可热插拔使用的实现方法 | |
CN117407347B (zh) | 一种PCIe转接芯片及其控制方法与电子设备 | |
US20050176303A1 (en) | Silicon card for reading device by applying serial advanced technology attachment interface | |
CN216014148U (zh) | 一种服务器和服务器背板 | |
CN107818064B (zh) | 支持主从变换的通用串行总线的集线器的运作方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |