[go: up one dir, main page]

CN104380274A - Optimized link training and management mechanism - Google Patents

Optimized link training and management mechanism Download PDF

Info

Publication number
CN104380274A
CN104380274A CN201380021347.8A CN201380021347A CN104380274A CN 104380274 A CN104380274 A CN 104380274A CN 201380021347 A CN201380021347 A CN 201380021347A CN 104380274 A CN104380274 A CN 104380274A
Authority
CN
China
Prior art keywords
link
state
physical
phy
signal
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
Application number
CN201380021347.8A
Other languages
Chinese (zh)
Other versions
CN104380274B (en
Inventor
M·瓦格
D·J·哈里曼
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
Priority claimed from US13/477,310 external-priority patent/US8437343B1/en
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201610857743.XA priority Critical patent/CN107092335B/en
Publication of CN104380274A publication Critical patent/CN104380274A/en
Application granted granted Critical
Publication of CN104380274B publication Critical patent/CN104380274B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13003Constructional details of switching devices
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

In one embodiment, an aggregation protocol stack can be used to unify communications from a first communication protocol to a second communication protocol to provide data transfer across a physical interconnect. This stack can be incorporated into an apparatus comprising a protocol stack for a first communication protocol including a transaction and link layer and a Physical unit coupled to the protocol stack to provide communication between the apparatus and a device coupled to the apparatus via a physical link. This PHY unit may include physical unit circuitry according to the second communication protocol. Other embodiments are described and claimed.

Description

优化的链路训练及管理机制Optimized link training and management mechanism

技术领域Technical Field

实施例涉及互连技术。Embodiments relate to interconnect technology.

背景background

为了提供系统内不同设备之间的通信,使用某种类型的互连机制。取决于系统实施方式,广泛的各种这样的互连是可能的。时常为了使两个设备能够互相通信,它们分享共同的通信协议In order to provide communication between different devices within a system, some type of interconnection mechanism is used. Depending on the system implementation, a wide variety of such interconnections are possible. Often in order for two devices to be able to communicate with each other, they share a common communication protocol.

一种用于计算机系统内设备间通信的典型通信协议是根据基于PCI ExpressTM规范基础规范版本3.0(2010年11月18日出版)(下文称为PCIeTM规范)的链路的外围组件快速互连(PCI ExpressTM(PCIeTM))通信协议。这个通信协议是加载/存储输入/输出(IO)互连系统的一个实例。通常根据这一协议以非常高的速度串行执行所述设备间的通信。当在台式计算机的背景下开发PCIeTM通信协议时,为了在不考虑功率效率的情况下实现最大性能的目的,开发了关于这一协议的各种参数。结果,其许多特征无法缩减至能够被合并到移动系统中的较低功率解决方案。A typical communication protocol for communication between devices within a computer system is the Peripheral Component Interconnect Express (PCI Express (PCIe™)) communication protocol based on a link based on the PCI Express Specification Base Specification Version 3.0 (published on November 18, 2010) (hereinafter referred to as the PCIe specification ) . This communication protocol is an example of a load/store input/output (IO) interconnect system. Communication between the devices is typically performed serially at very high speeds according to this protocol. When the PCIe communication protocol was developed in the context of desktop computers, various parameters for this protocol were developed for the purpose of achieving maximum performance without regard to power efficiency. As a result, many of its features cannot be reduced to a lower power solution that can be incorporated into a mobile system.

除了这些关于常规加载/存储通信协议的功率问题外,现有的链路管理方案通常非常复杂并涉及大量状态,导致执行状态间转换的冗长过程。这部分地归因于现有的链路管理机制,其被开发以领会诸如连接器、不同系统合并等多种不同的形式因素要求。一个这样的实例是根据PCIeTM通信协议的链路管理。In addition to these power issues with conventional load/store communication protocols, existing link management schemes are typically very complex and involve a large number of states, resulting in a lengthy process of performing transitions between states. This is due in part to existing link management mechanisms, which were developed to appreciate a variety of different form factor requirements such as connectors, different system incorporations, etc. One such example is link management according to the PCIe communication protocol.

附图简述BRIEF DESCRIPTION OF THE DRAWINGS

图1为根据本发明实施例的用于通信协议的协议栈的高级别框图。FIG. 1 is a high-level block diagram of a protocol stack for a communication protocol according to an embodiment of the present invention.

图2为根据本发明实施例的片上系统(SoC)的框图。FIG. 2 is a block diagram of a system on chip (SoC) according to an embodiment of the present invention.

图3为根据本发明另一实施例的物理单元的框图。FIG. 3 is a block diagram of a physical unit according to another embodiment of the present invention.

图4为示出根据本发明实施例的协议栈的进一步细节的框图。FIG. 4 is a block diagram showing further details of a protocol stack according to an embodiment of the present invention.

图5为用于链路训练状态机的状态图,其能够是根据本发明实施例的链路管理器的部分。5 is a state diagram for a link training state machine, which can be part of a link manager according to an embodiment of the present invention.

图6为根据本发明实施例的用于边带机制的各个状态的流程图。FIG. 6 is a flow chart of various states for a sideband mechanism according to an embodiment of the present invention.

图7为根据本发明实施例的方法的流程图。FIG. 7 is a flow chart of a method according to an embodiment of the present invention.

图8为根据本发明实施例的计算机系统中存在的组件的框图。FIG. 8 is a block diagram of components present in a computer system according to an embodiment of the present invention.

图9为实施例能够与其一起使用的实例系统的框图。9 is a block diagram of an example system with which embodiments can be used.

具体实施方式DETAILED DESCRIPTION

实施例可以提供输入/输出(IO)互连技术,其具有低功率、加载/存储架构,且尤其适用于在包括诸如智能电话的蜂窝电话、平板计算机、电子阅读器、超级本TM等的移动设备中使用。Embodiments may provide an input/output (IO) interconnect technology having a low power, load/store architecture and particularly suitable for use in mobile devices including cellular phones such as smartphones, tablet computers, e-readers, Ultrabooks , and the like.

在各实施例中,用于给定通信协议的协议栈能够与不同的通信协议的物理单元或与用于给定通信协议的物理单元不同的至少一个物理(PHY)单元一起使用。物理单元包括逻辑层和物理或电气层两者,物理或电气层在互连(诸如链接两个独立半导体管芯的链路)上提供信息信号的实际、物理的通信,两个独立半导体管芯可以是在单个集成电路(IC)封装或例如经由电路板路由、迹线等耦接的分离封装内的两个半导体管芯。此外,所述物理单元能够执行数据包的成帧(framing)/解帧(deframing),执行链路训练及初始化,并处理用于从物理互连接收或递送至物理互连上的数据包。In various embodiments, a protocol stack for a given communication protocol can be used with physical units for different communication protocols or at least one physical (PHY) unit that is different from the physical unit for a given communication protocol. The physical unit includes both a logical layer and a physical or electrical layer that provides the actual, physical communication of information signals over an interconnect, such as a link linking two independent semiconductor dies, which can be two semiconductor dies within a single integrated circuit (IC) package or separate packages coupled, for example, via circuit board routing, traces, etc. In addition, the physical unit can perform framing/deframing of data packets, perform link training and initialization, and process data packets for reception from or delivery to the physical interconnect.

虽然可能有不同的实施方式,但在一个实施例中,所述协议栈可能具有常规的基于个人计算机(PC)的通信协议(诸如根据PCI ExpressTM规范基础规范版本3.0(2010年11月18日出版)(下文称为PCIeTM规范)的外围组件快速互连(PCI)ExpressTM(PCIeTM))通信协议)、应用协议扩展的进一步版本,或另一此类协议,同时所述物理单元不依据所述PCIeTM通信协议。出于实现低功率操作的目的,这一物理单元能够被特别设计为允许基本不改变的PCIeTM上协议栈与这一低功率物理电路合并。这样,为了易于合并到以低功率操作的便携并且其它不基于PC的形式因素中,能够利用PCIeTM通信协议的广泛的传统基础。但是本发明的范围不限于此,在一个实施例中,这一物理单元可以是由移动平台(诸如根据移动工业处理器接口(MIPI)联盟(其是针对移动计算设备设定标准的小组)的M-PHY规范版本1.00.00——2011年2月8日(2011年4月28日批准的MIPI Board)(下文为MIPI规范)的所谓的M-PHY)适配的物理单元。然而,能够使用其它低功率物理单元(诸如根据诸如用于把多芯片封装内的个体管芯耦接在一起的其它低功率规范),或定制的低功率解决方案。如本文所用的,术语“低功率”意指处于低于常规PC系统的功耗水平,并且其可以应用于广泛的各种移动及便携设备。作为实例,“低功率”可以是消耗的功率少于常规PCIeTM物理单元的物理单元。Although different implementations are possible, in one embodiment, the protocol stack may have a conventional personal computer (PC) based communication protocol (such as the Peripheral Component Interconnect Express (PCI) Express TM (PCIe TM )) communication protocol according to the PCI Express TM Specification Base Specification Version 3.0 (published November 18, 2010) (hereinafter referred to as the PCIe TM specification), a further version of the application protocol extension, or another such protocol, while the physical unit is not based on the PCIe TM communication protocol. For the purpose of achieving low power operation, this physical unit can be specially designed to allow a substantially unchanged PCIe TM upper protocol stack to be incorporated with this low power physical circuit. In this way, the broad traditional basis of the PCIe TM communication protocol can be utilized for ease of incorporation into portable and other non-PC based form factors that operate at low power. While the scope of the present invention is not limited in this regard, in one embodiment, this physical unit may be a physical unit adapted by a mobile platform, such as the so-called M-PHY according to the M-PHY Specification Version 1.00.00 of the Mobile Industry Processor Interface (MIPI) Alliance (which is a group setting standards for mobile computing devices) - February 8, 2011 (MIPI Board approved on April 28, 2011) (hereinafter referred to as the MIPI Specification). However, other low-power physical units (such as according to other low-power specifications such as for coupling individual dies within a multi-chip package together), or customized low-power solutions can be used. As used herein, the term "low power" means being at a power consumption level lower than conventional PC systems, and it can be applied to a wide variety of mobile and portable devices. As an example, "low power" may be a physical unit that consumes less power than a conventional PCIe TM physical unit.

这样,通过将传统的PCIeTM协议栈与不同类型的物理单元聚合,大量再使用的针对PCIeTM开发的传统组件能够被用来合并到移动或其它便携或低功率平台中。Thus, by aggregating the legacy PCIe protocol stack with different types of physical units, a large number of reused legacy components developed for PCIe can be used to incorporate into mobile or other portable or low-power platforms.

实施例还可以利用如下认识:即现有加载/存储IO技术,尤其是PCIeTM以如下目的被设计:在功率效率不是主要问题的情况下实现最大性能,并且因此不会缩减至低功率应用。通过将常规加载/存储协议栈的部分与低功率设计的物理单元组合,实施例可以保留PCIeTM的性能优势,同时在设备及平台级别在功率方面达到最佳。Embodiments may also take advantage of the recognition that existing load/store IO technologies, particularly PCIe , are designed with the goal of achieving maximum performance where power efficiency is not a primary concern and therefore will not scale down to low power applications. By combining portions of a conventional load/store protocol stack with a low power designed physical unit, embodiments may retain the performance advantages of PCIe while optimizing for power at the device and platform level.

照此,实施例可以是与具有大的传统基础的普遍存在的PCIeTM架构兼容的软件。此外,实施例还可以实现直接PHY再使用移动设计PHY,例如M-PHY。这样,能够利用传送的高效功率/比特以及友好地成为电磁接口/射频接口(EMI/RFI)的方法实现低活跃和空闲功率,因为PHY可以以不干扰相关联无线电(因为用于PHY的时钟速率的谐波不干涉典型的无线电解决方案以其操作的常规射频(例如,1.8、1.9、2.4千兆赫(GHz))或其他这样的射频)的时钟速率操作。As such, embodiments may be software compatible with the ubiquitous PCIe architecture, which has a large legacy base. In addition, embodiments may also enable direct PHY reuse of mobile design PHYs, such as M-PHY. In this way, low active and idle power can be achieved with efficient power/bit transmitted and an approach that is electromagnetic interface/radio frequency interface (EMI/RFI) friendly, because the PHY can operate at a clock rate that does not interfere with the associated radio (because the harmonics of the clock rate used for the PHY do not interfere with the conventional radio frequencies (e.g., 1.8, 1.9, 2.4 gigahertz (GHz)) or other such radio frequencies at which typical radio solutions operate).

实施例可以进一步提供实现优化的链路训练和管理机制(LTSSM)的架构改进;优化的流控制和重试缓冲和管理机制;用于改变链路操作模式的架构协议;快速硬件支持设备状态保存及恢复;以及用于具有可选的带内支持的链路管理的统一边带机制。Embodiments may further provide architectural improvements that implement an optimized link training and management mechanism (LTSSM); optimized flow control and retry buffering and management mechanisms; an architectural protocol for changing link operating modes; fast hardware support for device state preservation and recovery; and a unified sideband mechanism for link management with optional in-band support.

在各实施例中,PCIeTM事务及数据链路层能够被实施为具有有限修改的协议栈的部分以计及不同的链路速度和非对称链路。此外,可以提供修正的链路训练及管理,以包括对多通道通信、非对称链路配置、边带统一及动态带宽缩放性的支持。实施例可以进一步提供对现有的基于PCIeTM及基于非PCIeTM的逻辑和诸如M-PHY逻辑和电路之类的电路间的桥接的支持。In various embodiments, the PCIe TM transaction and data link layers can be implemented as part of a protocol stack with limited modifications to account for different link speeds and asymmetric links. In addition, modified link training and management can be provided to include support for multi-channel communications, asymmetric link configurations, sideband unification, and dynamic bandwidth scalability. Embodiments may further provide support for bridging between existing PCIe TM- based and non-PCIe TM- based logic and circuits such as M-PHY logic and circuits.

这种分层方法使得现有的软件栈(例如,操作系统(OS)、虚拟机管理器及驱动器)能眵在不同的物理层上无缝运行。对所述数据链路及事务层的影响被最小化并且可以包括更新相关的定时器以更新应答频率、重放定时器等。This layered approach enables existing software stacks (e.g., operating systems (OS), virtual machine managers, and drivers) to run seamlessly on different physical layers. The impact on the data link and transaction layers is minimized and can include updating related timers to update response frequencies, replay timers, etc.

因此,各实施例能够限制PCIeTM系统中提供的一些灵活性,因为这种灵活性某些情况下在PCIeTM系统及其它系统两者内能够创建某些复杂性。确实如此,因为这两种协议都提供了实现即插即播能力的极大灵活性。相反,各实施例能够定制最小化设计灵活性的量的解决方案,因为当被合并到给定系统(例如与另一集成电路(IC)互连的片上系统(SoC))中时,出现已知和固定的配置。因为在实现存在的精确配置方面是已知的,当SoC及连接的设备两者均附贴在平台内时,例如焊接到该系统的电路板,这些设备无需即插即播能力,并且因此可能不需要PCIeTM或其它基于PC的通信协议固有的、使得不同设备能够无缝地合并到具有即插即播能力的系统中的较大灵活性。Therefore, each embodiment can limit some flexibility provided in PCIe TM system, because this flexibility can create some complexity in both PCIe TM system and other systems in some cases. Indeed, because both protocols provide great flexibility to realize plug-and-play capability. On the contrary, each embodiment can customize the solution of minimizing the amount of design flexibility, because when being incorporated into a given system (e.g., a system on a chip (SoC) interconnected with another integrated circuit (IC)), a known and fixed configuration occurs. Because it is known in terms of the precise configuration of the implementation, when both SoC and the connected devices are attached in the platform, such as soldered to the circuit board of the system, these devices do not need plug-and-play capability, and therefore may not need PCIe TM or other PC-based communication protocols inherent, so that different devices can be seamlessly incorporated into the system with plug-and-play capability. Greater flexibility.

作为一个实例,所述SoC能够充当第一IC中实施的根联合体(rootcomplex),并耦接到可以为无线电解决方案的第二IC,其能够包括多个无线通信设备中的一个或多个设备。这样的设备的范围能够从诸如根据蓝牙TM规范的低功率短程通信系统、诸如根据给定的电气及电子工程协会(IEEE)802.11标准的所谓的WiFiTM系统的局域无线通信,到诸如给定的蜂窝通信协议(诸如3G或4G通信协议)的高功率无线系统。As an example, the SoC can act as a root complex implemented in a first IC and coupled to a second IC which can be a radio solution, which can include one or more of a plurality of wireless communication devices. Such devices can range from low power short range communication systems such as those according to the Bluetooth specification, local area wireless communications such as so-called WiFi systems according to a given Institute of Electrical and Electronics Engineering (IEEE) 802.11 standard, to high power wireless systems such as given cellular communication protocols such as 3G or 4G communication protocols.

现在参考图1,示出了根据本发明实施例的用于通信协议的协议栈的高级别框图。如图1中所示,栈100可以是半导体组件(诸如IC)内软件、固件及硬件的组合,用于提供对所述半导体设备和与其耦接的另一设备间数据通信的处理。在图1的实施例中,示出了开始于高级别软件110的高级别视图,高级别软件110可以是在给定平台上执行的各种类型的软件。这种高级别软件可以包括操作系统(OS)软件、固件、应用软件等。要经由互连140传送的数据能够通过协议栈的各层传递,通常在图1内示出,互连140可以是将所述半导体设备与另一组件耦接的给定物理互连。如所见的,这一协议栈各部分可以是常规PCIeTM栈120的部分,并可以包括事务层125和数据链路层128。通常,事务层125用于生成能够是请求或由时间分离的基于响应的数据包的事务层数据包(TLP),从而允许该链路携带其它业务,同时目标设备收集用于所述响应的数据。所述事务层进一步处理基于信用的流控制。因此,事务层125提供设备的处理电路与互连架构间的接口,诸如数据链路层和物理层。在这方面,所述事务层的主要职责是数据包(即,事务层数据包(TLP))的组装和分解以及处理基于信用的流控制。Referring now to FIG. 1 , a high-level block diagram of a protocol stack for a communication protocol according to an embodiment of the present invention is shown. As shown in FIG. 1 , the stack 100 may be a combination of software, firmware, and hardware within a semiconductor component (such as an IC) for providing processing for data communication between the semiconductor device and another device coupled thereto. In the embodiment of FIG. 1 , a high-level view starting with high-level software 110 is shown, which may be various types of software executed on a given platform. Such high-level software may include operating system (OS) software, firmware, application software, etc. Data to be transmitted via interconnect 140 can be passed through the layers of the protocol stack, generally shown in FIG. 1 , where interconnect 140 may be a given physical interconnect coupling the semiconductor device to another component. As seen, portions of this protocol stack may be portions of a conventional PCIe TM stack 120, and may include a transaction layer 125 and a data link layer 128. Typically, the transaction layer 125 is used to generate transaction layer packets (TLPs) that may be request or response-based packets separated by time, thereby allowing the link to carry other services while the target device collects data for the response. The transaction layer further handles credit-based flow control. Thus, the transaction layer 125 provides an interface between the processing circuitry of the device and the interconnect architecture, such as the data link layer and the physical layer. In this regard, the primary responsibilities of the transaction layer are the assembly and disassembly of data packets (i.e., transaction layer packets (TLPs)) and handling credit-based flow control.

继而,数据链路层128可以排序事务层生成的TLP,并确保两个端点间TLP的可靠递送(包括处理错误检查)和应答处理。因此,链路层128充当事务层与物理层之间的中间阶段,并提供用于通过链路在两个组件间交换TLP的可靠机制。所述链路层的一侧接收由所述事务层组装的TLP,应用标识符,计算并应用错误检测代码(例如循环恢复码(CRC)),并将修改的TLP提交给物理层以用于跨物理链路传输至外部设备。The data link layer 128 can then order the TLPs generated by the transaction layer and ensure reliable delivery (including handling error checking) and acknowledgment processing of the TLPs between the two endpoints. Thus, the link layer 128 acts as an intermediate stage between the transaction layer and the physical layer and provides a reliable mechanism for exchanging TLPs between the two components over a link. One side of the link layer receives the TLPs assembled by the transaction layer, applies an identifier, calculates and applies an error detection code (e.g., a cyclic recovery code (CRC)), and submits the modified TLPs to the physical layer for transmission across the physical link to an external device.

在数据链路层128中处理后,能眵将数据包传送给PHY单元130。通常,PHY单元130可以包括低功率PHY134,其可以包括逻辑层和物理(包括电气)子层两者。在一个实施例中,由PHY单元130表示的物理层以物理方式将数据包传输到外部设备。所述物理层包括为传输准备外出信息的传输区段和在将接收的信息传递到链路层之前标识并准备它的接收器区段。将被串行化并传输到外部设备的符号供应给所述传输器。将来自外部设备的串行化符号供应给所述接收器,并且接收器将所接收的信号变换为比特流。将所述比特流解串行并供应给逻辑子块。After processing in the data link layer 128, the data packet can be transmitted to the PHY unit 130. Generally, the PHY unit 130 may include a low power PHY 134, which may include both a logical layer and a physical (including electrical) sublayer. In one embodiment, the physical layer represented by the PHY unit 130 physically transmits the data packet to the external device. The physical layer includes a transmission section that prepares outgoing information for transmission and a receiver section that identifies and prepares the received information before passing it to the link layer. The symbols that are serialized and transmitted to the external device are supplied to the transmitter. The serialized symbols from the external device are supplied to the receiver, and the receiver converts the received signal into a bit stream. The bit stream is deserialized and supplied to the logic sub-block.

在一个实施例中,低功率PHY134(其能眵是特别开发或由诸如M-PHY之类的另一PHY适配的给定低功率PHY)可以提供对打包数据的处理以用于沿互连140传送。如图1中进一步所见的的,链路训练及管理层132(本文也称作链路管理器)也可以存在于PHY单元130内。在各实施例中,链路管理器132可以包括可以根据诸如PCIeTM协议的另一通信协议实施的特定逻辑和处理例如上述PCIeTM协议栈的常规和具有不同协议的物理PHY134间接口的专有逻辑。In one embodiment, the low power PHY 134 (which may be a given low power PHY specifically developed or adapted from another PHY such as an M-PHY) may provide processing for packetized data for transmission along the interconnect 140. As further seen in FIG1 , a link training and management layer 132 (also referred to herein as a link manager) may also be present within the PHY unit 130. In various embodiments, the link manager 132 may include specific logic that may be implemented according to another communication protocol such as the PCIe protocol and proprietary logic that handles the interface between the conventional and different protocols of the PCIe protocol stack described above.

在图1的实施例中,互连140能够实施为差分线对,差分线对可以是两对单向线。在某些实施方式中,多组差分对可以用来增加带宽。要注意,根据PCIeTM通信协议,要求每个方向上差分对的数目相同。然而,根据各实施例,能够在每个方向上提供不同数目的对,这允许操作更高效、功率更低。该整个聚合的栈及链路140可以称作移动快速PCIeTM互连或链路。虽然在图1的实施例中以这一高级别示出,但要理解本发明的范围不限于此。也就是说,要理解,图1中所示的视图只是关于通过物理层的来自事务层的协议栈以及高级别软件,并且未示出SoC的各种其它电路或包括这个栈的其它半导体设备。In the embodiment of Fig. 1, interconnect 140 can be implemented as differential line pairs, and differential line pairs can be two pairs of unidirectional lines. In some embodiments, multiple groups of differential pairs can be used to increase bandwidth. It should be noted that according to the PCIe TM communication protocol, the number of differential pairs in each direction is required to be the same. However, according to various embodiments, different numbers of pairs can be provided in each direction, which allows operation to be more efficient and lower power. The entire aggregated stack and link 140 can be referred to as mobile fast PCIe TM interconnect or link. Although shown at this high level in the embodiment of Fig. 1, it is to be understood that the scope of the present invention is not limited thereto. That is, it is to be understood that the view shown in Fig. 1 is only about the protocol stack from the transaction layer through the physical layer and the high-level software, and various other circuits of SoC or other semiconductor devices including this stack are not shown.

现在参考图2,示出根据本发明实施例的SoC的框图。如图2所示,SoC200能够是用于实施在各种类型的SoC中的任何类型的平台,范围从诸如智能电话、个人数字助手(PDA)、平板计算机、笔记本、超级本TM等之类的相对较小的低功率便携设备到能够在高级别系统中实施的更高级的SoC。Referring now to FIG2 , a block diagram of a SoC according to an embodiment of the present invention is shown. As shown in FIG2 , SoC 200 can be any type of platform for implementation in various types of SoCs, ranging from relatively small low-power portable devices such as smart phones, personal digital assistants (PDAs), tablet computers, notebooks, Ultrabooks , etc. to more advanced SoCs that can be implemented in high-level systems.

如图2中所见的,SoC200可以包括一个或多个内核2100-210n。因此在各实施例中,可能有多核SoC,所述内核全都可以是具有给定架构的同质内核,例如有序或无序处理器。或者能够存在异质内核,例如某些相对较小的低功率内核,例如具有有序架构的内核;具有存在的附加内核,该附加内核可以具有更大和更复杂的架构,例如无序架构。协议栈实现这些内核中的一个或多个与系统的其它组件之间数据通信。如看见的,这个栈能够包括软件215,其可以是较高级别软件(诸如OS、固件)和在一个或多个内核上执行的应用级软件。另外,所述协议栈包括事务层220和数据链路层230。在各实施例中,这些事务及数据链路层可以具有诸如PCIeTM协议的给定通信协议。当然,其它实施例中可以存在诸如根据通用串行总线(USB)协议栈的不同协议栈的层。而且,在一些实施方式中,能够用现有的替换协议栈多路复用本文所述的低功率PHY电路。As seen in FIG. 2 , SoC 200 may include one or more cores 210 0 -210 n . Thus, in various embodiments, there may be a multi-core SoC, all of which may be homogeneous cores with a given architecture, such as in-order or out-of-order processors. Or there may be heterogeneous cores, such as some relatively small low-power cores, such as cores with an in-order architecture; with the presence of additional cores, which may have a larger and more complex architecture, such as an out-of-order architecture. The protocol stack enables data communication between one or more of these cores and other components of the system. As seen, this stack can include software 215, which may be higher-level software (such as an OS, firmware) and application-level software executed on one or more cores. In addition, the protocol stack includes a transaction layer 220 and a data link layer 230. In various embodiments, these transaction and data link layers may have a given communication protocol such as a PCIe TM protocol. Of course, in other embodiments, there may be layers of different protocol stacks such as according to a universal serial bus (USB) protocol stack. Moreover, in some embodiments, the low-power PHY circuit described herein can be multiplexed with an existing replacement protocol stack.

仍然参考图2,继而这一协议栈能够耦接到物理单元240,物理单元240可以包括能够经由多条互连提供通信的多个物理单元。在一个实施例中,第一物理单元250可以是低功率PHY单元,其在一个实施例中可以对应于根据MIPI规范的M-PHY,用于经由主互连280提供通信。另外,可以存在边带(SB)PHY单元244。在所示的实施例中,这个边带PHY单元可以经由边带互连270提供通信,边带互连270可以是用于例如以慢于耦接到第一PHY250的主互连280的数据速率提供某些边带信息的统一边带。在某些实施例中,所述协议栈的各层能够具有耦接到这个SB PHY244以实现沿这一边带互连的通信的分离边带。Still referring to Figure 2, this protocol stack can then be coupled to a physical unit 240, which can include multiple physical units capable of providing communication via multiple interconnects. In one embodiment, the first physical unit 250 can be a low-power PHY unit, which in one embodiment can correspond to an M-PHY according to the MIPI specification, for providing communication via a main interconnect 280. In addition, there can be a sideband (SB) PHY unit 244. In the embodiment shown, this sideband PHY unit can provide communication via a sideband interconnect 270, which can be a unified sideband for providing certain sideband information, for example, at a data rate slower than the main interconnect 280 coupled to the first PHY 250. In some embodiments, the various layers of the protocol stack can have separate sidebands coupled to this SB PHY 244 to enable communication along this sideband interconnect.

此外,PHY单元240可以进一步包括能够用于控制SB PHY244的SB链路管理器242。另外,可以存在链路训练及状态管理器245,并且其能够用于将具有第一通信协议的协议栈适配到具有第二通信协议的第一PHY250,以及提供对于第一PHY250和互连280的整体控制。In addition, the PHY unit 240 may further include an SB link manager 242 that can be used to control the SB PHY 244. In addition, a link training and status manager 245 may be present and can be used to adapt a protocol stack having a first communication protocol to the first PHY 250 having a second communication protocol, and provide overall control of the first PHY 250 and the interconnect 280.

如进一步所见的,第一PHY250中可以存在各种组件。更具体地,可以存在传输器及接收器电路(即TX253和RX254)。通常,这种电路可以用来执行串行化操作、解串行操作以及经由主互连280传输及接收数据。可以存在保存状态管理器251,并且当其处于低功率状态时可以用于保存关于第一PHY250的配置及其它状态信息。而且,能够存在编码器252,用于例如根据8b/10b协议执行线编码。As further seen, various components may be present in the first PHY 250. More specifically, transmitter and receiver circuits (i.e., TX 253 and RX 254) may be present. In general, such circuits may be used to perform serialization operations, deserialization operations, and transmission and reception of data via the main interconnect 280. A save state manager 251 may be present and may be used to save configuration and other state information about the first PHY 250 when it is in a low power state. Also, an encoder 252 may be present for performing line encoding, for example, according to an 8b/10b protocol.

如图2进一步所见的,可以存在机械接口258。这个机械接口258可以是给定互连,用于提供来自根联合体200的通信,并且更具体地经由主互连280到达/来自第一PHY250的通信。在各实施例中,这种机械连接能够利用诸如球栅阵列(BGA)或其它表面贴装之类的半导体设备的引脚,或通过孔连接电镀。2 , there may be a mechanical interface 258. This mechanical interface 258 may be a given interconnect for providing communications from the root complex 200, and more specifically to/from the first PHY 250 via the primary interconnect 280. In various embodiments, this mechanical connection can utilize pins of a semiconductor device such as a ball grid array (BGA) or other surface mount, or through hole connection plating.

除了这些主要通信机制外,附加的通信接口可以利用低功率串行(LPS)PHY单元255,低功率串行(LPS)PHY单元255经由包括软件层216、事务层221、以及链路层231的分离栈在内核210与一个或多个片外设备260a-c间耦接,所述片外设备能眵是诸如传感器、加速计、温度传感器、全球定位系统(GPS)电路、罗盘电路、触摸屏电路、键盘电路、鼠标电路等之类的各种低数据速率外围设备。In addition to these primary communication mechanisms, additional communication interfaces may utilize a low power serial (LPS) PHY unit 255, which couples between the core 210 and one or more off-chip devices 260a-c via a separate stack including a software layer 216, a transaction layer 221, and a link layer 231. The off-chip devices may be various low data rate peripherals such as sensors, accelerometers, temperature sensors, global positioning system (GPS) circuits, compass circuits, touch screen circuits, keyboard circuits, mouse circuits, etc.

要注意,在各实施例中,边带互连270或主互连280两者都能眵在SoC200和另一半导体组件(例如诸如多带无线电解决方案之类的另一IC)间耦接。Note that in various embodiments, either sideband interconnect 270 or main interconnect 280 can be coupled between SoC 200 and another semiconductor component (eg, another IC such as a multi-band radio solution).

再次,虽然图2的图示是相对较高级别,但可以有变化。例如,可以提供多个低功率PHY以例如经由多条信道实现更高速率的数据通信,其中各信道与独立的PHY相关联。现在参考图3,示出根据本发明另一实施例的物理单元的框图。如图3中所示,物理单元300包括链路训练及状态管理器310。这个状态管理器可以如上所述,并能够是逻辑集合,用于使具有第一通信协议的协议栈能够与具有第二(例如不同)通信协议的物理单元接口。Again, while the illustration of FIG. 2 is at a relatively high level, variations are possible. For example, multiple low power PHYs may be provided to enable higher rate data communications, for example, via multiple channels, where each channel is associated with a separate PHY. Referring now to FIG. 3 , a block diagram of a physical unit according to another embodiment of the present invention is shown. As shown in FIG. 3 , the physical unit 300 includes a link training and state manager 310. This state manager may be as described above, and can be a logical set for enabling a protocol stack having a first communication protocol to interface with a physical unit having a second (e.g., different) communication protocol.

如图3中进一步所见的,链路训练及状态管理器310可以与多个M-PHY3200-320n通信。通过提供多于一个的此类PHY,能够进行更高速率的数据通信。要注意,虽然图3所示的每个M-PHY可以包括一些数目的逻辑以用于使其个体独立通信能够发生,但对这些不同M-PHY的通信的整体控制可以经由链路训练及状态管理器310。而且,要理解,虽然图3中示出多个M-PHY,但在其它实施例中,能够存在另一类型的多个PHY单元,并能够提供另外的多个异质PHY单元。要注意,每个M-PHY单元能够被用作唯一逻辑链路的部分,或用在组中,其中组与单个逻辑链路相关联。每个设备通常可以消耗单个逻辑链路,但是在一些实施例中单个物理设备可以消耗多个逻辑链路,例如用于为多功能组件的不同功能提供专有链路资源。As further seen in FIG. 3 , the link training and state manager 310 can communicate with multiple M-PHYs 320 0 -320 n . By providing more than one such PHY, higher rate data communications can be performed. It is noted that while each M-PHY shown in FIG. 3 may include some amount of logic for enabling its individual independent communications to occur, overall control of the communications of these different M-PHYs may be via the link training and state manager 310. Moreover, it is to be understood that while multiple M-PHYs are shown in FIG. 3 , in other embodiments, multiple PHY units of another type can exist, and additional multiple heterogeneous PHY units can be provided. It is noted that each M-PHY unit can be used as part of a unique logical link, or used in a group, where the group is associated with a single logical link. Each device can typically consume a single logical link, but in some embodiments a single physical device can consume multiple logical links, for example, to provide dedicated link resources for different functions of a multi-function component.

现在参考图4,示出的是示出根据本发明实施例的协议栈的进一步细节的框图。如图4中所示,栈400包括各种层,包括:事务层410、数据链路层420及物理层430。如上所述,能够使用PCIeTM协议栈的常规事务及数据链路部分或此类栈的修改版本配置这些不同的层,以容纳具有该第一通信协议的这些层与具有另一通信协议的物理层之间的交互,物理层在图4的实施例中可以是根据MIPI规范的M-PHY。Referring now to FIG4 , shown is a block diagram illustrating further details of a protocol stack according to an embodiment of the present invention. As shown in FIG4 , the stack 400 includes various layers, including: a transaction layer 410, a data link layer 420, and a physical layer 430. As described above, these different layers can be configured using the conventional transaction and data link portions of the PCIe TM protocol stack or a modified version of such a stack to accommodate interaction between these layers having the first communication protocol and a physical layer having another communication protocol, which in the embodiment of FIG4 may be M-PHY according to the MIPI specification.

如图4中所见的,关于从协议栈400传输信息的传输方向,在事务层的通常组合控制及数据路径以形成TLP的传输数据包组装器412中接收例如从SoC的其它电路(诸如内核或其它处理逻辑)到协议栈的到来信息。在被组装到传输数据包之后(传输数据包在各实施例中能够是具有例如1至4096字节(或具有较小的最大允许大小,例如,128或256)的数据包),把组装的数据包提供给流控制器414,流控制器414基于排队传输的接下来的(一个或多个)TLP所要求的数目确定是否有足够的流控制信用可用,并且控制将数据包注入到数据链路层420中。更具体所见的,给错误检测器和序列器422提供这些注入的数据包,在一个实施例中错误检测器和序列器422可以生成TLP序列号和LCRC。进一步所见的,数据链路层420进一步包括传输消息机构426,传输消息机构426继而生成用于链路管理功能的DLLP,并耦接到数据链路传输控制器425,其是用于流控制及数据链路完整性(ACK/NAK)机制的控制器功能;要注意,这可以被细分,以使得使用不同的逻辑块实施这些功能。As seen in FIG4 , with respect to the transmission direction of information transmitted from the protocol stack 400, incoming information to the protocol stack, for example, from other circuits of the SoC (such as a core or other processing logic) is received in a transmission packet assembler 412 of the transaction layer that typically combines control and data paths to form TLPs. After being assembled into transmission packets (transmission packets can be packets of, for example, 1 to 4096 bytes (or with a smaller maximum allowed size, such as 128 or 256) in various embodiments), the assembled packets are provided to a flow controller 414, which determines whether sufficient flow control credits are available based on the number of next (one or more) TLPs queued for transmission, and controls the injection of the packets into the data link layer 420. More specifically, these injected packets are provided to an error detector and sequencer 422, which in one embodiment can generate a TLP sequence number and LCRC. As further seen, the data link layer 420 further includes a transport message mechanism 426, which in turn generates DLLPs for link management functions and is coupled to a data link transport controller 425, which is a controller function for flow control and data link integrity (ACK/NAK) mechanisms; note that this can be subdivided so that these functions are implemented using different logic blocks.

如进一步所见的,将处理过的数据包提供给重试缓冲424,重试缓冲424保存有每个TLP的拷贝直至被所述链路另一侧上组件应答,要注意,实践中这可以利用缓冲在栈的更上部(在组装器412内或上方)来实施,并且它们能够被存储在对应的条目中,直至被选择用于经由数据/消息选择器428传输到物理层430。通常,上述事务及数据链路层可以根据常规的PCIeTM协议栈电路操作,其中某些修改将在下面进一步描述。As further seen, the processed packets are provided to the retry buffer 424, which holds a copy of each TLP until acknowledged by a component on the other side of the link, noting that in practice this can be implemented using buffers further up the stack (in or above the assembler 412), and they can be stored in corresponding entries until selected for transmission to the physical layer 430 via the data/message selector 428. In general, the transaction and data link layers described above can operate according to conventional PCIe protocol stack circuitry, with certain modifications described further below.

相反关于物理层430,对这层的某些逻辑组件的多得多的修改(例如根据PCIeTM协议栈修改的那样)可以发生以及用于提供对具有另一通信协议的物理单元的实际物理部分的接口。如所见的,可以将到来的数据包应用于帧发生器432,其增加物理层帧符号并为所述数据包生成帧,并且将它们提供给带宽/位置映射器434,其移位数据路径中的字节以生成用于外部传输的要求的校准从而必要时调整数据路径宽度,并且继而耦接到可以用于执行链路训练及跳跃排序的训练器及跳跃序列器436。如所见的,帧发生器432、训练器/序列器436和数据/序列选择器438全都可以耦接到物理层传输控制器435,物理层传输控制器435为LTSSM和相关逻辑的收发器部分。框436是用于生成物理层传输(诸如训练集(TS)和跳跃排序集)的逻辑。这样,成帧的数据包可以被选择并提供给物理电路,以执行编码、串行化和把对应于处理的数据包的串行化信号驱动至物理互连上。在一个实施例中,可以在帧发生器432中执行不同通信协议间符号差的映射。Conversely with respect to the physical layer 430, much more modification of certain logical components of this layer (such as modified according to the PCIe TM protocol stack) may occur and be used to provide an interface to the actual physical portion of a physical unit having another communication protocol. As seen, incoming data packets may be applied to a frame generator 432, which adds physical layer frame symbols and generates frames for the data packets, and provides them to a bandwidth/position mapper 434, which shifts bytes in the data path to generate the required alignment for external transmissions to adjust the data path width as necessary, and is then coupled to a trainer and hop sequencer 436 that may be used to perform link training and hop sequencing. As seen, the frame generator 432, trainer/sequencer 436, and data/sequence selector 438 may all be coupled to a physical layer transmission controller 435, which is the transceiver portion of the LTSSM and related logic. Block 436 is the logic for generating physical layer transmissions such as training sets (TS) and hop sequencing sets. Thus, the framed data packets can be selected and provided to the physical circuitry to perform encoding, serialization, and driving the serialized signals corresponding to the processed data packets onto the physical interconnect. In one embodiment, the mapping of the symbol differences between different communication protocols can be performed in the frame generator 432.

如所见的,能够给这一物理互连提供多条个体信道或通道。在所示的实施例中,每个物理信道或通道能够包括其自身的独立PHY单元传输电路4450-445j,在一个实施例中其每一个可以是根据MIPI规范的M-PHY单元的部分。如本文所述,不同于传输器与接收器的数目匹配的PCIeTM,可以存在不同数目的传输器和接收器。因此如所见的,每个传输电路445能够包括用于根据8b/10b编码对符号进行编码的编码器、把已编码的符号串行化的串行器和将信号驱动到物理互连上的驱动器。如进一步所见的,每个通道或信道可以与逻辑单元4400-440j相关联,其可以是根据用于M-PHY的MIPI规范的逻辑电路,用于因此经由对应的通道管理物理通信。As can be seen, multiple individual channels or lanes can be provided for this physical interconnect. In the embodiment shown, each physical channel or lane can include its own independent PHY unit transmission circuit 4450-445j , each of which can be part of an M-PHY unit according to the MIPI specification in one embodiment. As described herein, unlike PCIe , where the number of transmitters and receivers matches, there can be different numbers of transmitters and receivers. Therefore, as can be seen, each transmission circuit 445 can include an encoder for encoding symbols according to 8b/10b encoding, a serializer for serializing the encoded symbols, and a driver for driving the signal onto the physical interconnect. As further seen, each lane or lane can be associated with a logic unit 4400-440j , which can be a logic circuit according to the MIPI specification for M-PHY, for managing physical communication via the corresponding lane.

要注意,这些多个通道能够被配置为以不同的速率操作,且实施例可以包括不同数目的此类通道。另外,可以在传输及接收方向上具有不同数目的通道及通道速度。因此,尽管给定的逻辑单元440控制PHY445的对应通道的操作,但要理解,物理层传输控制器435可以用于控制经由物理互连的整体信息传输。要注意,在某些情况下,一些非常基础的功能由与每个通道相关联的不同逻辑执行;对于能够将通道分配给多于单个链路的情形,可以提供多个LTSSM实例;对于训练的链路,在控制收发器和接收器侧两者的每个组件中存在单个LTSSM。这种整体控制能够包括功率控制、链路速度控制、链路宽度控制、初始化等。It is noted that these multiple channels can be configured to operate at different rates, and embodiments may include different numbers of such channels. In addition, there may be different numbers of channels and channel speeds in the transmit and receive directions. Thus, while a given logic unit 440 controls the operation of a corresponding channel of a PHY 445, it is understood that the physical layer transmission controller 435 may be used to control the overall transmission of information via the physical interconnect. It is noted that in some cases, some very basic functions are performed by different logic associated with each channel; for situations where channels can be assigned to more than a single link, multiple LTSSM instances may be provided; for trained links, there is a single LTSSM in each component that controls both the transceiver and receiver sides. This overall control can include power control, link speed control, link width control, initialization, etc.

仍然参考图4,经由物理互连接收的到来信息可以类似地通过物理层430、数据链路层420和事务层410经由这些层的接收机制传递。在图4中所示的实施例中,每个PHY单元可以进一步包括接收电路,即接收电路4550-455k,其在所示的实施例中接收电路4550-455k能够针对物理链路的每个通道存在。要注意,在这个实施例中,接收器电路455和传输器电路445的数目不同。如所见的,这一物理电路能够包括用于接收到来信息的输入缓冲、对该信息进行解串行的解串行器以及可以用于解码以8b/10b编码传送的符号的解码器。如进一步所见的,每个通道或信道可以与逻辑单元4500-450k相关联,逻辑单元4500-450k可以是根据给定规范(例如用于M-PHY的MIPI规范)的逻辑电路,用于因此管理经由对应通道的物理通信。Still referring to FIG. 4 , incoming information received via the physical interconnect can similarly be passed through the physical layer 430, the data link layer 420, and the transaction layer 410 via the receiving mechanisms of these layers. In the embodiment shown in FIG. 4 , each PHY unit can further include a receiving circuit, namely a receiving circuit 455 0 -455 k , which in the embodiment shown can exist for each lane of the physical link. It should be noted that in this embodiment, the number of receiver circuits 455 and transmitter circuits 445 is different. As seen, this physical circuit can include an input buffer for receiving incoming information, a deserializer for deserializing the information, and a decoder that can be used to decode symbols transmitted in 8b/10b encoding. As further seen, each lane or channel can be associated with a logical unit 450 0 -450 k , which can be a logical circuit according to a given specification (e.g., a MIPI specification for M-PHY) for managing physical communication via the corresponding lane.

可以继而将所解码的符号提供给物理层430的逻辑部分,其如所见可以包括弹性缓冲460,其中所述弹性缓冲容纳所述链路上这个组件与另一组件之间的时钟差;要注意,在各个实施方式中它的位置可以移位成例如在8b/10b解码器之下,或与通道抗扭斜缓冲组合,并存储到来的已解码符号。继而,该信息可以被提供给宽度/位置映射器462,由那里提供给跨多条通道执行抗扭斜的通道抗扭斜缓冲464,并且对于多通道情形,缓冲464能够处理通道间信号扭斜的差异以重新对准字节。继而,经由抗扭斜的信息可以被提供给帧处理器466,其可以消除到来信息中存在的帧。如所见的,物理层接收控制器465可以耦接到并控制弹性缓冲460、映射器462、抗扭斜缓冲464和帧处理器466。The decoded symbols may then be provided to the logic portion of the physical layer 430, which as seen may include a resilient buffer 460, wherein the resilient buffer accommodates clock differences between this component and another component on the link; note that in various embodiments its location may be shifted to, for example, below the 8b/10b decoder, or combined with a channel deskew buffer, and store incoming decoded symbols. This information may then be provided to a width/position mapper 462, from which it may be provided to a channel deskew buffer 464 that performs deskew across multiple channels, and for a multi-channel scenario, the buffer 464 may be able to handle differences in signal skew between channels to realign bytes. The information via deskew may then be provided to a frame processor 466, which may eliminate frames present in the incoming information. As seen, a physical layer receive controller 465 may be coupled to and control the resilient buffer 460, the mapper 462, the deskew buffer 464, and the frame processor 466.

仍然参考图4,可以将恢复的数据包提供给接收消息机构478及错误检测器、序列检查器和链路级重试(LLR)请求器475。这一电路可以对到来的数据包执行错误校正检查,例如通过执行CRC校验和操作、执行排序检查并请求对错误接收的数据包进行链路级重试。接收消息机构478和错误检测器/请求器475两者都可以处于数据链路接收控制器480的控制下。Still referring to FIG4, the recovered data packets can be provided to a receive message mechanism 478 and an error detector, sequence checker, and link level retry (LLR) requester 475. This circuit can perform error correction checks on incoming data packets, such as by performing a CRC checksum operation, performing an ordering check, and requesting a link level retry for erroneously received data packets. Both the receive message mechanism 478 and the error detector/requester 475 can be under the control of a data link receive controller 480.

仍然参考图4,因此在单元475中处理的数据包可以提供给事务层410,并且更具体地提供给流控制器485,其对这些数据包执行流控制以将它们提供给数据包解释器495。数据包解释器495执行对所述数据包的解释,并将它们转发给选定的目的地,例如给定的内核或该接收器的其它逻辑电路。虽然图4的实施例中以这一高级别示出,但要理解,本发明的范围不限于此。Still referring to FIG4, the packets processed in unit 475 may thus be provided to transaction layer 410, and more specifically to flow controller 485, which performs flow control on the packets to provide them to packet interpreter 495. Packet interpreter 495 performs interpretation of the packets and forwards them to a selected destination, such as a given core or other logic circuitry of the receiver. Although shown at this high level in the embodiment of FIG4, it is to be understood that the scope of the present invention is not limited in this regard.

要注意,PHY440可以使用与由用于传输的PCIeTM所支持的相同的8b/10b编码。所述8b/10b编码方案提供不同于用来表示字符的数据符号的特殊符号。这些特殊符号可以用于PCIeTM规范的物理层章节中所描述的各种链路管理机制。在MIPI M-PHY规范中描述了M-PHY对附加特殊符号的使用。实施例可以提供PCIeTM与MIPI M-PHY符号之间的映射。It should be noted that PHY440 can use the same 8b/10b encoding supported by PCIe TM for transmission. The 8b/10b encoding scheme provides special symbols that are different from the data symbols used to represent characters. These special symbols can be used for various link management mechanisms described in the physical layer chapter of the PCIe TM specification. The use of additional special symbols by M-PHY is described in the MIPI M-PHY specification. Embodiments can provide mapping between PCIe TM and MIPI M-PHY symbols.

现在参考表1,示出了根据本发明一个实施例的PCIeTM符号至M-PHY符号的实例性映射。因此,这个表示出根据本发明一个实施例的用于聚合的协议栈的特殊符号的映射。Referring now to Table 1, an exemplary mapping of PCIe TM symbols to M-PHY symbols is shown in accordance with one embodiment of the present invention. Thus, this table illustrates the mapping of special symbols for the aggregated protocol stack in accordance with one embodiment of the present invention.

表1Table 1

所述8b/10b解码规则与针对PCIeTM规范定义的相同。8b/10b规则的唯一例外是当检测到TAIL OF BURST时,这是违反8b/10b规则的特定序列。根据各实施例,物理层430能眵向数据链路层420提供在TAIL OF BURST期间遭遇的任何错误的通知。The 8b/10b decoding rules are the same as those defined for the PCIe TM specification. The only exception to the 8b/10b rules is when a TAIL OF BURST is detected, which is a specific sequence that violates the 8b/10b rules. According to various embodiments, the physical layer 430 can provide notification to the data link layer 420 of any errors encountered during the TAIL OF BURST.

在一个实施例中,符号的成帧及应用于通道可以如PCIeTM规范中所定义的,同时数据加扰能够与PCIeTM规范中所定义的相同。然而,要注意,不扰乱根据MIPI规范的通信的PREPARE阶段中传输的数据符号。In one embodiment, the framing of symbols and application to lanes can be as defined in the PCIe TM specification, while data scrambling can be the same as defined in the PCIe TM specification. However, it is noted that data symbols transmitted in the PREPARE phase of communications according to the MIPI specification are not scrambled.

关于链路初始化和训练,链路管理器可以提供如上讨论的能眵包括一条或多条通道的信道的链路的配置及初始化、对正常数据传送的支持、对从链路错误恢复时状态转换的支持和由低功率状态的端口重启。With respect to link initialization and training, the link manager may provide configuration and initialization of a link that may include one or more channels as discussed above, support for normal data transfer, support for state transitions when recovering from link errors, and port restart from low power states.

为了实现此类操作,下列物理及链路相关的特征可以提前是已知的(例如初始化之前):PHY参数(例如,包括初始链路速度和支持的速度;以及初始链路宽度和支持的链路宽度)。To enable such operations, the following physical and link-related characteristics may be known in advance (eg, prior to initialization): PHY parameters (eg, including initial link speed and supported speeds; and initial link width and supported link widths).

在一个实施例中,训练可以包括各种操作。此类操作可以包括:以配置的链路速度和宽度初始化该链路、每通道比特锁、每通道符号锁、通道极性以及用于多通道链路的通道至通道抗扭斜。这样,训练能够发现通道极性,并据此执行调整。然而,要注意,根据本发明实施例的链路训练可以不包括链路数据速率及宽度协商、链路速度及宽度退化。相反如上所述,一旦初始化链路,两实体都提前知道初始链路宽度及速度,并且因此能够避免与协商相关联的时间及计算代价。In one embodiment, training may include various operations. Such operations may include: initializing the link with the configured link speed and width, per-channel bit lock, per-channel symbol lock, channel polarity, and channel-to-channel anti-torsion deskew for multi-channel links. In this way, training can discover channel polarity and perform adjustments accordingly. However, it is noted that link training according to embodiments of the present invention may not include link data rate and width negotiation, link speed and width degradation. In contrast, as described above, once the link is initialized, both entities know the initial link width and speed in advance, and therefore can avoid the time and computational costs associated with negotiation.

PCIeTM有序集能够用于下列修改:TS1及TS2有序集用于方便IP再使用,但忽略所述训练有序集的许多字段。而且,不使用快速训练序列。可以保留电气空闲有序集(EIOS)以方便IP再使用,如跳跃OS那样,但跳跃OS的频率可以出于与根据PCIeTM规范的不同速度。还要注意,数据流有序集和符号可以与根据PCIeTM规范的相同。PCIe TM ordered sets can be used with the following modifications: TS1 and TS2 ordered sets are used to facilitate IP reuse, but many fields of the training ordered sets are ignored. Also, fast training sequences are not used. Electrical idle ordered sets (EIOS) can be retained to facilitate IP reuse, as can hopping OS, but the frequency of hopping OS can be at a different speed than according to the PCIe TM specification. Also note that the data stream ordered sets and symbols can be the same as according to the PCIe TM specification.

传送下列事件以方便链路训练及管理:(1)存在,其能眵用来指示在链路的远程端上存在活跃的PHY;以及(2)配置准备,其被触发以指示完成PHY参数配置以及所述PHY以配置的配置文件准备操作。在一个实施例中,系类信息能够根据本发明实施例经由统一的边带信号传送。The following events are transmitted to facilitate link training and management: (1) Present, which can be used to indicate the presence of an active PHY at the remote end of the link; and (2) Configuration Ready, which is triggered to indicate completion of PHY parameter configuration and that the PHY is ready to operate with a configured profile. In one embodiment, the system information can be transmitted via a unified sideband signal in accordance with an embodiment of the present invention.

出于控制电气空闲情况的目的,PHY具有用于指示传输器正进入到电气空闲状态中的TAIL OF BURST序列。在一个实施例中,所述边带信道可以用于信号发送退出电气空闲。要注意,这一指示可以加上PHY抑制打破机制。可以将符号的OPENS序列作为EIOS传输以指示进入电气空闲状态。For the purpose of controlling the electrical idle condition, the PHY has a TAIL OF BURST sequence for indicating that the transmitter is entering the electrical idle state. In one embodiment, the sideband channel can be used to signal the exit from electrical idle. Note that this indication can be coupled with the PHY suppress break mechanism. The OPENS sequence of symbols can be transmitted as EIOS to indicate the entry into the electrical idle state.

在一些实施例中,未定义快速训练序列(FTS)。相反,PHY可以使用特定的物理层序列以用于从停机/睡眠状态退出至能够用来寻址比特锁、符号锁及通道至通道抗扭斜的突发状态。能够将少量FTS定义为针对鲁棒性的符号序列。数据流有序集的开始可以根据PCIeTM规范,如链路错误恢复那样。In some embodiments, a Fast Training Sequence (FTS) is not defined. Instead, the PHY may use a specific physical layer sequence for exiting from the shutdown/sleep state to a burst state that can be used to address bit lock, symbol lock, and channel-to-channel deskew. A small amount of FTS can be defined as a symbol sequence for robustness. The start of a data stream ordered set may be according to the PCIe TM specification, as is link error recovery.

关于链路数据速率,在各实施例中,所述链路初始化的初始数据速率可以是预定的数据速率。可以通过经历恢复状态发生从这一初始链路速度的数据速率改变。实施例可以支持非对称链路数据速率,其中允许相反方向上数据速率不同。Regarding link data rates, in various embodiments, the initial data rate of the link initialization may be a predetermined data rate. A data rate change from this initial link speed may occur by going through a recovery state. Embodiments may support asymmetric link data rates, where different data rates in opposite directions are allowed.

在一个实施例中,所支持的链路宽度可以根据PCIeTM规范中的那些。另外,如上所述,因为所述链路宽度是预定的,实施例可以不支持用于协商链路宽度的协议,并且因此可以简化链路训练。当然,实施例可以为相反方向上的非对称链路宽度提供支持。同时,针对链路的每个方向配置的初始链路宽度和初始数据速率可以提前在训练开始前是已知的。In one embodiment, the supported link widths may be in accordance with those in the PCIe TM specification. Additionally, as described above, because the link widths are predetermined, embodiments may not support protocols for negotiating link widths, and thus link training may be simplified. Of course, embodiments may provide support for asymmetric link widths in opposite directions. At the same time, the initial link width and initial data rate configured for each direction of the link may be known in advance before training begins.

关于所述PHY单元的物理端口,不要求xN端口形成xN(其中N能够是32、16、12、8、4、2和1)链路以及x1链路的能力,并且xN端口形成N与1间任意链路宽度的能力是可选的。这一行为的实例包括x16端口,其能够仅配置成唯一链路,但所述链路的宽度能被配置为x12、x8、x4、x2以及x16和x1的要求宽度。这样,寻求使用根据本发明实施例的协议栈实施设备的设计者能够以允许两个不同组件满足上述要求的方式连接这些组件间的端口。如果组件间的端口以不符合由组件的端口描述/数据表所定义的预期用途的方式连接,则行为未定义。With respect to the physical ports of the PHY unit, the ability of an xN port to form an xN (where N can be 32, 16, 12, 8, 4, 2, and 1) link as well as an x1 link is not required, and the ability of an xN port to form an arbitrary link width between N and 1 is optional. An example of this behavior includes an x16 port, which can be configured as only one link, but the width of the link can be configured to the required width of x12, x8, x4, x2, as well as x16 and x1. In this way, designers seeking to implement devices using a protocol stack according to an embodiment of the present invention can connect ports between these components in a manner that allows two different components to meet the above requirements. If ports between components are connected in a manner that does not conform to the intended use defined by the component's port description/data sheet, the behavior is undefined.

另外,不禁用将一个端口分为两个或更多链路的能力。如果这样的支持适于给定设计,则所述端口能够被配置为在训练期间支持特定宽度。这一行为的实例将是可以能够配置两条x8链路、4条x4链路或16条x1链路的x16端口。Additionally, the ability to split a port into two or more links is not disabled. If such support is appropriate for a given design, the port can be configured to support a specific width during training. An example of this behavior would be a x16 port that could be configured with two x8 links, 4 x4 links, or 16 x1 links.

当使用8b/10b编码时,如PCIeTM规范中的无歧义通道至通道抗扭斜机制是在训练序列或SKP有序集期间接收的有序集的COM符号,因为在配置的链路的所有通道上同时传输有序集。在HS-BURST的同步序列期间传输的MK0符号可以用于通道-通道抗扭斜。When 8b/10b encoding is used, the unambiguous lane-to-lane deskew mechanism as in the PCIe TM specification is the COM symbol of the ordered set received during the training sequence or SKP ordered set, since the ordered set is transmitted simultaneously on all lanes of the configured link. The MK0 symbol transmitted during the sync sequence of the HS-BURST can be used for lane-to-lane deskew.

如上参考图4所简述的,链路训练和状态管理器能够被配置为执行各种操作,包括将PCIeTM协议栈的上层适配至不同协议的下层PHY单元。另外,这一链路管理器能够配置并管理单个或多个通道,并可以包括对如下各项的支持:对称链路带宽、具有PCIeTM事务及数据链路层的状态机的兼容性、链路训练、可选对称链路停机状态和对用于鲁棒通信的边带信号的控制。因此,实施例提供了利用有限的修改实施PCIeTM事务及数据链路层以计及不同的链路速度和非对称链路。另外,使用根据本发明实施例的链路管理器,能够实现对多通道的支持、非对称链路配置、边带统一和动态带宽缩放,同时进一步实现不同通信协议层之间的桥接。As briefly described above with reference to Figure 4, link training and state manager can be configured to perform various operations, including the upper layer of the PCIe TM protocol stack being adapted to the lower PHY unit of different protocols. In addition, this link manager can configure and manage single or multiple channels, and can include support for the following: symmetric link bandwidth, compatibility of the state machine with PCIe TM affairs and data link layer, link training, optional symmetric link down state and control of the sideband signal for robust communication. Therefore, the embodiment provides the implementation of PCIe TM affairs and data link layer with limited modification to account for different link speeds and asymmetric links. In addition, using the link manager according to an embodiment of the present invention, it is possible to realize support for multi-channel, asymmetric link configuration, sideband unification and dynamic bandwidth scaling, while further realizing the bridging between different communication protocol layers.

现在参考图5,示出了用于链路训练状态机的状态图500,其能够是根据本发明实施例的链路管理器的部分。如图5中所示,链路训练能眵开始于检测状态510。这一状态在上电复位时发生,并且适用于上游及下游端口。复位完成后,所有配置的通道可以转换至给定状态,即HIBERN8状态,所述链路的每一端在该状态上能够使用边带信道例如经由PRESENCE信号发信号。要注意,在这个检测状态中,可以在所有通道上驱动高阻抗信号,即DIF-Z信号。Referring now to FIG. 5 , a state diagram 500 for a link training state machine is shown, which can be part of a link manager according to an embodiment of the present invention. As shown in FIG. 5 , link training can begin in a detection state 510. This state occurs at power-on reset and is applicable to both upstream and downstream ports. After reset is complete, all configured channels can transition to a given state, the HIBERN8 state, in which each end of the link can signal using a sideband channel, such as via a PRESENCE signal. Note that in this detection state, a high impedance signal, i.e., a DIF-Z signal, can be driven on all channels.

因此,当信号发送并接收PRESENCE事件时,控制由检测状态510传递至配置状态520,并在所有配置的通道上驱动这一高阻抗。在配置状态520中,能够配置PHY参数,且一旦在所述链路每个端的所有配置通道上完成,则能眵例如使用边带互连来指示配置准备信号(CFG-RDY),同时在所有通道上维持高阻抗。Thus, when the PRESENCE event is signaled and received, control passes from the Detect State 510 to the Configuration State 520 and drives this high impedance on all configured lanes. In the Configuration State 520, the PHY parameters can be configured, and once completed on all configured lanes at each end of the link, a configuration ready signal (CFG-RDY) can be indicated, for example, using a sideband interconnect, while maintaining high impedance on all lanes.

因此一旦经由边带互连发送并接收这一配置准备指示,控制就传递至停机状态530。即在这个L0.STALL状态中,PHY转换至STALL状态,并继续在所有配置通道上驱动高阻抗。如所见的,取决于数据是否可用于传输或接收,控制能够传递至活跃状态L1(状态530)、低功率状态(L1状态540)、深低功率状态(L1.OFF状态545)或返回配置状态520。Therefore, once this configuration ready indication is sent and received via the sideband interconnect, control is passed to the shutdown state 530. That is, in this L0.STALL state, the PHY transitions to the STALL state and continues to drive high impedance on all configuration channels. As can be seen, depending on whether data is available for transmission or reception, control can be passed to the active state L1 (state 530), the low power state (L1 state 540), the deep low power state (L1.OFF state 545) or returned to the configuration state 520.

因此,在STALL状态中,能够在所有配置的通道上传送负驱动信号DIF-N。然后,当由启动器引导时,可以开始BURST序列。因此,在传输MARKER0(MK0)符号后,控制传递至活跃状态530。Thus, in the STALL state, the negative drive signal DIF-N can be transmitted on all configured channels. Then, when directed by the initiator, the BURST sequence can be started. Thus, after the MARKER0 (MK0) symbol is transmitted, control passes to the active state 530.

在一个实施例中,接收器可以检测在所有配置的通道上从STALL状态的退出,并根据例如MIPI规范执行比特锁和符号锁。在具有多通道链路的实施例中,这一MK0符号可以用于建立通道至通道抗扭斜。In one embodiment, the receiver may detect the exit from the STALL state on all configured lanes and perform bit lock and symbol lock according to, for example, the MIPI specification.In an embodiment with a multi-lane link, this MK0 symbol may be used to establish lane-to-lane deskew.

相反,当被引导至低功率状态(即L1状态540)时,所有配置的通道可以转换至SLEEP状态。继而当被引导至更深低功率状态(即L1.OFF状态545)时,所有配置的通道可以转换至HIBERN8状态。最后,当被引导回至配置状态时,类似地,所有配置的通道转换至HIBERN8状态。Conversely, when directed to a low power state (i.e., L1 state 540), all configured channels may transition to the SLEEP state. Then, when directed to a deeper low power state (i.e., L1.OFF state 545), all configured channels may transition to the HIBERN8 state. Finally, when directed back to the configuration state, similarly, all configured channels transition to the HIBERN8 state.

仍然参考图5,对于活跃数据传送,控制因此传递至活跃状态550。特别地,这是链路及事务层开始使用数据链路层数据包(DLLP)和TLP交换信息的状态。这样,能够发生有效负载传送,并在此类传送结束时,能够传送TAIL OFBURST符号。Still referring to Figure 5, for active data transfers, control is thus passed to the active state 550. In particular, this is the state where the link and transaction layers begin to exchange information using data link layer packets (DLLPs) and TLPs. In this way, payload transfers can occur, and at the end of such transfers, a TAIL OFBURST symbol can be transmitted.

如所见的,控制能眵由这一活跃状态传递回至STALL状态530、至恢复状态560(例如响应于接收器错误,或当以另外方式被引导时)、或至更深的低功率(例如,L2)状态570。As seen, control energy passes from this active state back to the STALL state 530 , to the RECOVERY state 560 (eg, in response to a receiver error, or when otherwise directed), or to a deeper low power (eg, L2) state 570 .

为了返回到所述停机状态,传输器可以在所有配置的通道上发送EIOS序列,后边是TAIL of BURST指示。To return to the shutdown state, the transmitter may send the EIOS sequence on all configured channels, followed by the TAIL of BURST indication.

如果错误发生或以另外方式引导,控制还能够传递至恢复状态560。此处,转换至恢复导致所有配置的通道在两个方向上进入STALL状态。为了实现这个,能眵在边带互连上发送GO TO STALL信号,且这个信号的传输器能够等待响应。当这个停机信号已被发送并接收时,如所述边带互连上接收的GO TOSTALL指示所指示的,控制传递回到STALL状态530。要注意这个恢复状态因此使用边带建立所述协议以协调同时进入到STALL状态中。If an error occurs or is otherwise directed, control can also pass to the recovery state 560. Here, the transition to recovery causes all configured channels to enter the STALL state in both directions. To achieve this, a GO TO STALL signal can be sent on the sideband interconnect, and the transmitter of this signal can wait for a response. When this stall signal has been sent and received, as indicated by a GO TO STALL indication received on the sideband interconnect, control passes back to the STALL state 530. Note that this recovery state thus uses the sideband establishment protocol to coordinate simultaneous entry into the STALL state.

关于低功率状态L1和L1.OFF,操作根据状态540和545。特别地,控制从STALL状态传递至L1低功率状态540,以使得能够将PHY置于SLEEP状态中。在这个状态中,能眵在所有配置的通道上驱动负驱动信号,即DIF-N信号。当被引导以退出所述状态时,控制传递回至STALL状态,例如在边带互连上信号发送PRESENCE信号。With respect to the low power states L1 and L1.OFF, operation is according to states 540 and 545. In particular, control is passed from the STALL state to the L1 low power state 540 to enable the PHY to be placed in the SLEEP state. In this state, the negative drive signal, i.e., the DIF-N signal, can be driven on all configured channels. When directed to exit the state, control is passed back to the STALL state, for example, by signaling a PRESENCE signal on the sideband interconnect.

还如所见的,当满足所有L1.OFF条件时,能够进入更深低状态L1.OFF。在一个实施例中,这些条件可以包括完全功率门控或关掉到PHY单元的功率。在这一更深低功率状态中,可以将PHY置于HIRERN8状态中,并且在所有配置的通道上驱动高阻抗信号。为了退出这一状态,经由在所有配置的通道上驱动DIF-N来控制传递回至STALL状态。As also seen, a deeper low state L1.OFF can be entered when all L1.OFF conditions are met. In one embodiment, these conditions may include full power gating or turning off power to the PHY unit. In this deeper low power state, the PHY may be placed in a HIRERN8 state and drive high impedance signals on all configured channels. To exit this state, control is passed back to the STALL state via driving DIF-N on all configured channels.

进一步如图5中所见的,可以存在附加状态,即再进一步更深的低功率状态(L2)570,当准备关掉功率时,能眵从活跃状态进入该再进一步更深的低功率状态(L2)570。在一个实施例中,这个状态可以与PCIeTM规范的那个相同。5, there may be an additional state, a further deeper low power state (L2) 570, which can be entered from the active state when power is ready to be turned off. In one embodiment, this state may be the same as that of the PCIe specification.

现在参考表2,示出了根据PCIeTM规范的LTSSM状态与根据本发明实施例的对应M-PHY状态之间的映射。Referring now to Table 2, there is shown a mapping between LTSSM states according to the PCIe specification and corresponding M-PHY states according to an embodiment of the present invention.

表2Table 2

如上参考图2所述的,实施例提供一种能眵用于链路管理以及可选带内支持的统一边带机制。以这种方式,使用边带电路和互连,链路管理及控制能够独立于用于主互连的物理层的更高速(以及更大功耗)电路而发生。进一步以这种方式,当与主互连相关联的PHY单元的部分被断电时,能够使用这一边带信道,实现功耗减少。而且,在训练主互连之前能眵使用这一统一边带机制,并且当主互连上出现故障时也可以使用。As described above with reference to FIG. 2 , an embodiment provides a unified sideband mechanism that can be used for link management and optional in-band support. In this manner, using sideband circuits and interconnects, link management and control can occur independently of the higher speed (and more power-hungry) circuits of the physical layer used for the primary interconnect. Further in this manner, this sideband channel can be used when portions of the PHY unit associated with the primary interconnect are powered down, resulting in reduced power consumption. Moreover, this unified sideband mechanism can be used prior to training the primary interconnect, and can also be used when a fault occurs on the primary interconnect.

再进一步地,经由这一统一边带机制,能够存在每个方向上的单个互连,例如差分线对,从而减少引脚数并实现增加新能力。实施例还可以实现更快、更鲁棒的时钟/功率门控,并能使用这一链路消除在例如PCIeTM边带机制之类的常规协议中的歧义。Still further, via this unified sideband mechanism, there can be a single interconnect in each direction, such as a differential pair, thereby reducing pin count and enabling the addition of new capabilities. Embodiments can also enable faster, more robust clock/power gating, and can use this link to eliminate ambiguity in conventional protocols such as the PCIe TM sideband mechanism.

但本发明的范围不限于此,在不同实施例中,边带互连(例如,图2的边带互连270)能够被实施为单线双向边带信号、双线双向单向信号集、低速带内信号发送机制(诸如使用处于低功率脉冲宽度调制(PWM)模式中的M-PHY可用的)、或实施为带内高速信号发送机制,诸如物理层有序集或DLLP。However, the scope of the present invention is not limited in this regard, and in different embodiments, the sideband interconnect (e.g., sideband interconnect 270 of FIG. 2) can be implemented as a single-wire bidirectional sideband signal, a two-wire bidirectional unidirectional signal set, a low-speed in-band signaling mechanism (such as available using an M-PHY in a low-power pulse width modulation (PWM) mode), or as an in-band high-speed signaling mechanism, such as a physical layer ordered set or DLLP.

作为实例而不是出于限制的目的,可以支持各种物理层方法。当使用边带互连时,第一种方法可以是提供最小引脚数的单线双向边带信号。在某些实施例中,能够在现有的边带上多路复用这一信号,例如PERST#、WAKE#或CLKREQ信号。第二种方法可以是双线双向单向信号集,其相较于单线方法可以更简单并且某种程度上更高效,但代价是附加引脚。能够在现有的边带上多路复分这一实施方式,例如用于主机设备的PERST#和用于设备主机的CLKREQ#(在这个实例中,维持现有的信号方向性,简化双模式实施方式)。第三种方法可以是低速带内信号发送机制,诸如M-PHY LS PWM模式,其相对于边带机制减少了引脚数,并可以仍然支持类似的低功率级别。因为这个操作模式与高速操作互斥,所以它能够与诸如物理层有序集或DLLP之类的高速带内机制组合。尽管这种方法不是低功率的,但它最大化了与现有高速IO的共性。当与低速带内信号发送组合时,这种方法可以提供良好的低功率解决方案。As an example and not for the purpose of limitation, various physical layer methods can be supported. When using sideband interconnects, the first method can be a single-wire bidirectional sideband signal that provides a minimum number of pins. In some embodiments, this signal can be multiplexed on an existing sideband, such as a PERST#, WAKE#, or CLKREQ signal. The second method can be a two-wire bidirectional unidirectional signal set, which can be simpler and more efficient to some extent than a single-wire method, but at the cost of additional pins. This implementation can be multiplexed on an existing sideband, such as PERST# for a host device and CLKREQ# for a device host (in this example, the existing signal directionality is maintained, simplifying the dual-mode implementation). The third method can be a low-speed in-band signaling mechanism, such as M-PHY LS PWM mode, which reduces the number of pins relative to the sideband mechanism and can still support similar low power levels. Because this operating mode is mutually exclusive with high-speed operation, it can be combined with high-speed in-band mechanisms such as physical layer ordered sets or DLLPs. Although this method is not low-power, it maximizes commonality with existing high-speed IO. When combined with low-speed in-band signaling, this approach can provide a good low-power solution.

为了在给定系统中实现这些配置中的一种或多种,能够提供语义层,其能够用于确定物理层以及策略层上方交换的信息的含义,该含义能够用于领会设备/平台级别的动作/反应。在一个实施例中,这些层可以存在于SB PHY单元中。To implement one or more of these configurations in a given system, a semantic layer can be provided that can be used to determine the meaning of information exchanged above the physical layer and the policy layer, which can be used to comprehend device/platform level actions/reactions. In one embodiment, these layers can exist in the SB PHY unit.

通过提供分层方法,实施例允许可以包括边带能力(由于简单性和/或低功率操作,其可以在某些实施方式中是优选的)及带内(其对于其它实施方式可以是优选的,例如避免需要附加引脚数)两者的不同物理层实施方式。By providing a layered approach, embodiments allow for different physical layer implementations that may include both sideband capabilities (which may be preferred in certain implementations due to simplicity and/or low power operation) and in-band (which may be preferred for other implementations, e.g., to avoid the need for additional pin count).

在一个实施例中,能够例如经由语义层将多个边带信号配置成用于经由统一边带机制(或带内机制)通信的单个数据包。在一个实施例中,下面的表3示出了在一个实施例中可以存在的各个信号。在所示的表中,由箭头示出信号的逻辑方向,其中上箭头被定义为至主机(例如,根联合体)的方向,并且下箭头被定义为至设备(例如,外围设备,诸如无线电解决方案)的方向。In one embodiment, multiple sideband signals can be configured, for example, via a semantic layer, into a single data packet for communication via a unified sideband mechanism (or an in-band mechanism). In one embodiment, Table 3 below shows various signals that may be present in one embodiment. In the table shown, the logical direction of the signal is shown by an arrow, where an upper arrow is defined as the direction to a host (e.g., a root complex), and a lower arrow is defined as the direction to a device (e.g., a peripheral device such as a radio solution).

表3Table 3

设备存在↑Device exists↑

功率良好↓Power is good↓

断电↓Power off↓

参考时钟良好↓Reference clock is good↓

基础复位↓Basic reset↓

配置准备↑↓Configuration preparation↑↓

准备训练↑↓Prepare for training ↑↓

开始训练↑↓Start training↑↓

L1pg请求↑↓L1pg request↑↓

L1pg拒绝↑↓L1pg rejected↑↓

L1pg授权↑↓L1pg authorization↑↓

OBFF CPU活跃↓OBFF CPU active↓

OBFF DMA↓OBFF DMA↓

OBFF空闲↓OBFF Idle↓

唤醒↑Wake up ↑

握手的应答接收↑↓Handshake response reception↑↓

现在参考图6,示出了针对根据本发明实施例的边带机制的各个状态的流程图。如图6中所示的,这些各个状态可以关于根联合体(例如,主机控制操作)。状态图600可以提供经由所述主机对各个状态的控制。如所见的,操作开始于预引导状态610,在该状态中能够传送存在信号。要注意这种存在信号可以如上面关于链路管理操作所述的那样。然后,控制传递至引导状态620,在该状态中可以传送各种信号,即功率良好信号、复位信号、参考时钟状态信号和准备训练信号。要注意,所有这些信号能够经由单个数据包传送,其中这些信号中的每一个都可以对应于所述数据包的指示符或字段(例如,数据包的1比特指示符)。Now referring to Fig. 6, a flow chart for each state of the sideband mechanism according to an embodiment of the present invention is shown. As shown in Fig. 6, these various states can be about the root complex (e.g., host control operation). State diagram 600 can provide control of each state via the host. As seen, operation begins in pre-boot state 610, in which a presence signal can be transmitted. It should be noted that this presence signal can be as described above about link management operation. Then, control is passed to boot state 620, in which various signals can be transmitted, i.e., power good signal, reset signal, reference clock state signal, and ready training signal. It should be noted that all these signals can be transmitted via a single data packet, wherein each of these signals can correspond to an indicator or field of the data packet (e.g., a 1-bit indicator of the data packet).

仍然参考图6,控制接下来传递至活跃状态630,其中系统可以处于活跃状态(例如,S0),对应设备(例如,下游设备可以是活跃设备状态(例如,D0)并且链路可以处于活跃状态、停机或低功率状态(例如,L0、L0s或L1)。如所见的,在这个状态中,可以传送各种信号,包括OBFF信号、时钟请求信号、参考时钟状态、请求L0信号和准备训练信号。Still referring to FIG. 6 , control next passes to active state 630 , where the system may be in an active state (e.g., S0 ), a corresponding device (e.g., a downstream device may be in an active device state (e.g., D0 ) and a link may be in an active state, shutdown, or low power state (e.g., L0 , L0s, or L1 ). As can be seen, in this state, various signals may be transmitted, including an OBFF signal, a clock request signal, a reference clock state, a request L0 signal, and a ready to train signal.

接下来,例如执行上述信号发送后,控制能够传递至低功率状态640。如所见的,在这个低功率状态640中,该系统可以处于活跃状态,同时设备可以处于相对较低延迟的低功率状态(例如,D3热)。另外,所述链路可以处于给定的低功率状态(例如,L2或L3)。如在这些状态中所见的,经由统一边带数据包传送的信号可以包括唤醒信号、复位信号和功率良好信号。Next, for example, after performing the above-mentioned signaling, control can be transferred to a low power state 640. As can be seen, in this low power state 640, the system can be in an active state, while the device can be in a relatively low latency low power state (e.g., D3 hot). In addition, the link can be in a given low power state (e.g., L2 or L3). As can be seen in these states, the signals transmitted via the unified sideband packet can include a wake-up signal, a reset signal, and a power good signal.

当所述系统进入更深低功率状态时,能够进入第二低功率状态650(例如,当所述系统处于S0状态并且所述设备处于D3冷状态以及所述链路类似地处于L2或L3状态中时。如所见的,能够传送相同的唤醒、复位和功率良好信号。还在图6中所见的,在更深低功率状态660(例如,系统低功率状态S3)和设备低功率状态(例如,D3冷)以及相同的链路低功率状态L2及L3中能眵发生相同的信号。虽然示出了传递的这一特定边带信息集,但要理解,本发明的范围不限于此。When the system enters a deeper low power state, a second low power state 650 can be entered (e.g., when the system is in the S0 state and the device is in the D3 cold state and the link is similarly in the L2 or L3 state. As seen, the same wake-up, reset, and power good signals can be transmitted. As also seen in FIG. 6 , the same signals can occur in a deeper low power state 660 (e.g., system low power state S3) and a device low power state (e.g., D3 cold) as well as the same link low power states L2 and L3. While this particular set of sideband information being communicated is shown, understand that the scope of the present invention is not limited in this regard.

实施例因此提供了分层结构,具有能够相对于灵活性平衡简单性与低等待时间的延展性。以这种方式,能够用较少数目的信号代替现有的边带信号和附加的边带信号,并且在不增加更多引脚的情况下实现边带机制的未来扩展。Embodiments thus provide a hierarchical structure with extensibility that balances simplicity with low latency against flexibility. In this way, existing sideband signals and additional sideband signals can be replaced with a smaller number of signals, and future expansion of the sideband mechanism can be achieved without adding more pins.

现在参考图7,示出了一种根据本发明实施例的方法的流程图。如图7中所示,方法700可以用于经由聚合的协议栈传送数据,该聚合的协议栈包括一个通信协议的上层和不同的通信协议的下层,例如物理层。在所示的实例中,假设如上所述的聚合的协议栈,即具有PCIeTM协议的上事务及数据链路层和不同规范(例如MIPI规范)的物理层。当然,还可以存在使这两个通信协议能眵聚合为单个协议栈的附加逻辑,例如上面关于图4讨论的逻辑及电路。Referring now to FIG. 7 , a flow chart of a method according to an embodiment of the present invention is shown. As shown in FIG. 7 , a method 700 may be used to transmit data via an aggregated protocol stack, the aggregated protocol stack comprising an upper layer of a communication protocol and a lower layer of a different communication protocol, such as a physical layer. In the example shown, an aggregated protocol stack as described above is assumed, i.e., an upper transaction and data link layer having a PCIe TM protocol and a physical layer of a different specification (e.g., a MIPI specification). Of course, there may also be additional logic that enables the two communication protocols to be aggregated into a single protocol stack, such as the logic and circuits discussed above with respect to FIG. 4 .

如图7中所见的,方法700能眵开始于在第一通信协议的协议栈中接收第一事务(框710)。例如,诸如内核的根联合体的各种逻辑、其它执行引擎等寻求发送信息给另一设备。因此,这种信息可以传递至事务层。如所见的,控制传递至框720,其中事务能够被处理并提供给第二通信协议的PHY的逻辑部分。这种处理可以包括上面关于图4的流程所讨论的各种操作,其中能够发生接收数据、执行流控制、链路操作、打包操作等各种操作。另外,能够发生提供数据链路层数据包给PHY的各种操作。接下来,控制传递至框730,其中能够在PHY的逻辑部分中将这个第一事务转化为第二格式事务。例如,能够执行符号的任意转化(需要时)。另外,能够发生被执行以因此将所述事务转化为用于在所述链路上传输的格式的各种转换操作。因此,控制能眵传递至框740,其中能够经由链路将这个第二格式事务从PHY传送至设备。作为实例,第二格式事务能眵是线编码、串行化等之后的串行化数据。虽然在图7的实施例中以这一高级别示出,但要理解,本发明的范围不限于此。As seen in FIG. 7 , method 700 can begin by receiving a first transaction in a protocol stack of a first communication protocol (block 710). For example, various logic such as a root complex of a kernel, other execution engines, etc. seek to send information to another device. Therefore, such information can be passed to the transaction layer. As seen, control is passed to block 720, where the transaction can be processed and provided to the logic portion of the PHY of the second communication protocol. Such processing can include various operations discussed above with respect to the flow of FIG. 4 , wherein various operations such as receiving data, performing flow control, link operations, and packet operations can occur. In addition, various operations of providing data link layer data packets to the PHY can occur. Next, control is passed to block 730, wherein this first transaction can be converted into a second format transaction in the logic portion of the PHY. For example, any conversion of symbols (when necessary) can be performed. In addition, various conversion operations performed to thereby convert the transaction into a format for transmission on the link can occur. Therefore, control can be passed to block 740, wherein this second format transaction can be transmitted from the PHY to the device via the link. As an example, the second format transaction could be serialized data after line encoding, serialization, etc. While shown at this high level in the embodiment of FIG. 7 , understand the scope of the present invention is not limited in this regard.

现在参考图8,示出了一种根据本发明实施例的计算机系统中存在的组件的框图。如图8中所示,系统800能够包括许多不同的组件。这些组件能够被实施为IC、其部分、分立电子设备或适配到诸如计算机系统的母板或插入卡之类的电路板的其它模块,或实施为以另外方式合并在计算机系统的机箱内的组件。还要注意,图8的框图旨在示出计算机系统的许多组件的高级别视图。然而,要理解,在某些实施方式中可以存在附加组件,并且另外,在其它实施方式中可以发生所示组件的不同布置。Now referring to Fig. 8, a block diagram of a component present in a computer system according to an embodiment of the present invention is shown. As shown in Fig. 8, system 800 can include many different components. These components can be implemented as IC, its parts, discrete electronic devices or other modules adapted to circuit boards such as the motherboard or plug-in cards of the computer system, or implemented as components otherwise merged in the chassis of the computer system. It should also be noted that the block diagram of Fig. 8 is intended to illustrate the high-level view of many components of the computer system. However, it is to be understood that in some embodiments, additional components may exist, and in addition, different arrangements of the components shown may occur in other embodiments.

如图8中所见的,处理器810(其可以是诸如超低电压处理器的低功率多核处理器插槽)可以充当用于与所述系统的各种组件通信的主处理单元和中央集线器。这种处理器能够被实施为SoC。在一个实施例中,处理器810可以是基于架构CoreTM的处理器(诸如可从加州Santa Clara的英特尔公司获取的i3、i5、i7或另一此类处理器)。然而,要理解,在诸如苹果A5处理器的其它实施例中可以替代地存在诸如可从加州Sunnyvale的高级微设备公司(AMD)获取的其它低功率处理器、来自ARM公司控股有限公司的基于ARM的设计、或来自加州Sunnyvale的MIPS技术公司或它们的获许可者或采纳者的基于MIPS的设计。As seen in FIG8 , processor 810 (which may be a low-power multi-core processor socket such as an ultra-low voltage processor) may serve as the main processing unit and central hub for communicating with the various components of the system. Such a processor can be implemented as a SoC. In one embodiment, processor 810 may be based on A processor based on an Intel Core architecture (such as an i3, i5, i7, or another such processor available from Intel Corporation of Santa Clara, Calif.) may be used in conjunction with an A5 processor. However, it is to be understood that other low-power processors such as those available from Advanced Micro Devices (AMD) of Sunnyvale, Calif., an ARM-based design from ARM Holdings plc, or a MIPS-based design from MIPS Technologies, Inc. of Sunnyvale, Calif., or a licensee or adopter thereof, may instead be present in other embodiments such as the Apple A5 processor.

处理器810可以与系统存储器815通信,系统存储器815在实施例中能通过多个存储器设备实施以提供给定量的系统存储器。作为实例,该存储器能够根据联合电子设备工程会议(JEDEC)的基于低功率双数据速率(LPDDR)的设计,诸如根据JEDEC JESD 209-2E的当前LPDDR2标准(2009年4月出版),或称作LPDDR3的、将提供对LPDDR2的扩展以增加带宽的下一代LPDDR标准。作为实例,可以存在2/4/8千兆字节(GB)的系统存储器,并能经由一个或多个存储器互连耦接到处理器810。在各种实施方式中,个体存储器设备能够具有不同的封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(QDP)。这些设备在一些实施例中能够直接被焊接到母板上以提供低外形解决方案,而在其它实施例中,所述设备能够配置为一个或多个存储模块,其继而能眵由给定的连接器耦接到母板。The processor 810 can communicate with a system memory 815, which can be implemented in an embodiment through multiple memory devices to provide a certain amount of system memory. As an example, the memory can be based on a low power double data rate (LPDDR) design based on the Joint Electron Device Engineering Conference (JEDEC), such as the current LPDDR2 standard (published in April 2009) according to JEDEC JESD 209-2E, or the next generation LPDDR standard called LPDDR3, which will provide an extension to LPDDR2 to increase bandwidth. As an example, there can be 2/4/8 gigabytes (GB) of system memory and can be coupled to the processor 810 via one or more memory interconnects. In various embodiments, individual memory devices can have different package types, such as a single die package (SDP), a dual die package (DDP), or a quad die package (QDP). These devices can be directly soldered to the motherboard in some embodiments to provide a low profile solution, while in other embodiments, the devices can be configured as one or more memory modules, which can then be coupled to the motherboard by a given connector.

为了提供信息(诸如数据、应用、一个或多个操作系统等)的持续存储,海量存储器820也可以耦接到处理器810。在各实施例中,为了实现更薄和更轻的系统设计,以及为了改进系统响应性,这种海量存储器可以经由SSD实施。然而,在其它实施例中,海量存储器可以主要使用硬盘驱动器(HDD)来实施,其中较少量SSD存储器充当SSD高速缓存从而实现在关机事件期间背景状态和其它此类信息的非易失性存储,以使得在重启系统活动时能够发生快速上电。图8中还示出,闪存设备822可以耦接到处理器810,例如经由串行外围接口(SPI)。这个闪存设备可以提供包括基本输入/输出软件(BIOS)以及该系统的其它固件的系统软件的非易失性存储。In order to provide continuous storage of information (such as data, applications, one or more operating systems, etc.), mass storage 820 can also be coupled to processor 810. In various embodiments, in order to realize thinner and lighter system design, and in order to improve system responsiveness, this mass storage can be implemented via SSD. However, in other embodiments, mass storage can be mainly implemented using hard disk drive (HDD), wherein a small amount of SSD memory acts as SSD cache to realize non-volatile storage of background state and other such information during shutdown events, so that fast power-on can occur when restarting system activities. Also shown in Figure 8, flash memory device 822 can be coupled to processor 810, for example, via serial peripheral interface (SPI). This flash memory device can provide non-volatile storage of system software including basic input/output software (BIOS) and other firmware of the system.

系统800内可以存在各种输入/输出(IO)设备。图8的实施例中特别示出了显示器824,其可以是在机箱的盖部内配置的高分辨率LCD或LED面板。这个显示器面板还可以提供触摸屏825,例如外部适配于所述显示器面板上以使得经由用户与这一触摸屏的交互,用户输入能够被提供给系统以实现期望的操作,例如关于信息显示、信息访问等。在一个实施例中,显示器824可以经由能够被实施为高性能图形互连的显示器互连耦接到处理器810。触摸屏825可以经由另一互连耦接到处理器810,其在一个实施例中能够为I2C互连。如图8中进一步所示,除了触摸屏825,通过触摸方式的用户输入还能经由触摸板830发生,触摸板830可以配置在所述机箱内,并还可以耦接到与触摸屏825相同的I2C互连。Various input/output (IO) devices may be present within the system 800. A display 824 is particularly shown in the embodiment of FIG. 8 , which may be a high-resolution LCD or LED panel configured within the cover of the chassis. This display panel may also provide a touch screen 825, for example externally adapted to the display panel so that user input can be provided to the system to achieve desired operations, such as information display, information access, etc., via user interaction with this touch screen. In one embodiment, the display 824 may be coupled to the processor 810 via a display interconnect that may be implemented as a high-performance graphics interconnect. The touch screen 825 may be coupled to the processor 810 via another interconnect, which in one embodiment may be an I 2 C interconnect. As further shown in FIG. 8 , in addition to the touch screen 825, user input by touch may also occur via a touch pad 830, which may be configured within the chassis and may also be coupled to the same I 2 C interconnect as the touch screen 825.

出于感知计算和其它目的,各种传感器可以存在于所述系统内,并能以不同方式被耦接到处理器810。某些惯性和环境传感器可以通过传感器集线器840(例如经由I2C互连)耦接到处理器810。在图8中所示的实施例中,这些传感器可以包括加速仪841、环境光感器(ALS)842、罗盘843和陀螺仪844。在一个实施例中,其它环境传感器可以包括一个或多个热传感器846,其可以经由系统管理总线(SMBus)总线耦接到处理器810。还要理解,根据本发明的实施例,一个或多个所述传感器可以经由LPS链路耦接到处理器810。For perceptual computing and other purposes, various sensors may be present within the system and may be coupled to the processor 810 in different ways. Certain inertial and environmental sensors may be coupled to the processor 810 via a sensor hub 840 (e.g., via an I 2 C interconnect). In the embodiment shown in FIG8 , these sensors may include an accelerometer 841, an ambient light sensor (ALS) 842, a compass 843, and a gyroscope 844. In one embodiment, other environmental sensors may include one or more thermal sensors 846, which may be coupled to the processor 810 via a system management bus (SMBus) bus. It is also understood that according to embodiments of the present invention, one or more of the sensors may be coupled to the processor 810 via an LPS link.

图8中还看见,各种外围设备还可以经由低引脚数(LPC)互连耦接到处理器810。在所示的实施例中,各种组件能够通过嵌入式控制器835被耦接。这些组件能够包括键盘836(例如,经由PS2接口被耦接)、风扇837和热传感器839。在一些实施例中,触摸板830还可以经由PS2接口耦接到EC835。另外,安全处理器(诸如根据可信计算小组(TCG)TPM规范版本1.2(2003年10月2日)的诸如可信平台模块(TPM)838)也可以经由这一LPC互连耦接到处理器810。As also seen in FIG. 8 , various peripherals can also be coupled to the processor 810 via a low pin count (LPC) interconnect. In the illustrated embodiment, various components can be coupled via an embedded controller 835. These components can include a keyboard 836 (e.g., coupled via a PS2 interface), a fan 837, and a thermal sensor 839. In some embodiments, a touchpad 830 can also be coupled to the EC 835 via a PS2 interface. In addition, a security processor (such as a Trusted Platform Module (TPM) 838 according to the Trusted Computing Group (TCG) TPM Specification Version 1.2 (October 2, 2003)) can also be coupled to the processor 810 via this LPC interconnect.

系统800能够以包括无线方式的各种方式与外围设备通信。在图8中所示的实施例中,存在各种无线模块,其中每一个能够对应于针对特定无线通信协议配置的无线电。一种针对短程(诸如近场)内的无线通信的方式可以经由近场通信(NFC)单元845,在一个实施例中,近场通信(NFC)单元845可以经由SMBus与处理器810通信。要注意,经由这一NFC单元845,彼此紧邻的设备能够通信。例如,通过将关系紧密的两个设备适配在一起并实现信息(诸如标识信息、支付信息,诸如图像数据的数据等)传送,用户可以使系统800能够与另一(例如)便携设备(诸如用户的智能电话)通信。还可以使用NFC系统执行无线功率传送。The system 800 can communicate with peripheral devices in various ways including wireless ways. In the embodiment shown in Figure 8, there are various wireless modules, each of which can correspond to a radio configured for a specific wireless communication protocol. A method for wireless communication within a short range (such as a near field) can be via a near field communication (NFC) unit 845, which in one embodiment can communicate with the processor 810 via SMBus. It should be noted that via this NFC unit 845, devices in close proximity to each other can communicate. For example, by adapting two closely related devices together and enabling information (such as identification information, payment information, data such as image data, etc.) to be transmitted, a user can enable the system 800 to communicate with another (for example) portable device (such as a user's smart phone). Wireless power transmission can also be performed using the NFC system.

如进一步在图8中所见的,附加的无线单元能够包括其它短程无线引擎,包含WLAN单元850和蓝牙单元852。使用WLAN单元850,能够实现根据给定的电气及电子工程协会(IEEE)802.11标准的Wi-FiTM通信,同时经由蓝牙单元852,能够发生经由蓝牙协议的短程通信。这些单元可以经由例如USB链路或通用异步接收传输器(UART)链路与处理器810通信。或者这些单元可以经由互连经由诸如本文所述的聚合PCIe/MIPI互连的低功率互连或诸如串行数据输入/输出(SDIO)标准的另一此类协议耦接到处理器810。当然,可以在一个或多个插入卡上配置的这些外围设备间的实际物理连接能够通过适配到母板的NGFF连接器的方式。As further seen in FIG. 8 , additional wireless units can include other short-range wireless engines, including a WLAN unit 850 and a Bluetooth unit 852. Using the WLAN unit 850, Wi-Fi communications according to a given Institute of Electrical and Electronics Engineering (IEEE) 802.11 standard can be implemented, while via the Bluetooth unit 852, short-range communications via the Bluetooth protocol can occur. These units can communicate with the processor 810 via, for example, a USB link or a universal asynchronous receiver transmitter (UART) link. Or these units can be coupled to the processor 810 via an interconnect via a low-power interconnect such as the aggregated PCIe/MIPI interconnect described herein or another such protocol such as the serial data input/output (SDIO) standard. Of course, the actual physical connection between these peripheral devices, which can be configured on one or more plug-in cards, can be by way of an NGFF connector adapted to a motherboard.

另外,无线广域通信(例如根据蜂窝或其它无线广域协议)能够经由可以继而耦接到订购者身份模块(SIM)857的WWAN单元856发生。另外,为了实现位置信息的接收及使用,还可以存在GPS模块855。要注意,在图8中所示的实施例中,WWAN单元856和诸如照相机模块854的集成捕获设备可以经由给定USB协议(诸如USB2.0或3.0链路),或者UART或I2C协议通信。这些单元的实际物理连接再次能够经由将NGFF插入卡适配到在母板上配置的NGFF连接器。In addition, wireless wide area communications (e.g., according to a cellular or other wireless wide area protocol) can occur via a WWAN unit 856, which can in turn be coupled to a subscriber identity module (SIM) 857. In addition, a GPS module 855 may also be present to enable reception and use of location information. Note that in the embodiment shown in FIG. 8 , the WWAN unit 856 and an integrated capture device such as a camera module 854 can communicate via a given USB protocol (such as a USB 2.0 or 3.0 link), or a UART or I 2 C protocol. The actual physical connection of these units can again be via an NGFF plug-in card adapted to a NGFF connector configured on the motherboard.

为了提供音频输入及输出,音频处理器能够经由数字信号处理器(DSP)860实施,其可以经由高分辨率音频(HAD)链路耦接到处理器810。类似地,DSP860可以与集成编码器/解码器(CODEC)及放大器862通信,集成编码器/解码器(CODEC)及放大器862继而可以耦接到可以在机箱内实施的输出扬声器863。类似地,放大器及CODEC862能够被耦接以从麦克风865接收音频输入,麦克风865在实施例中能够经由双阵列麦克风实施以提供高质量音频输入从而实现对系统内各种操作的语音激活控制。还要注意,音频输出能够从放大器/COEDC862提供到耳机插孔864。To provide audio input and output, the audio processor can be implemented via a digital signal processor (DSP) 860, which can be coupled to the processor 810 via a high-resolution audio (HAD) link. Similarly, the DSP 860 can communicate with an integrated coder/decoder (CODEC) and amplifier 862, which in turn can be coupled to an output speaker 863 that can be implemented within the chassis. Similarly, the amplifier and CODEC 862 can be coupled to receive audio input from a microphone 865, which in an embodiment can be implemented via a dual array microphone to provide high-quality audio input to enable voice-activated control of various operations within the system. It is also noted that audio output can be provided from the amplifier/COEDC 862 to a headphone jack 864.

因此能够在许多不同环境中使用实施例。现在参考图9,示出了能够与实施例一起使用的实例系统900。如所见的,系统900可以是智能电话或其它无线通信器。如图9的框图中所示,系统900可以包括基带处理器910,其可以是能够处理基带处理任务以及应用处理的多核处理器。因此,基带处理器910能够执行关于通信的各种信号处理,以及执行用于所述设备的计算操作。继而,基带处理器910能够耦接到用户接口/显示器920,用户接口/显示器920在一些实施例中能够由触摸屏显示器实现。另外,基带处理器910可以耦接到存储器系统,其在图9的实施例中包括非易失性存储器(即闪存930)和系统存储器(即动态随机存取存储器(DRAM)935)。如进一步所见的,基带处理器910能够进一步耦接到捕获设备940,诸如能够记录视频和/或静止图像的图像捕获设备。Therefore, the embodiment can be used in many different environments. Now referring to Figure 9, an example system 900 that can be used with the embodiment is shown. As seen, the system 900 can be a smart phone or other wireless communicator. As shown in the block diagram of Figure 9, the system 900 may include a baseband processor 910, which can be a multi-core processor capable of processing baseband processing tasks and application processing. Therefore, the baseband processor 910 can perform various signal processing about communication, and perform computing operations for the device. Then, the baseband processor 910 can be coupled to a user interface/display 920, which can be implemented by a touch screen display in some embodiments. In addition, the baseband processor 910 can be coupled to a memory system, which includes a non-volatile memory (i.e., flash memory 930) and a system memory (i.e., dynamic random access memory (DRAM) 935) in the embodiment of Figure 9. As further seen, the baseband processor 910 can be further coupled to a capture device 940, such as an image capture device capable of recording video and/or still images.

为了实现通信的传输与接收,基带处理器910和天线980之间可以耦接各种电路。特别地,可以存在射频(RF)收发器970和无线局域网(WLAN)收发器975。一般来说,RF收发器970可以用于根据诸如根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其它协议的诸如3G或4G无线通信协议的给定无线通信协议接收及传输无线数据并进行呼叫。还可以提供诸如接收或传输无线电信号的其它无线通信,例如AM/FM,或全球定位卫星(GPS)信号。另外,经由WLAN收发器975,还能够实现局域无线信号,诸如根据BluetoothTM标准或IEEE802.11标准(诸如IEEE802.11a/b/g/n)。要注意,基带处理器910和收发器970及975中一个或两个之间的链路可以经由组合及映射PCIeTM互连和低功率互连(诸如MIPI互连)的功能的低功率聚合互连。虽然图9的实施例中以这一高级别示出,但要理解本发明的范围不限于此。In order to realize the transmission and reception of communication, various circuits can be coupled between the baseband processor 910 and the antenna 980. In particular, there can be a radio frequency (RF) transceiver 970 and a wireless local area network (WLAN) transceiver 975. In general, the RF transceiver 970 can be used to receive and transmit wireless data and make calls according to a given wireless communication protocol such as a 3G or 4G wireless communication protocol according to code division multiple access (CDMA), global mobile communication system (GSM), long term evolution (LTE) or other protocols. Other wireless communications such as receiving or transmitting radio signals, such as AM/FM, or global positioning satellite (GPS) signals can also be provided. In addition, via the WLAN transceiver 975, local wireless signals can also be realized, such as according to the Bluetooth TM standard or the IEEE802.11 standard (such as IEEE802.11a/b/g/n). It should be noted that the link between the baseband processor 910 and one or both of the transceivers 970 and 975 can be via a low power aggregation interconnect that combines and maps the functionality of a PCIe TM interconnect and a low power interconnect (such as a MIPI interconnect). Although shown at this high level in the embodiment of FIG. 9 , it is to be understood that the scope of the present invention is not limited in this regard.

实施例可以用在许多不同类型的系统中。例如,在一个实施例中,通信设备能够被布置为执行本文所述的各种方法及技术。当然,本发明的范围不限于通信设备,并且相反地,其它实施例能够涉及用于处理指令的其它类型装置,或一个或多个机器可读介质,包括响应于在计算设备上被执行而使得所述设备执行本文所述的一种或多种方法及技术的指令。Embodiments may be used in many different types of systems. For example, in one embodiment, a communication device can be arranged to perform the various methods and techniques described herein. Of course, the scope of the present invention is not limited to communication devices, and on the contrary, other embodiments can involve other types of apparatuses for processing instructions, or one or more machine-readable media, including instructions that, in response to being executed on a computing device, cause the device to perform one or more methods and techniques described herein.

实施例可以以代码实施,并可以存储在非暂时性存储介质上,非暂时性存储介质具有存储在其上的、能够用于对系统编程以执行所述指令的指令。所述存储介质可以包括,但不限于:任意类型的磁盘,包括软盘、光盘、固态驱动器(SSD)、紧凑盘只读存储器(CD-ROM)、可重写紧凑盘(CD-RW),以及磁光盘;半导体设备,诸如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);磁或光卡、或适于存储电子指令的任意其它类型介质。Embodiments may be implemented in code and may be stored on a non-transitory storage medium having stored thereon instructions that can be used to program a system to perform the instructions. The storage medium may include, but is not limited to: any type of magnetic disk, including floppy disks, optical disks, solid state drives (SSDs), compact disk read only memory (CD-ROMs), compact disk rewritable (CD-RWs), and magneto-optical disks; semiconductor devices such as read-only memory (ROMs), random access memories (RAMs) (such as dynamic random access memories (DRAMs), static random access memories (SRAMs)), erasable programmable read-only memories (EPROMs), flash memory, electrically erasable programmable read-only memories (EEPROMs); magnetic or optical cards, or any other type of medium suitable for storing electronic instructions.

虽然关于有限数目的实施例描述了本发明,但本领域技术人员将理解由其而来的许多修改和变化。所附的权利要求旨在覆盖落入本发明的真正精神和范围内的所有此类修改和变化。While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations that fall within the true spirit and scope of the present invention.

Claims (19)

1. An apparatus, comprising:
fast interconnect for peripheral componentsTM(PCIeTM) A protocol stack of a communication protocol, the protocol stack comprising a transaction layer and a link layer; and
a Physical (PHY) unit coupled to the protocol stack to provide communication between the apparatus and devices coupled to the apparatus via a physical link, the PHY unit having a low power communication protocol and including a physical unit circuit according to the low power communication protocol and logic to interface the protocol stack with the physical unit circuitAn edit layer, the logical layer including a link training state machine to perform link training for the physical link and including to have the PCIeTMMapping logic to map a first special symbol of a communication protocol to a second special symbol having the low power communication protocol.
2. The apparatus of claim 1, wherein the physical link has a width from the apparatus to the device that is asymmetric to that from the device to the apparatus, and the physical link is configurable to operate from the apparatus to the device at a frequency that is asymmetric to that from the device to the apparatus.
3. The apparatus of claim 1, wherein the link training state machine initializes a physical link from a reset of the apparatus to an initial link width and frequency in advance without negotiating with the device.
4. The apparatus of claim 3, wherein the link training state machine causes a change in link width of the physical link without negotiating with the device.
5. The apparatus of claim 1, further comprising a sideband channel coupled between the apparatus and the device separate from the physical link, the sideband channel comprising a serial link having a second PHY unit separate from the PHY unit, and wherein the second PHY unit transmits a first presence signal to the device and receives a second presence signal from the device, the link training state machine configuring the physical link in response to receiving the second presence signal in the second PHY unit.
6. A method, comprising:
performing, in a first integrated circuit coupled to a second integrated circuit via a physical link, power-on with low power in response to power-up of the first integrated circuitA detection state of a link training state machine of a Physical (PHY) unit of a communication protocol including physical unit circuitry, the PHY unit coupled to a fast interconnect for peripheral components including a transaction layer and a link layerTM(PCIeTM) A protocol stack of a communication protocol;
after performing the detection state, performing, in the first integrated circuit, a configuration state of the link training state machine, including sending a configuration ready signal to the second integrated circuit via a sideband link coupled between the first and second integrated circuits; and
in the first integrated circuit, in response to receiving a second configuration ready signal from the second integrated circuit via the sideband link, performing a shutdown state of a link training state machine, wherein during the shutdown state the PHY unit drives a differential N signal on the physical link.
7. The method of claim 6, further comprising: initiating a burst sequence in the down state to transition into an active state of the link training state machine.
8. The method of claim 7, further comprising: in the active state, a payload is transferred from the first integrated circuit to the second integrated circuit, and then a tail of a burst signal is transferred to transition to the shutdown state.
9. The method of claim 6, further comprising: transition from the shutdown state into a first low power state and drive the differential N signal on the physical link in the first low power state.
10. The method of claim 9, further comprising: transition from the first low-power state to the shutdown state in response to receiving a presence signal from the second integrated circuit via the sideband link.
11. The method of claim 9, further comprising: transitioning from the shutdown state to a second low power state when a set of predetermined conditions are met, the second low power state being lower than the first low power state, and driving a differential high impedance signal on the physical link in the second low power state.
12. The method of claim 7, further comprising: transitioning from the active state to a recovery state in response to a receiver error.
13. The method of claim 6, further comprising:
sending a shutdown initiation signal to the second integrated circuit via the sideband channel; and
transition to the shutdown state in response to receiving a shutdown indication signal from the second integrated circuit via the sideband link.
14. The method of claim 7, further comprising: transitioning from the active state to a powered-down state in response to a communication received in a PHY unit from the protocol stack.
15. A system, comprising:
a multi-core processor comprising a plurality of cores and a protocol stack that enables communication between the multi-core processor and a peripheral device via a physical link, the protocol stack comprising:
fast interconnect based on peripheral componentsTM(PCIeTM) A transaction layer of a communication protocol;
according to the PCIeTMA data link layer of a communication protocol; and
physical layer including a physical layer transport controller and Physical (PHY) unit transport circuitry according to a low power communication protocol, wherein the physical layer transport controller adapts the PHY unit transport circuitry to have PCIeTMA transaction layer and a data link layer of a communication protocol, the physical layer further including a link training state machine that performs link training for the physical link and including the PCIe to be inTMMapping logic to map a first special symbol of a communication protocol to a second special symbol having the low power communication protocol; and
a peripheral coupled to the multicore processor.
16. The system of claim 15, wherein the link training state machine: in response to a power-up of the multi-core processor, performing a configuration state of the link training state machine after performing a detection state, including sending a configuration ready signal to the peripheral device via a sideband link coupled between the multi-core processor and the peripheral device; and performing a shutdown state of the link training state machine in response to receiving a second configuration ready signal from the peripheral device via the sideband link, wherein during the shutdown state, the PHY unit transmission circuitry drives a differential N signal on the physical link.
17. The system of claim 16, wherein the link training state machine initiates a burst sequence in the shutdown state to transition into an active state of the link training state machine and transmits a payload from the multicore processor to the peripheral device in the active state, and then transmits a tail of a burst signal to transition into the shutdown state.
18. The system of claim 17, wherein the link training state machine sends a shutdown initiation signal to the peripheral device via the sideband link and transitions to the shutdown state in response to receiving a shutdown indication signal from the peripheral device via the sideband link.
19. The system of claim 15, wherein the peripheral device comprises a multi-radio integrated circuit.
CN201380021347.8A 2012-05-22 2013-05-16 Apparatus and method for optimized link training and management Active CN104380274B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610857743.XA CN107092335B (en) 2012-05-22 2013-05-16 Optimized link training and management mechanism

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/477310 2012-05-22
US13/477,310 US8437343B1 (en) 2012-05-22 2012-05-22 Optimized link training and management mechanism
PCT/US2013/041322 WO2013176954A2 (en) 2012-05-22 2013-05-16 Optimized link training and management mechanism

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610857743.XA Division CN107092335B (en) 2012-05-22 2013-05-16 Optimized link training and management mechanism

Publications (2)

Publication Number Publication Date
CN104380274A true CN104380274A (en) 2015-02-25
CN104380274B CN104380274B (en) 2017-10-24

Family

ID=52569929

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610857743.XA Active CN107092335B (en) 2012-05-22 2013-05-16 Optimized link training and management mechanism
CN201380021347.8A Active CN104380274B (en) 2012-05-22 2013-05-16 Apparatus and method for optimized link training and management

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610857743.XA Active CN107092335B (en) 2012-05-22 2013-05-16 Optimized link training and management mechanism

Country Status (1)

Country Link
CN (2) CN107092335B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436856A (en) * 2016-05-28 2017-12-05 硅实验室公司 With the communicator and correlation technique directly controlled
CN109416677A (en) * 2016-07-22 2019-03-01 英特尔公司 Support the technology of a variety of interconnection agreements for one group of public interconnecting connector
CN109426549A (en) * 2017-09-01 2019-03-05 英特尔公司 Distribution is interconnected for the accelerator of virtual environment
CN110647486A (en) * 2019-09-29 2020-01-03 江苏芯盛智能科技有限公司 PCIe link training method, end equipment and communication system
CN112015683A (en) * 2020-08-27 2020-12-01 深圳忆联信息系统有限公司 Dynamic switching method and device of PCIE link, computer equipment and storage medium
CN113434446A (en) * 2018-05-04 2021-09-24 英特尔公司 Flexible bus protocol negotiation and enablement sequence

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118093490B (en) * 2024-04-16 2024-07-26 北京开源芯片研究院 Bus protocol conversion method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065796A1 (en) * 1999-08-04 2008-03-13 Super Talent Electronics Inc. High-Level Bridge From PCIE to Extended USB
US20090106476A1 (en) * 2007-10-22 2009-04-23 Peter Joel Jenkins Association of multiple pci express links with a single pci express port
CN101640643A (en) * 2008-07-25 2010-02-03 美国博通公司 Method for energy efficient Ethernet and physical layer equipment for enery efficient ethernet
CN102014048A (en) * 2009-06-30 2011-04-13 英特尔公司 Link power savings with state retention

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221315A1 (en) * 2003-05-01 2004-11-04 Genesis Microchip Inc. Video interface arranged to provide pixel data independent of a link character clock
US8218580B2 (en) * 2008-07-15 2012-07-10 Intel Corporation Managing timing of a protocol stack
US8621128B2 (en) * 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080065796A1 (en) * 1999-08-04 2008-03-13 Super Talent Electronics Inc. High-Level Bridge From PCIE to Extended USB
US20090106476A1 (en) * 2007-10-22 2009-04-23 Peter Joel Jenkins Association of multiple pci express links with a single pci express port
CN101640643A (en) * 2008-07-25 2010-02-03 美国博通公司 Method for energy efficient Ethernet and physical layer equipment for enery efficient ethernet
CN102014048A (en) * 2009-06-30 2011-04-13 英特尔公司 Link power savings with state retention

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436856A (en) * 2016-05-28 2017-12-05 硅实验室公司 With the communicator and correlation technique directly controlled
CN107436856B (en) * 2016-05-28 2023-08-22 硅实验室公司 Communication device with direct control and related method
CN109416677A (en) * 2016-07-22 2019-03-01 英特尔公司 Support the technology of a variety of interconnection agreements for one group of public interconnecting connector
CN109416677B (en) * 2016-07-22 2024-03-01 英特尔公司 Techniques to support multiple interconnect protocols for a set of common interconnect connectors
CN109426549A (en) * 2017-09-01 2019-03-05 英特尔公司 Distribution is interconnected for the accelerator of virtual environment
CN113434446A (en) * 2018-05-04 2021-09-24 英特尔公司 Flexible bus protocol negotiation and enablement sequence
CN113434446B (en) * 2018-05-04 2025-02-11 英特尔公司 Flexible bus protocol negotiation and enable sequence
CN110647486A (en) * 2019-09-29 2020-01-03 江苏芯盛智能科技有限公司 PCIe link training method, end equipment and communication system
CN112015683A (en) * 2020-08-27 2020-12-01 深圳忆联信息系统有限公司 Dynamic switching method and device of PCIE link, computer equipment and storage medium

Also Published As

Publication number Publication date
CN104380274B (en) 2017-10-24
CN107092335A (en) 2017-08-25
CN107092335B (en) 2020-07-21

Similar Documents

Publication Publication Date Title
US9830292B2 (en) Architected protocol for changing link operating mode
US9223735B2 (en) Providing a consolidated sideband communication channel between devices
US8638783B2 (en) Optimized link training and management mechanism
US9390046B2 (en) Controlling a physical link of a first protocol using an extended capability structure of a second protocol
US9031064B2 (en) Providing a load/store communication protocol with a low power physical unit
US10180927B2 (en) Device, system and method for communication with heterogeneous physical layers
US9086966B2 (en) Systems, apparatuses, and methods for handling timeouts
CN104380274B (en) Apparatus and method for optimized link training and management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI01 Publication of corrected invention patent application

Correction item: Application Date|Priority|International application date

Correct: 2013;05;16|13/477310 2012.05.22 US|2013;05;16

False: 2013;07;16|no|2013;07;16

Number: 08

Volume: 31

CI02 Correction of invention patent application

Correction item: Application Date|Priority|International application date

Correct: 2013.05.16|13/477310 2012.05.22 US|2013.05.16

False: 2013.07.16|None|2013.07.16

Number: 08

Page: The title page

Volume: 31

ERR Gazette correction

Free format text: CORRECT: APPLICATION DATE; PRIORITY DATA; INTERNATIONAL APPLICATION DATE; FROM: 2013;07;16; NONE;2013;07;16 TO: 2013;05;16;13/477310 2012.05.22 US;2013;05;16

RECT Rectification
GR01 Patent grant
GR01 Patent grant