CN104516852B - I/o链路的线路划分复用 - Google Patents

I/o链路的线路划分复用 Download PDF

Info

Publication number
CN104516852B
CN104516852B CN201410764368.5A CN201410764368A CN104516852B CN 104516852 B CN104516852 B CN 104516852B CN 201410764368 A CN201410764368 A CN 201410764368A CN 104516852 B CN104516852 B CN 104516852B
Authority
CN
China
Prior art keywords
equipment
host
port
agreements
terminal
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.)
Active
Application number
CN201410764368.5A
Other languages
English (en)
Other versions
CN104516852A (zh
Inventor
H·陈
D·M·贝尔
R·A·邓斯坦
D·G·奎耶蒂
G·A·所罗门
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN104516852A publication Critical patent/CN104516852A/zh
Application granted granted Critical
Publication of CN104516852B publication Critical patent/CN104516852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

一种系统可以包括主机设备和远程终端。实施主机设备可以包括主机终端,所述主机终端包括用于将数据线路分配给I/O协议的主机配置管理器;以及协议复用器,所述协议复用器基于所述配置管理器的分配,来执行对数据线路的分配。远程终端可以包括远程配置管理器。所述主机配置管理器经由控制总线与远程配置管理器进行通信,用于检测I/O设备到I/O端口的连接,并且用于将数据线路分配给I/O协议。

Description

I/O链路的线路划分复用
技术领域
本技术概括而言涉及输入/输出(I/O)信号协议。具体而言,本技术涉及数据线上的复用I/O协议。
背景技术
目前,由于各种原因将输入/输出(I/O)设备耦合到电子设备,上述原因包括:传送数据、备份数据等。I/O设备包括存储设备、键盘、输入设备(例如,鼠标)等。除了各种I/O设备之外,每一个设备都依赖于I/O协议以与I/O设备所耦合到的电子设备进行交互。这些I/O协议可以包括通用串行总线(USB)、显示端口(DP)、快速外围部件互连(PCIe),以及串行高级技术附件(SATA)等。
附图说明
在随后的详细描述中,将参考附图来描述一些示例性示例,其中:
图1是计算系统示例的框图;
图2是另一计算系统示例的框图;
图3是又一计算系统示例的框图;
图4是数据线路复用系统的示例的框图;
图5是将I/O协议分配给数据线路的方法的示例的处理流程图;以及
图6是将I/O协议分配给数据线路的方法的另一示例的处理流程图。
在本公开和附图中使用相同的数字表示相同的部件和特征。100系列中的数字指代最初在图1中找到的特征;200系列的数字指代最初在图2中找到的特征;等等。
具体实施方式
本文公开的示例提供了I/O链路的线路划分复用技术。由于I/O连接的类型的增长,电子设备包括越来越多数量的端口以及所支持的I/O接口。为了增加所支持的I/O接口的数量,一些互连能够支持多种I/O协议。
存在支持多种I/O协议的单个互连,在所述单个互连中将来自主机控制器的业务合并到单个总线中,这导致主机级上的I/O协议的分组(packetizing)。换言之,这是可以创建传送协议的技术。不同的本地I/O协议被映射到传输侧的传送协议,即,将所述不同的本地I/O协议绑定在一起成为单个传送协议,以在单个数据线路上传送,并且在接收侧将它们解映射回本地的I/O协议。这种类型的IO技术可以利用附加的的功率,用于将本地I/O协议分组为传送协议并且从传送协议解分组本地I/O协议。另外,由于本地I/O协议被绑定在一起,所以不可能对协议进行单独的功率管理。进一步地,由于本地I/O协议的绑定,传送协议受时间问题的限制。例如,数据传送是以最慢的I/O协议的速度而不是以最快的I/O协议的速度发生的。由于这些时间的问题,可能在本地的I/O协议中引入延迟。
支持多种I/O协议的单个互连的另一个示例是USB。USB是在设备级对I/O协议进行分组的技术。换言之,USB是使全部支持的协议都运行在相同的路径上,并且通过设备驱动器和调度将所述全部支持的协议都进行隔离的技术。USB针对设备定义设备种类,并且在设备级划分数据传送。然而,USB受限于数据的种类,以及能够同时传送的数据量。另外,USB受限于再配置性。USB协议优选在设备级工作,但是对其定义时未考虑非USB协议。
前面的示例二者采用了时分复用(TDM)的概念,其中,每一个设备都在时域共享带宽。在本申请中,提出了线路划分复用(LDM)的概念。在LDM中,沿着双向线路,利用每一个方向上的一条或多条单向的高速线路来形成互连介质。各种I/O协议被检测并且被独立地本地分配(即,保留I/O协议的特性)给特定线路。I/O协议并未被电气地结合。这种LDM方法与现有的方案相比具有许多优势。特别地,由于保留了I/O协议的本地特性,与现有的解决方案相比,该方法更具有鲁棒性。除此之外,由于没有引入新的协议,所以不需要在映射和解映射方面的附加的协议处理,这引起减少的管芯尺寸,并且降低了功率消耗。另外,该方法是更高效的,高速协议和低速协议能够在没有干扰的情况下,以它们各自的速度进行操作来说,这是因为并没有将这些协议绑定在一起。进一步地,该方法是简单的,不需要创造新的协议、不需要映射和解映射的复杂性,或者对I/O协议进行绑定,这些中的每一个都具有它们自身的特性。该方法还可以取决于所连接的I/O协议,使用不同的I/O协议来灵活地进行配置。此外,虽然将本文的系统和方法描述为携带电信号,但是该系统和方法可扩展为包括其他类型的信号,例如,光信号。
图1是计算系统示例的框图。计算系统可以包括电子设备100(即,主机设备)。电子设备100实质上可以是任何类型的电子设备,包括:例如但不限于,桌上型计算机、平板计算机、膝上型计算机、蜂窝电话(例如,智能电话)、个人数字助理(PDA)、照相机、电视机、视频播放器或者接收器、游戏机等。电子设备100可以包括用于执行所存储的指令的中央处理单元(CPU)102,以及存储由CPU 102可执行的指令的存储器设备104。CPU102可以通过总线106与存储器设备104耦合。另外,CPU 102可以是单核处理器、多核处理器,或者任何数量的其他配置。此外,电子设备100可以包括一个以上的CPU 102。
存储器设备104可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或者任何其他适合的存储器系统。例如,存储器设备104可以包括动态随机存取存储器(DRAM)。CPU 102可以通过总线106与显示器接口108连接,以使电子设备100连接到显示器设备110。显示器设备110可以包括显示器屏幕,所述显示器屏幕是电子设备100的内置部件。显示器设备110还可以包括计算机监视器、电视机、或者投影仪等,它们外部地连接到电子设备100。
网络接口卡(NIC)112可以通过系统总线106将电子设备100与网络(未示出)连接。网络(未示出)可以是广域网(WAN)、局域网(LAN)、或者因特网等。在示例中,电子设备100可以经由有线连接或者无线连接来连接到网络。
CPU 102还可以通过总线106与主机终端114耦合。主机终端114可以耦合到远程终端116,而远程终端116可以耦合到I/O设备或者多个I/O设备118。主机终端114和远程终端116可以通过多条数据线路进行耦合,用于将数据从I/O设备118传送到电子设备100。所述多条数据线路可以包括任何数量的数据线路。主机终端114和远程终端116可以经由控制总线进行通信,用于将数据线路分配到I/O设备118的I/O协议。控制总线可以是单向通信链路或者双向通信链路。在示例中,可以为每条数据线路分派不同的I/O协议。可以基于I/O设备能够达到的数据速率和支持这些数据速率的线路的数量来确定分派给每一个I/O协议的线路的数量。
应当理解的是图1的框图并不是要指示计算系统100在每种情况下都将包含图1所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在计算系统100中。
图2是另一计算系统的示例的框图。主机设备200可以是任何类型的电子设备。例如,主机设备200可以是桌上型计算机、平板计算机、膝上型计算机等。主机设备200包括主机终端202。远程设备204可以经由多条数据线路耦合到主机设备200。远程设备204还可以是任何的电子设备并且可以包括用于连接I/O设备206的I/O端口。例如,远程设备204可以是扩展坞(docking station)、I/O设备集线器等。远程设备204包括远程终端208。远程终端208与主机终端202通信,用于将数据线路分配到I/O设备206的I/O协议。可以由远程终端208或者主机终端202中的一个来激活远程终端208和主机终端202之间的通信。
应当理解的是,图2的框图并不是要指示计算系统200在每种情况下都将包含图2所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在计算系统200中。
图3是另一计算系统的示例的框图。计算系统300包括主机设备300。主机设备300包括耦合到远程终端304的主机终端302。可以经由多条数据线路将主机终端302和远程终端304耦合。例如,可以通过包括多条线路的电缆将主机终端302和远程终端304耦合。主机设备300可以包括多个I/O端口,其中I/O设备306可以连接到所述多个I/O端口。远程终端304耦合到I/O端口,并且检测I/O设备306到主机设备300的连接。主机终端302和远程终端304进行通信,用于将数据线路分配到I/O设备306的I/O协议。
应当理解的是,图3的框图并不是要指示计算系统300在每种情况下都将包含图3所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在计算系统300之中。
图4是数据线路复用系统的示例的框图。数据线路复用系统400可以包括在计算系统(例如,图1、图2或图3中示出的计算系统)中。数据线路复用系统可以包括主机终端402和远程终端404。主机终端402可以包括在主机设备(例如,电子设备100、主机设备200或者主机设备300)中。远程终端204可以包括在例如图3所示的主机设备中,或者远程终端204可以包括在与例如图2所示的主机设备200分离的远程设备中。
主机终端402和远程终端404可以经由数据线路或者多条数据线路404-414来耦合。例如,主机终端402和远程终端404可以通过包括多条电线的电缆来耦合,其中每一条电线都作为用于传送数据的数据线路。数据线路404-414可以是仅在一个方向上传送数据的单向数据线路,例如,从主机终端402到远程终端404,或者从远程终端404到主机终端402。数据线路404-414可以是任何合适类型的数据线路,例如,高速数据线路或者低速数据线路。在另一个示例中,将主机终端402耦合到远程终端404的数据线路404-414可以包括各种类型数据线路的混合。例如,数据线路404-414可以包括高速数据线路和低速数据线路的混合。数据线路的类型可以在I/O协议到数据线路的分配期间使用,以确定将数据线路404-414中的哪一条分配给每一个I/O协议。
主机终端402可以包括多个I/O协议接口416、418和420。例如,主机终端402可以包括显示端口(DP)接口416、通用串行总线3.0(USB3)接口418、以及快速外围部件互连(PCIe)接口420。虽然将系统400示出为包括DP、USB3和PCIe接口,但是应当理解的是,系统400并不局限于包括所述接口,而是可以包括任何类型的I/O接口,以及I/O接口的任何组合。
主机终端402还可以包括主机配置管理器422。主机配置管理器422将I/O设备的I/O协议分配给数据线路。主机终端402可以附加地包括协议复用器424。协议复用器424可以通过主机配置管理器422,基于数据线路的配置,来在数据线路上对信号进行复用。换言之,协议复用器424正如由主机配置管理器422所确定来执行I/O协议到数据线路的分配。
远程终端404可以包括用于连接I/O设备的I/O端口。例如,I/O端口可以包括显示端口426、USB3端口428和PCIe端口430等。应当理解的是,端口并不限于图4所描绘的端口,而可以包括在物理层共享相似的电气特性的任何类型的I/O协议。
远程终端404还包括远程配置管理器432。远程终端404的远程配置管理器432可以与主机终端402的主机配置管理器422进行通信。远程配置管理器432和主机配置管理器422可以经由控制总线434进行通信。控制总线434可以是任何适合类型的链路,例如,高速链路或者低速链路、单向链路或者双向链路。远程配置管理器432检测I/O设备到I/O端口426-430的连接。当远程配置管理器432检测到I/O设备的连接时,远程配置管理器432通知主机配置管理器422。主机配置管理器422发起并且与远程配置管理器432进行通信。远程配置管理器432确定所连接的I/O设备的能力,例如,I/O设备能够达到的数据速率,并且由此确定I/O设备使用了多少条数据线路在给定的数据速度上工作。主机配置管理器422可以确定哪个应用将访问I/O设备以及该应用将以其进行工作的数据速度。主机配置管理器422和远程配置管理器432将交换信息并且进行协商用于将数据线路分配给I/O设备的I/O协议。
在示例中,远程终端404可以检测到多个I/O设备的连接。例如,远程终端404可以检测到显示端口426中的显示端口设备的连接,以及USB3端口428中的USB设备。远程配置管理器432与主机配置管理器422进行通信,用于将数据线路分配给I/O设备。例如,数据线路404和410可以被分配给DP设备,并且数据线路406和412可以被分配给USB设备。应当理解的是,数据线路404-414可以被平衡地或者不平衡地分配。例如,数据线路404、406和410可以被分配给DP设备,而数据线路408和412可以被分配给USB设备。一旦数据线路404-414已经被分配给I/O协议,那么I/O设备可以经由所分配的数据线路404-414来将数据传送到主机设备。
远程配置管理器432还可以检测设备从I/O端口426-430断开连接。例如,远程配置管理器432可以检测到DP设备的断开连接。远程配置管理器432将通知主机配置管理器422DP设备的断开连接。主机配置管理器422将分配给DP设备的数据线路解分配,并且将所述解分配的数据线路注释为有效资源,即,可用于分配的数据线路。当设备断开连接时,任何保持连接的设备将继续工作而不被打断。例如,当DP设备断开连接时,USB设备将继续工作而不被打断。
远程终端还可以包括模拟复用器436。类似于协议复用器424,模拟复用器执行数据线路到I/O协议的切换功能,并且该切换功能由主机配置管理器422和远程配置管理器422之间的通信进行确定。转发器438可以包括在远程终端404中。转发器438可以保存被替换的电信号的电气特性。
应当理解的是,图4的框图并不是要指示数据线路复用系统400在每种情况下都将包括图4所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在数据线路复用系统400中。
图5是将I/O协议分配给数据线路的方法的示例的处理流程图。方法500可以由线路复用系统(例如,数据线路复用系统400)执行。在块502处,I/O设备的连接可以在主机设备的主机终端中检测。I/O设备可以是任何类型的I/O设备,例如,USB设备、PCIe设备、DP设备或者其他任何类型的I/O设备。对I/O设备连接的检测可以包括由I/O设备的连接的远程终端进行检测,以及通知主机终端该设备的连接。例如,远程配置管理器(例如,远程配置管理器432)可以检测I/O设备的连接。远程配置管理器432可以与主机配置管理器422进行通信,以通知主机终端I/O设备的连接。
I/O设备可以与I/O端口相耦合。I/O端口可以位于主机设备或者远程设备中。例如,主机设备可以是膝上型计算机,并且I/O设备可以与所述膝上型计算机的I/O端口进行耦合,或者I/O设备可以与耦合到所述膝上型计算机的远程设备(例如,USB3集线器)进行耦合。主机设备或者远程设备可以包括单个I/O端口或者多个I/O端口。在示例中,单个I/O设备可以耦合到主机设备或者远程设备。在另一示例中,多个I/O设备可以耦合到主机设备或者远程设备。I/O端口可以包括单个类型的I/O端口或者多种类型的I/O端口。例如,I/O端口可以包括USB3端口、DP端口、PCIe端口、任何其他类型的I/O端口的其组合。
在块504处,主机终端可以与远程终端进行通信,用于将所连接的I/O设备的I/O协议分配给数据线路。远程终端可以包括在主机设备中,或者远程终端可以包括在远程设备中。远程终端和主机终端可以通过多条数据线路将进行耦合,以用于传送数据。主机终端和远程终端可以经由双向链路进行通信。主机终端和远程终端可以交换关于I/O设备的能力以及将访问I/O设备的应用的数据速率的信息。使用所述信息,主机终端和远程终端可以将数据线路分配给I/O设备的I/O协议。当多个I/O设备与I/O端口耦合时,数据线路被分配给每一个I/O设备的I/O协议。
为了分配数据线路,主机终端的主机配置管理器可以与远程终端的远程配置管理器进行通信。主机配置管理器和远程配置管理器交换信息并且基于所述信息来分配数据线路。所述数据线路可以被平衡地或者不平衡地分配。在块506处,可以经由所分配的数据线路,将数据从I/O设备传送到主机设备。
应当理解的是,图5的方法并不是要指示方法500在每种情况下都将包括图5所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在方法500中。
图6是将I/O协议分配给数据线路的方法的另一示例的处理流程图。方法600可以由线路复用系统(例如,数据线路复用系统400)执行。在块602处,可以激活主机终端和远程终端。主机终端可以包括在主机设备(例如,主机设备100、200或300)中。远程终端可以包括在主机设备中或远离主机设备的远程设备中。主机终端或远程终端可以经由数据线路(例如多条数据线路)耦合,用于在I/O设备和主机设备之间传送数据。
在块604处,可以确定对I/O设备的检测。对I/O设备的检测可以由远程终端执行。远程终端可以检测I/O设备到I/O端口的连接。I/O设备可以是任何类型的I/O设备。如果没有检测到I/O设备,则该方法可以返回到块602。如果检测到I/O设备,则在块606处远程终端可以通知主机终端I/O设备的连接。特别地,远程终端的远程配置管理器可以通知主机设备的主机配置管理器I/O设备的连接。
在块608处,主机终端的主机配置管理器可以与远程配置管理器进行通信,用于将I/O设备的I/O协议分配给数据线路。远程配置管理器和主机配置管理器可以交换关于I/O设备的能力以及支持访问I/O设备的应用的数据速率的信息。使用所述信息,远程配置管理器和主机配置管理器将数据线路分配给I/O设备的I/O协议。在示例中,多个I/O设备可以耦合到I/O端口。I/O设备的每一个都可以包括不同的I/O协议。可以将数据线路分配给所耦合的I/O设备的每一个I/O协议。
在块610处,可以经由所分配的数据线路将数据从I/O设备传送到主机设备。在块612处,可以确定I/O设备的断开连接。例如,远程配置管理器可以确定I/O设备是否已经断开连接。如果I/O设备还未断开连接,则该方法可以返回到块610。如果I/O设备已经断开连接,在块614,远程终端可以通知主机终端I/O设备的断开连接。在块616处,主机配置管理器可以将分配给断开连接的I/O设备的数据线路返回到解除分配的(即,有效)状态以用于重新分配。该方法可以返回到块602。
应当理解的是,图6的方法并不是要指示方法600在每种情况下都将包括图6所示的所有部件。进一步地,取决于具体实现的细节,任何数量的附加部件都可以包括在方法600中。
示例1
此处描述了一种系统。该系统包括主机设备。主机设备包括用于将数据线路分配给I/O协议的主机配置管理器,以及协议复用器,其基于配置管理器的分配来执行数据线路的分配。该系统还包括远程终端,所述远程终端包括远程配置管理器。主机配置管理器用于经由控制总线与远程配置管理器进行通信,以检测I/O设备到I/O端口的连接,并且将数据线路分配给I/O协议。
控制总线可以包括单向通信链路或者双向通信链路,并且数据线路可以包括单向数据线路或者双向数据线路。数据线路可以包括多条数据线路和耦合到I/O端口的多个I/O设备,并且可以将数据线路分配给I/O设备的I/O协议。数据线路可以包括多条单向数据线路,并且所述数据线路可以被平衡地或者不平衡地分配。主机配置管理器可以与远程终端的远程配置管理器进行通信,用于将数据线路分派给I/O协议。主机配置管理器可以基于I/O设备能力信息来分配数据线路,所述信息将由远程配置管理器被传递给主机配置管理器。主机设备可以包括远程终端或者远程设备可以包括远程终端。
示例2
此处描述了主机电子设备的主机终端。主机终端包括主机配置管理器,所述主机配置管理器用于当I/O设备耦合到I/O端口时,将数据线路分配给I/O协议。主机终端还包括协议复用器,所述协议复用器用于按照主机配置管理器所确定的,执行数据线路到I/O协议的分配。
数据线路可以包括多条数据线路,并且所述数据线路可以被平衡地或者不平衡地分配。数据线路可以包括单向数据线路或者双向数据线路。主机配置管理器可以经由控制总线与远程终端的远程配置管理器进行通信,用于将数据线路分派给I/O协议。控制总线可以包括单向通信链路或者双向通信链路。主机设备可以包括远程终端或者远程设备可以包括远程终端。数据线路可以在I/O设备和主机设备之间传送数据。数据线路可以包括多条数据线路,并且多个I/O设备可以耦合到I/O端口,并且可以将数据线路分配给I/O设备的每一个I/O协议。主机配置管理器可以基于I/O设备能力信息来分配数据线路,所述信息将由远程终端的远程配置管理器传递给主机配置管理器。
示例3
此处描述了一种计算系统。所述计算系统包括用于在主机设备的主机终端中检测I/O设备连接的逻辑。所述计算系统还包括用于与远程终端进行通信以将数据线路分配给I/O协议的逻辑,以及用于经由所分配的数据线路将数据从I/O设备传送到主机设备的逻辑。
计算系统还可以包括用于在远程终端中检测I/O设备到I/O端口的连接的逻辑,以及用于通知主机终端I/O设备的连接的逻辑。远程终端的远程配置管理器可以经由双向链路与主机终端的主机配置管理器进行通信。主机终端和远程终端可以通过多条数据线路相耦合。数据线路可以包括单向数据线路。计算系统还可以包括用于检测I/O设备从I/O端口断开连接的逻辑,以及用于将数据线路返回到解除分配的状态,以将其分配给新的I/O协议的逻辑。I/O设备的连接可以包括I/O设备到主机设备的I/O端口的连接,或者I/O设备到耦合到主机设备的远程设备的I/O端口的连接。
示例4
此处描述了一种计算系统。计算系统包括用于在电子设备的远程终端中检测I/O设备从I/O端口断开连接的逻辑,以及用于将分派给I/O设备的I/O协议的数据线路返回到可用于分配给新协议的解除分配的状态的逻辑。计算系统还包括用于检测新的I/O设备到I/O端口的连接的逻辑,以及用于与主机终端进行通信以将数据线路分配给新的I/O设备的I/O协议的逻辑。计算系统进一步包括用于经由数据线路在新的I/O设备和主机设备之间传送数据的逻辑。
多个I/O设备可以耦合到I/O端口,并且I/O设备从I/O端口断开连接并不会打断耦合到I/O端口的其余I/O设备的操作。新的协议可以是与之前的协议相同的协议或者新的协议可以是与之前的协议不同的协议。
在前面的说明书和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生物。应当理解的是,这些术语并不意味着是彼此的同义词。更恰当的,在特定的实施例中,“连接”可以用于指示两个或多个元件彼此直接地物理或者电气连接。“耦合”可以意味着两个或多个元件直接地物理或者电气连接。然而,“耦合”还可以意味着两个或多个元件彼此不是直接地连接,而仍然是彼此互相协作或者交互。
一些实施例可以实现在硬件、固件、和软件中的一个或其组合中。一些实施例还可以被实现为存储在机器可读介质中的指令,当由计算平台读取和执行所述指令时,用于实现本文描述的操作。机器可读介质可以包括用于以由机器(例如,计算机)可读的形式来存储或传输信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备等。
实施例是一种实现或者示例。说明中提及的“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或者“其他实施例”意味着结合实施例描述的特定的特征、结构、或者特性包括在本发明的至少一些实施例中,而未必包括在本发明的所有实施例中。”实施例”、”一个实施例”、或”一些实施例”的各种呈现并不一定全部涉及相同的实施例。来自实施例的元件和方面可以与另一实施例的元件和方面相结合。
不是本文描述和示出的所有部件、特征、结构、特性等都必须包括在特定的实施例或者实施例中。如果说明书中陈述部件、特征、结构或者特性“可以”、“可能”、“能够”、“应该”被包括,例如,并不要求包括特定的部件、特征、结构、或特性。如果说明书或权利要求涉及“一”或“一个”元件,其并不意味着仅存在元件中的一个。如果说明书或权利要求涉及“附加的”元件,其并不排除存在多于一个的附加的元件。
尽管已经参考特定的实现描述了一些实施例,但是应当注意的是,根据一些实施例,其他实现也是可能的。另外,在附图中示出的和/或本文中描述的电路元件的布置和/或顺序或者其他特征不需要以所示出的和描述的特定方式来进行布置。根据一些实施例,许多其他的布置也是可能的。
在附图中示出的每一个系统中,某些情况下的每一个元件都可以具有相同的附图标记或者不同的附图标记,以表示所呈现的元件可能是不同的和/或类似的。然而,元件可以足够灵活,以具有不同的实现,并且与本文所示出的和描述的系统中一些或者全部共同工作。附图所示的各种元件可以是相同的或者不同的。哪一个指的是第一元件以及哪一个被称作第二元件是任意的。
在之前的描述中,已经描述了所公开的主题的各个方面。出于解释的目的,特定的数字、系统以及配置已经被详尽地阐述,以便提供对主题的透彻理解。然而,对于从本公开受益的本领域的技术人员而言显而易见的是,可以在没有具体细节的情况下来实施本主题。在其他实例中,忽略、简化、组合或者分割了公知的特征、部件或者模块,以便不使所公开的主题难以理解。
虽然已经参考举例说明性的实施例描述了所公开的主题,但本描述并不是要以限制的意义进行解释。对于本领域的技术人员显而易见的是,对举例说明说明性实施例的各种修改,以及本主题的其他实施例被认为处于所公开的主题的范围内。
虽然本技术可能容易受各种修改和替换的形式的影响,但是上述讨论的示例性示例仅作为示例示出。应当理解的是,本技术并不是要被限制于本文公开的特定示例中。实际上,本技术包括落入所附权利要求的真正精神和范围内的所有替换的方案、修改以及等价物。

Claims (31)

1.一种具有能够分配的数据线路的系统,包括:
远程终端,包括:
第一端口,其与第一输入/输出I/O协议相关联;
第二端口,其与第二I/O协议相关联;以及
远程配置管理器,其被配置为检测所述第一端口以及所述第二端口处的设备连接;
多条数据线路,其将主机终端耦合到所述远程终端;以及
所述主机终端,包括:
第一I/O接口,其被配置为以所述第一I/O协议操作;
第二I/O接口,其被配置为以所述第二I/O协议操作;
主机配置管理器,其用于基于在所述第一端口以及所述第二端口处检测的所述设备连接来将所述多条数据线路分配给一个或多个I/O协议;以及
协议复用器,其用于基于所述配置管理器的分配,来执行对所述多条数据线路的分配,其中,如果设备连接在所述第一端口处被检测到,则所述协议复用器将所述多条数据线路中的第一数据线路耦合到所述第一I/O接口,并且如果设备连接在所述第二端口处被检测到,则所述协议复用器将所述多条数据线路中的第二数据线路耦合到所述第二I/O接口;以及
所述主机配置管理器经由控制总线与所述远程配置管理器进行通信,以从所述远程终端接收设备连接信息。
2.如权利要求1所述的系统,其中,所述控制总线包括:单向通信链路或者双向通信链路,并且其中,所述多条数据线路包括单向数据线路或者双向数据线路。
3.如权利要求1或2所述的系统,其中,多个I/O设备与所述远程终端的端口相耦合,并且其中,所述多条数据线路被分配给各个I/O设备的相对应的I/O协议。
4.如权利要求1或2所述的系统,其中,所述多条数据线路被平衡地或者不平衡地分配。
5.如权利要求1或2所述的系统,其中,所述主机配置管理器用于与远程终端的远程配置管理器进行通信,以将所述多条数据线路指派给所述一个或多个I/O协议。
6.如权利要求1或2所述的系统,其中,所述主机配置管理器用于基于I/O设备能力信息来分配数据线路,所述信息由所述远程配置管理器传递给所述主机配置管理器。
7.如权利要求1或2所述的系统,其中,所述主机终端与所述远程终端被包括在同一设备中,或者所述主机终端与所述远程终端被包括在不同的设备中。
8.一种主机电子设备的主机终端,包括:
第一I/O接口,其被配置为以第一输入/输出I/O协议操作;
第二I/O接口,其被配置为以第二I/O协议操作;
主机配置管理器,用于基于在远程终端的第一端口以及所述远程终端的第二端口处检测到的设备连接,将把所述主机终端与所述远程终端耦合的多条数据线路分配给一个或多个I/O协议,其中,所述第一端口与所述第一I/O协议相关联并且所述第二端口与所述第二I/O协议相关联;以及
协议复用器,用于按照所述主机配置管理器所确定的,来执行所述多条数据线路到所述一个或多个I/O协议的分配,其中,如果设备连接在所述第一端口处被检测到,则所述协议复用器将所述多条数据线路中的第一数据线路耦合到所述第一I/O接口,并且如果设备连接在所述第二端口处被检测到,则所述协议复用器将所述多条数据线路中的第二数据线路耦合到所述第二I/O接口。
9.如权利要求8所述的主机终端,其中,所述多条数据线路被平衡地或者不平衡地分配。
10.如权利要求8或9所述的主机终端,其中,所述多条数据线路包括单向数据线路或者双向数据线路。
11.如权利要求8或9所述的主机终端,其中,所述主机配置管理器用于经由控制总线与所述远程终端的远程配置管理器进行通信,以将所述多条数据线路指派给所述一个或多个I/O协议。
12.如权利要求11所述的主机终端,其中,所述控制总线包括单向链路或者双向链路。
13.如权利要求11所述的主机终端,其中,所述主机电子设备包括所述远程终端,或者远程设备包括所述远程终端。
14.如权利要求8或9所述的主机终端,其中,所述多条数据线路在所述I/O设备和所述主机电子设备之间传送数据。
15.如权利要求8或9所述的主机终端,其中,多个I/O设备与所述远程终端的端口相耦合,并且其中,所述多条数据线路被分配给所述I/O设备的每一个I/O协议。
16.如权利要求8或9所述的主机终端,其中,所述主机配置管理器用于基于I/O设备能力信息来分配数据线路,所述信息由所述远程终端的远程配置管理器传递给所述主机配置管理器。
17.一种具有能够分配的数据线路的计算系统,包括:
用于在主机设备的主机终端中检测第一输入/输出I/O设备在远程终端的第一端口处的连接并且检测第二I/O设备在所述远程终端的第二端口处的连接的单元,其中,所述第一端口与第一I/O协议相关联并且所述第二端口与第二I/O协议相关联;
用于与所述远程终端进行通信以取决于检测到的连接来将多条数据线路分配给一个或多个I/O协议的单元,其中,如果所述第一I/O设备在所述第一端口处被检测到,则所述多条数据线路中的第一数据线路被耦合到被配置为使用所述第一I/O协议的第一I/O接口,并且如果所述第二I/O设备在所述第二端口处被检测到,则所述多条数据线路中的第二数据线路被耦合到被配置为使用所述第二I/O协议的第二I/O接口;以及
用于经由所述第一数据线路将数据从所述第一I/O设备传送到所述主机设备并且经由所述第二数据线路将数据从所述第二I/O设备传送到所述主机设备的单元。
18.如权利要求17所述的计算系统,进一步包括:
用于在所述远程终端中检测所述第一I/O设备到所述远程终端的第一端口的连接的单元;以及
用于通知所述主机终端所述第一I/O设备的所述连接的单元。
19.如权利要求17或18所述的计算系统,其中,所述远程终端的远程配置管理器经由双向链路与所述主机终端的主机配置管理器进行通信。
20.如权利要求17或18所述的计算系统,进一步包括:
用于检测所述I/O设备从所述远程终端的端口断开连接的单元;以及
用于将所述多条数据线路返回到解除分配的状态,以分配给新的I/O协议的单元。
21.如权利要求17或18所述的计算系统,其中,I/O设备的连接包括所述I/O设备到所述主机设备的端口的连接,或者所述I/O设备到耦合到所述主机设备的远程设备的端口的连接。
22.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括多个指令,所述多个指令当被执行时,用于:
在主机设备的主机终端中检测第一输入/输出I/O设备在远程终端的第一端口处的连接并且检测第二I/O设备在所述远程终端的第二端口处的连接,其中,所述第一端口与第一I/O协议相关联并且所述第二端口与第二I/O协议相关联;
与所述远程终端进行通信以取决于检测到的连接来将多条数据线路分配给一个或多个I/O协议,其中,如果所述第一I/O设备在所述第一端口处被检测到,则所述多条数据线路中的第一数据线路被耦合到被配置为使用所述第一I/O协议的第一I/O接口,并且如果所述第二I/O设备在所述第二端口处被检测到,则所述多条数据线路中的第二数据线路被耦合到被配置为使用所述第二I/O协议的第二I/O接口;以及
经由所述第一数据线路将数据从所述第一I/O设备传送到所述主机设备并且经由所述第二数据线路将数据从所述第二I/O设备传送到所述主机设备。
23.如权利要求22所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当被执行时,用于:
在所述远程终端中检测所述第一I/O设备到所述远程终端的第一端口的连接;以及
通知所述主机终端所述第一I/O设备的所述连接。
24.如权利要求22或23所述的非暂时性计算机可读存储介质,其中,所述远程终端的远程配置管理器经由双向链路与所述主机终端的主机配置管理器进行通信。
25.如权利要求22或23所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当被执行时,用于:
检测所述I/O设备从所述远程终端的端口断开连接;以及
将所述多条数据线路返回到解除分配的状态,以分配给新的I/O协议。
26.如权利要求22或23所述的非暂时性计算机可读存储介质,其中,I/O设备的连接包括所述I/O设备到所述主机设备的端口的连接,或者所述I/O设备到耦合到所述主机设备的远程设备的端口的连接。
27.一种具有能够分配的数据线路的系统,包括:
用于存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令由所述处理器执行,以用于:
在主机设备的主机终端中检测第一输入/输出I/O设备在远程终端的第一端口处的连接并且检测第二I/O设备在所述远程终端的第二端口处的连接,其中,所述第一端口与第一I/O协议相关联并且所述第二端口与第二I/O协议相关联;
与所述远程终端进行通信以取决于检测到的连接来将多条数据线路分配给一个或多个I/O协议,其中,如果所述第一I/O设备在所述第一端口处被检测到,则所述多条数据线路中的第一数据线路被耦合到被配置为使用所述第一I/O协议的第一I/O接口,并且如果所述第二I/O设备在所述第二端口处被检测到,则所述多条数据线路中的第二数据线路被耦合到被配置为使用所述第二I/O协议的第二I/O接口;以及
经由所述第一数据线路将数据从所述第一I/O设备传送到所述主机设备并且经由所述第二数据线路将数据从所述第二I/O设备传送到所述主机设备。
28.如权利要求27所述的系统,进一步包括指令,所述指令当由所述处理器执行时,用于:
在所述远程终端中检测所述第一I/O设备到所述远程终端的第一端口的连接;以及
通知所述主机终端所述第一I/O设备的所述连接。
29.如权利要求27或28所述的系统,其中,所述远程终端的远程配置管理器经由双向链路与所述主机终端的主机配置管理器进行通信。
30.如权利要求27或28所述的系统,进一步包括指令,所述指令当由所述处理器执行时,用于:
检测所述I/O设备从所述远程终端的端口断开连接;以及
将所述多条数据线路返回到解除分配的状态,以分配给新的I/O协议。
31.如权利要求27或28所述的系统,其中,I/O设备的连接包括所述I/O设备到所述主机设备的端口的连接,或者所述I/O设备到耦合到所述主机设备的远程设备的端口的连接。
CN201410764368.5A 2013-09-27 2014-09-26 I/o链路的线路划分复用 Active CN104516852B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/040,421 US10025748B2 (en) 2013-09-27 2013-09-27 Lane division multiplexing of an I/O link
US14/040,421 2013-09-27

Publications (2)

Publication Number Publication Date
CN104516852A CN104516852A (zh) 2015-04-15
CN104516852B true CN104516852B (zh) 2018-09-11

Family

ID=52741277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410764368.5A Active CN104516852B (zh) 2013-09-27 2014-09-26 I/o链路的线路划分复用

Country Status (3)

Country Link
US (1) US10025748B2 (zh)
JP (1) JP5960220B2 (zh)
CN (1) CN104516852B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022155839A1 (zh) * 2021-01-21 2022-07-28 华为技术有限公司 传输方法、装置和系统
US20230236632A1 (en) * 2022-01-21 2023-07-27 Synaptics Incorporated Network-capable docking station

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4534011A (en) * 1982-02-02 1985-08-06 International Business Machines Corporation Peripheral attachment interface for I/O controller having cycle steal and off-line modes
CN102576339A (zh) * 2009-09-23 2012-07-11 桑迪士克以色列有限公司 多协议存储设备桥

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1059589B1 (en) * 1999-06-09 2005-03-30 Texas Instruments Incorporated Multi-channel DMA with scheduled ports
US8059673B2 (en) 2003-05-01 2011-11-15 Genesis Microchip Inc. Dynamic resource re-allocation in a packet based video display interface
KR100560761B1 (ko) * 2003-07-08 2006-03-13 삼성전자주식회사 인터페이스 변환 시스템 및 그 방법
US20090077275A1 (en) * 2007-09-19 2009-03-19 Chaoyang Zhang Multiple I/O interfacing system for a storage device and communicating method for the same
KR20120018274A (ko) 2010-08-20 2012-03-02 삼성전자주식회사 Av 인터페이스를 통해 송수신되는 데이터를 다중화하는 방법 및 장치
TWI548995B (zh) * 2012-04-16 2016-09-11 宏碁股份有限公司 電子系統、主控電子裝置、電子裝置與通訊方法
US8732366B2 (en) * 2012-04-30 2014-05-20 Freescale Semiconductor, Inc. Method to configure serial communications and device thereof
US9479279B2 (en) * 2012-06-13 2016-10-25 Lattice Semiconductor Corporation Multiple protocol tunneling using time division operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4534011A (en) * 1982-02-02 1985-08-06 International Business Machines Corporation Peripheral attachment interface for I/O controller having cycle steal and off-line modes
CN102576339A (zh) * 2009-09-23 2012-07-11 桑迪士克以色列有限公司 多协议存储设备桥

Also Published As

Publication number Publication date
CN104516852A (zh) 2015-04-15
JP5960220B2 (ja) 2016-08-02
US10025748B2 (en) 2018-07-17
US20150095531A1 (en) 2015-04-02
JP2015069650A (ja) 2015-04-13

Similar Documents

Publication Publication Date Title
CN105981338B (zh) 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路系统
CN105051706B (zh) 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统
CN106207687B (zh) 数据接口的转换方法和装置
CN102301356A (zh) 通用串行总线主机到主机通信
US10372650B2 (en) Cross-over and bypass configurations for high-speed data transmission
CN107111588A (zh) 经由USB端口使用PCIe协议的数据传输
KR102126440B1 (ko) 모바일 디바이스들에 대한 전력 분배
CN102160341A (zh) 统一多传送介质连接器架构
CN104798010B (zh) 至少部分的串行存储协议兼容帧转换
CN110290227A (zh) 集成电路总线地址的动态分配方法、系统及存储介质
CN103051716A (zh) 一种面向网络的串口设备重定向的方法及系统
CN104516852B (zh) I/o链路的线路划分复用
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端
CN103105895A (zh) 计算机系统及其显示卡及该系统进行图形处理的方法
US10186010B2 (en) Electronic device and graphics processing unit card
CN101425945A (zh) 一种计算机的系统或局域网络的实现方法
CN103457880A (zh) 交换器系统以及操作交换器的方法
CN107944861A (zh) 一种基于区块链技术的收银系统
CN102780503A (zh) 基于cpci总线的具有多种传输手段的音频和数据转发装置
CN109510750A (zh) 一种电路板、服务器以及服务器网络
CN104407714A (zh) 一种实现远程多电脑切换的主板及其使用方法
CN206021155U (zh) 一种融合架构服务器
CN103970686A (zh) Gpu扩展卡及扩展方法
CN209248518U (zh) 一种固态硬盘扩展板卡及服务器
CN107925444A (zh) 非接触式通信接口系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant