CN103003808B - 用于访问PCI Express 兼容设备的资源的***和方法 - Google Patents

用于访问PCI Express 兼容设备的资源的***和方法 Download PDF

Info

Publication number
CN103003808B
CN103003808B CN201180034792.9A CN201180034792A CN103003808B CN 103003808 B CN103003808 B CN 103003808B CN 201180034792 A CN201180034792 A CN 201180034792A CN 103003808 B CN103003808 B CN 103003808B
Authority
CN
China
Prior art keywords
message
value
access
destination
supplier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180034792.9A
Other languages
English (en)
Other versions
CN103003808A (zh
Inventor
贝蒂·卢克
戈登·F·卡鲁克
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.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of CN103003808A publication Critical patent/CN103003808A/zh
Application granted granted Critical
Publication of CN103003808B publication Critical patent/CN103003808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Abstract

一种利用报文来访问PCI Express通信链路环境中的寄存器和内存的***和方法。供应商定义PCI Express报文可被用来读写设备的内存映射空间或寄存器空间。利用该报文传送方式定义了四种类型访问,即内存读、内存写、配置读和配置写。所期望的寄存器访问类型由供应商定义报文的头中的供应商特定类型字段中的适当值进行定义。如果位于PCI Express链路另一端的PCI Express兼容设备不支持这些类型的报文,则所述报文被接收者默默丢弃,且没有错误报告。

Description

用于访问PCI Express 兼容设备的资源的***和方法
技术领域
本发明总体上涉及数据通信,尤其是涉及串行点对点数据通信。
背景技术
近年来,计算机的速度得到了显著提升。这种提升在很大程度上得益于CPU速度的提升。然而,计算机速度也依赖于数据通信的速度,即CPU将数据传送给***设备以及从***设备将数据传送给CPU的能力。有段时间,***部件互连(PCI)总线提供足够的外设连通性。但是,随着CPU速度的提升以及更大的数据传送需求,PCI总线很快成为CPU和外设之间最慢的链接。尤其是,PCI总线为了满足增长的数据传送需要而增加了大量的引脚、功率和时间配置(clocking)上的缺点。
为了应对这些缺点,提出了PCI Express工业标准。PCIExpress工业标准采用了使用低电压差分信号的串行协议,没有上述的时间配置缺点,且能在减少引脚数量的情况下提供更高的带宽。PCIExpress提供多达32个的在“根(root)”设备和“终端(endpoint)”设备之间提供串行点对点连接的数据通道(被称为通路(lane))。
PCI Express协议是分层协议,所述层包括事务层、数据链路层和物理层。PCI Express兼容设备之间通信的基本构建块是事务层数据包(TLP)。TLP包含包头、数据有效负载和差错校正分段(被称为纠错块(digest))。一或多个TLP创建一个事务,使能PCI Express兼容设备中的操作。举例来说,TLP事务推进存储器读写操作。
如上所述,PCI Express协议被开发来提供对现代数据通信设备到设备挑战的柔性的高速方式。不过,由于对高效数据传送日益增长的需求以服务于高性能的计算机设计,数据传送的效率仍是高优先级的。这样,就有了对增强PCI Express协议的持续需要。PCI Express协议的任何改进应当必须向后兼容标准PCI Express规范。
因此,设备改造是必要的以使源自PCI Express协议增强的额外功能得以实现。PCI Express协议的增强可通过在通信链路的任一端升级与设备相关的软件驱动程序来实现。这些升级后的软件驱动程序规划(program)内存映射空间使得相关设备能够利用PCI Express协议的增强。虽然升级设备的软件驱动程序是优选方案,但是这样的升级往往不能及时地可用。而且,PCI Express功能不被允许访问不属于该功能的资源(例如,配置空间)。虽然利用对等(peer-to-peer)方式对PCI Express环境中的外部资源可有一些受限的访问,但是许多平台并不支持对等访问,且极少数平台支持使用对等方式的“读访问”。此外,下游PCI Express端口并不接受对配置空间的访问。进一步地,一些***通过“访问控制服务”完全阻止对等访问。
所以,需要一种方法和***以在不必升级相关设备软件驱动程序的情况下实现PCI Express协议的增强。
发明内容
在本发明的实施方式中,内存空间或寄存器空间利用供应商定义报文(vendor defined message)进行配置。
在本发明的进一步的实施方式中,资源访问方式(resourcesaccessing approach)通过利用1型供应商定义PCI Express报文(type1vendor defined PCI Express message)应用。且描述了用于内存读、内存写、配置读、配置写和完成(completion)的1型供应商定义PCIExpress报文的示例性实施方式。
还描述了利用针对资源访问的报文传送的方式(messagingapproach)的使用模型的实施例。
下面参考附图对本发明的进一步的实施方式、特征和优点以及本发明的各种实施方式的结构和操作进行详细地描述。
附图说明
并入此处并作为本说明书的一部分的附图图示了本发明,并且连同说明书进一步用于阐释本发明的原理并使相关领域技术人员能够实现和利用本发明。
图1描绘了使用PCI Express方式的数据通信***。
图2根据本发明的实施方式描绘了示例性的内存读的供应商定义报文的定义。
图3根据本发明的实施方式描绘了示例性的内存写的供应商定义报文的定义。
图4根据本发明的实施方式描绘了示例性的配置读的供应商定义报文的定义。
图5根据本发明的实施方式描绘了示例性的配置写的供应商定义报文的定义。
图6根据本发明的实施方式描绘了示例性的完成的供应商定义报文的定义。
图7-9根据本发明的实施方式描绘了用于针对资源访问的供应商报文传送方式的示例性的寄存器的定义。
图10根据本发明的实施方式描绘了利用报文传送的资源访问的示例性方法的流程图。
图11描绘了具有四个终端(end point)、一个根组件(rootcomplex)和三个交换器(switch)的PCI Express拓扑结构。
现在参考附图对本发明进行描述。在这些附图中,同样的参考编号可表示同一元件或者功能上类似的元件。此外,参考编号最左边的一或两位数字可表示第一次出现该参考编号的附图。
具体实施方式
图1描绘了将PCI Express***用于设备110和120之间的通信的数据通信***。在PCI Express标准中,通信的基本单元是事务层数据包(TLP)。一或多个TLP建立PCI Express事务,并在设备110和120之间的链路130上被传输。设备110和120通常包括控制器以控制和管理PCI Express事务。
一般的TLP数据包包含包头、数据有效负载和差错校正部分(也称为纠错块(digest))。由于不是所有的TLP数据包都需要数据有效负载和纠错块(digest),所以数据有效负载和纠错块(digest)是可选的。TLP包头按双字(也称为DWord)对齐,其中一个DWord等于4个字节或者32比特。根据特定的PCI Express事务,TLP包头在长度上可以变化(也就是3个DWord或者4个DWord长)。
如上所述,设备改造是必要的以使源自PCI Express协议增强的额外功能得以实现。PCI Express协议的增强通常可通过在通信链路的任一端升级与设备相关的软件驱动程序来实现。这些升级后的软件驱动程序规划(program)使得与设备相关的内存映射空间能够利用PCI Express协议的增强。为每一个受到影响的PCI Express设备(包括终端、交换器和根组件)升级软件驱动程序对于满足吸收PCI Express协议增强的需要来说是优选的方案。虽然升级设备的软件驱动程序是优选方案,但是这样的升级往往不能及时地可用。
在下述方式中,提出了一种泛型方法,其中供应商定义PCIExpress报文被用于读写相关设备的内存映射空间(或配置空间)。这些供应商定义PCI Express报文是PCI Express协议中的供应商定义1型报文。通过使用供应商定义1型报文方式,如果位于PCI Express链路另一端的PCI Express兼容设备不支持这些类型的报文,则所述报文被接收者默默丢弃,且没有错误报告。在下述方式中,任一时间点只有一个未完成的请求被支持。
用该报文传送方式定义了四种类型的寄存器访问。该四种类型的寄存器访问是内存读、内存写、配置读和配置写。所期望的寄存器访问类型由供应商定义报文的头中的供应商特定类型字段(vendor-specific type field)中的适当值进行定义。作为该方法的实施例,内存读请求以下述方式进行。当使用该方式发送内存读请求时,通信链路的另一端用指示完成类型的供应商特定报文和32比特的数据有效负载进行响应。供应商特定报文的接收者接着处理该报文,该数据会被存储在稍后可由软件读取的相关寄存器中。
针对内存读的示例性的供应商定义报文
图2-6根据本发明示出了针对用于寄存器访问的供应商定义1型报文的事务层数据包定义。图2示出了针对供应商定义报文中的内存读的示例性TLP定义。如图2所描绘的,供应商定义内存读报文的头由4个DWord构成,连带1个DWord的有效负载。该头的第一个字(word)由第一字段(field)组成。该第一字段是保留字段,长1比特,并被标记“R”。第二字段是一个7比特的字段,包含表示该TLP是供应商定义报文的值“1110100”。
第一个DWord的下一字段也是保留字段,长1比特,并被标记“R”。流量类别(TC)字段是一个3比特的字段用于标识多达8种不同类型的流量类别。这种信息可构成提供不同品质的服务的基础。接下来的字段也是保留字段,长4比特,并被标记“R”。TD字段是一个1比特的字段,指示该TLP数据包的结尾处存在或不存在纠错块(digest)。从而,TD字段值为“1”表示纠错块(digest)的存在,而值为“0”表示纠错块(digest)的不存在。EP字段是一个1比特的字段,指示TLP数据包是否被认为包含“坏”数据。从而,EP字段值为“1”表示坏数据的存在,而值为“0”表示坏数据的不存在。“Attr”是一个2比特的字段,提供该TLP数据包的属性信息,其中该属性信息包括关于缓存一致性(cache coherency)和松序(relaxed ordering)的信息。“AT”是一个2比特的字段,指示如果PCI Express地址转换服务被使用,该数据包中的地址是否被转换。
最后,“长度(Length)”字段是一个10比特的字段,指示该TLP中的有效负载的长度。有效负载的长度以DWord表示。该字段的值被设定为“1”值,表示长度为1个DWord的有效负载长度。
供应商定义内存读报文的第二个DWord包含“请求者ID”字段、“标签”字段和固定值字段。“请求者ID”字段是一个16比特的字段,包含请求者的总线号、设备号和功能号。“请求者ID”字段的内容在配置阶段进行分配,且意在PCI Express拓扑结构中唯一地标识该请求者。
“标签”字段是一个8比特的字段,被用于唯一地标识一个请求。尤其是,请求者可以为该请求者作出的需要完成的请求中的每一个请求创建唯一的“标签”字段。这样,相关完成头(completionheader)包含相关“请求者ID”和“标签”的值使得该请求者可迅速识别相关完成头。
供应商定义内存读报文的第二个DWord中的最后一个字段是一个8比特的字段,其值固定为值“01111111”。
供应商定义内存读报文的第三个DWord包含“路由ID”字段和“供应商ID”字段。“路由ID”字段是一个16比特的字段,包含路由信息,指出作为该报文的预定接收者的设备。“供应商ID”字段是一个16比特的字段,包含发送该报文的设备的供应商的辨识信息。“供应商ID”由PCI特别兴趣小组(PCI-SIG)进行分配。
供应商定义内存读报文的第四个DWord包含一个28比特的未使用字段和一个4比特的类型字段。该4比特的类型字段指示所希望的访问的类型。图7B中示出了“类型”字段的一组示例性的值。
最后,供应商定义内存读报文的第五个DWord是有效负载,包含一个32位的字段,指示被该内存读报文寻址的相关内存空间的地址。
针对内存写的示例性的供应商定义报文
图3示出了针对供应商定义报文中的内存写的示例性TLP定义。如图3所描绘的,供应商定义内存写报文的头由4个DWord构成,连同2个DWord的有效负载。该头的第一个DWord包含与图2中所示针对内存读报文的字段和值相同的字段和值。唯一的不同在于长度字段被设定为“2”值,表示长度上为2个DWord的有效负载长度。接下来的3个DWord除了类型字段被设定为与内存写类型报文相关的值之外,与图2中所示针对内存读报文的DWord相同。该报文的有效负载包含2个DWord,其中第一个DWord包含一个32比特的地址字段,第二个DWord包含一个32比特的数据字段。在替代实施方式中,该TLP数据包可包含寻址信息以支持可变长数据的寻址。在这样的实施方式中,有效负载长度不再固定(hardwire)为设定值,比如2(或内存读情况中的1),而是被设定为数据块的长度加1。该替代实施方式可被应用于内存写、内存读和完成报文。
针对配置读的示例性的供应商定义报文
图4示出了针对供应商定义报文中的配置读的示例性TLP定义。如图4所描绘的,供应商定义配置读报文的头由4个DWord构成,跟着1个DWord的有效负载。该头的第一个DWord包含与图2中所示针对内存读报文的字段和值相同的字段和值。如同内存读报文,长度字段被设定为“1”值,表示长度上为1个DWord的有效负载长度。接下来的3个DWord除了类型字段被设定为与配置读类型报文相关的值之外,与图2中所示针对内存读报文的DWord相同。该报文的有效负载包含一个DWord,其中该DWord包含一个20比特的保留字段和接下来的指示被读取的寄存器的号码的一个10比特的“寄存器号”字段。最后,剩余的2比特构成一个2比特的保留字段。
针对配置写的示例性的供应商定义报文
图5示出了针对供应商定义报文中的配置写的示例性TLP定义。如图5所描绘的,供应商定义配置写报文的头由4个DWord构成,跟着2个DWord的有效负载。该头的第一个DWord除了长度字段被设定为“2”值表示长度上为2个DWord的有效负载长度之外,包含与图2中所示针对内存读报文的字段和值相同的字段和值。接下来的3个DWord除了类型字段被设定为与配置写类型报文相关的值之外,与图2中所示针对内存读报文的DWord相同。该报文的有效负载包含2个DWord,其中第一个DWord包含一个20比特的保留字段和接下来的指示被写入的寄存器的号码的一个10比特的“寄存器号”字段。有效负载的第一个DWord的剩余的2比特构成一个2比特的保留字段。最后,有效负载的第二个DWord包含32比特配置写报文数据。
针对完成的示例性的供应商定义报文
图6示出了针对供应商定义报文中的完成的示例性TLP定义。如图6中所描绘的,供应商定义完成读报文的头由4个DWord构成,跟着1个DWord的有效负载。该头的第一个DWord包含与图2中所示针对内存读报文的字段和值相同的字段和值。如同内存读报文,长度字段被设定为“1”值,表示长度上为1个DWord的有效负载长度。接下来的3个DWord除了类型字段被设定为与完成报文相关的值之外,与图2中所示针对内存读报文的DWord相同。该报文的有效负载包含一个DWord,其中该DWord包含32比特的数据。
针对供应商定义报文传送方式的示例性的寄存器定义
图7-9示出了支持供应商定义报文传送方式的示例性的寄存器定义。图7示出了五(5)种字段(field)的示例性定义,如下:标识支持所述能力(capability)的设备的2比特只读字段(REG_ACCESS_CAPABILITY)、使能通过供应商定义报文的寄存器访问的产生的1比特字段(REG_ACCESS_GEN_EN)、设定后可禁用通过所接收的供应商定义报文的寄存器访问的1比特字段(REG_ACCESS_RCV_DIS)、用“0”值表示在前报文已被发送(在写的情况下)和数据可被访问(在读的情况下)的1比特字段(REG_ACCESS_DONE)以及使用图7B中所示示例性定义指示访问的类型的4比特字段(REG_ACCESS_TYPE)。图8示出了为通过供应商定义报文的寄存器访问提供内存映射空间中的偏移量的一个32比特字段(REG_ACCESS_ADDRESS)的示例性定义。对于配置读和配置写操作的情形,该32比特字段中只有9:0比特被用于提供寄存器的偏移量。图9示出了给利用通过供应商定义报文的寄存器访问的内存映射写或配置写提供数据的一个32比特字段(REG_ACCESS_WRITE_DATA)的示例性定义。还需要读取数据寄存器(read data register)以存储读操作完成后接收到的数据。在示例性实施方式中,读取数据寄存器可以简单地是重用(re-use)于读操作的写入数据寄存器(write data register)。替代地,读取数据寄存器可以是完全独立的寄存器,例如,一个32比特字段(REG_ACCESS_READ_DATA)。如前所述,本发明的实施方式包括提供用于对可变长数据块的访问。此外,数据块可存在于一系列的寄存器位置或内存位置中。
使用供应商定义报文方式的方法
图10根据本发明的实施方式描绘了用于PCI Express供应商定义报文方式的示例性方法的流程图1000。图10继续按照图1的运行环境进行描述。但是,方法1000并不局限于该实施方式。方法1000开始于步骤1010。
在步骤1010中,在供应商定义报文的源(source)启动资源访问。在示例性实施方式中,可通过将PCIE_REG_ACCESS_CNTL寄存器的REG_ACCESS_GEN_EN字段置为“1”值来启动访问。
在步骤1020中,检查以确保早先供应商定义报文的在前访问已被清除。在示例性实施方式中,这样的检查可通过检查以见证PCIE_REG_ACCESS_CNTL寄存器的REG_ACCESS_DONE字段被置为“0”来完成。
在步骤1030中,目的站(destination)资源偏移量(destination resource offset)被写入与该源相关的适当位置。在示例性实施方式中,该目的站资源偏移量被写入PCIE_REG_ACCESS_ADDR寄存器中。
在步骤1040中,针对内存写供应商报文或配置写供应商报文,将数据写入与该源相关的适当位置。在示例性实施方式中,该数据被写入PCIE_REG_ACCESS_DATA寄存器内的REG_ACCESS_WRITE_DATE位置。
在步骤1050中,设置所需目的站访问的类型。在示例性实施方式中,将PCIE_REG_ACCESS_CNTL中的REG_ACCESS_TYPE字段设置为所需的目的站访问。当类型字段被写入,该供应商定义报文便被发送。
在步骤1060中,等待报文状态指示该供应商定义报文的发送完成。在示例性实施方式中,可等待直至PCIE_REG_ACCESS_CNTL寄存器的REG_ACCESS_DONE的值被置为“0”值。
在步骤1070中,如果这是通过供应商报文的内存读或配置读操作,则从适当位置读取数据。在示例性实施方式中,该数据可从位置PCIE_REG_ACCESS_DATA读取。
在步骤1080中,返回步骤1030并继续下一个目的站资源访问。
在步骤1090中,当没有进一步的资源需要访问时,禁用(disable)通过供应商定义报文的资源访问。在示例性实施方式中,可通过将PCIE_REG_ACCESS_CNTL中的REG_ACCESS_GEN_EN置为“0”值来禁用资源访问。
在软件能够使用该通过供应商定义报文资源访问请求方法之前,该软件需要先确认通信链路的另一端支持该特征。软件可通过用该方法执行对配置空间地址0(供应商/设备ID)的读操作来完成确认。这会导致0x2类型(即配置读)的寄存器偏移量为0的供应商定义报文被发送到该另一端。如果该请求成功,且软件可读取PCIE_REG_ACCESS_DATA中的供应商/设备ID,则该方法受到支持且软件可继续使用该方法。如果PCIE_REG_ACCESS_CNTL.REG_ACCESS_DONE=1(甚至在软件中设置了超时值之后),则该方法不被支持且不能被使用。在示例性实施方式中,该步骤可接着步骤1010被执行。
如前所述,根据PCI Express规范,如果通信链路的另一端不支持该机制,且不能理解供应商定义报文,则该报文必然在接收端被默默丢弃。上述方法能够被容易地扩展到包括多个终端设备的更复杂的拓扑结构,例如如图11中所示。举例来说,图11中的根控制器、所有交换器和终端可支持基于报文的内存访问方式。
还要注意的是,这些供应商定义报文终止于接收端并且不被交换器转发(即,routing[2:0]=100b)。举例来说,在图11中,如果EP0需要访问SW0的寄存器,则它必须以多步骤过程进行。例如,就EP0对SW0执行一个内存写操作而言,编程使EP0通过供应商定义报文将内存写操作上行发送给SW1。来自EP0的该写操作程序化(program)SW1的PCIE_REG_ACCESS*寄存器,转而触发SW1通过供应商定义报文将内存写操作上行发送给SW0。这样的单一步骤传播模式(propagation mode)是没有效率的。在替代的更有效率的多步骤实施方式中,报文可通过ID进行路由(即,routing[2:0]=010b)。利用这样的路由,报文可通过交换器传播到它们最终的目的站。附加寄存器位置(例如,REG_ACCESS_ROUTE_APPROACH)被需要来表示该两种供应商传播方法中的哪一种会被使用。
相关领域的普通技术人员可以认识到本发明的这些实施方式的范围并不受限于本说明书中所提供的具体的示例性编码。尤其是,可以结合在PCI Express拓扑结构中实现包头减少的方式(reduced headerapproach)的替代编码来使用本发明的实施方式。进一步地,可以结合PCI Expess标准的各种版本(包括未来版本)来使用本发明的实施方式。此外,本发明的实施方式也适用于当前和未来的其它数据事务标准。
本发明可结合本文所记载实施方式之外的软件、硬件和操作***实例来实施。适合于执行本文所述功能的任何软件、硬件和操作***实例均可被使用。
本发明在说明指定功能及其关系的实例的功能构建块的帮助下进行了描述。为便于描述,这些功能构建块的边界在本文中被任意定义。只要指定功能及其关系被恰当执行,便可定义替代边界。
对具体实施方式的前述记载完整地揭示了本发明的总体特征,通过应用本技术领域内的知识,其他人能够容易地为各种应用修改和/或调整这些具体实施方式,而无需过度的实验,且不背离本发明的总体构思。因此,基于本文所提供的教导和指引,这些调整实施方式和修改实施方式应当在所公开的实施方式的等同方式的内涵和范围内。应当理解的是,本文中的措辞或术语是出于说明目的而非限制目的,因此,本说明书的术语或措辞由本领域技术人员根据所述教导和指引进行解释。
结论
本发明的示例性实施方式已得到介绍。本发明并不受限于这些实施例。本文提出这些实施例是出于说明目的而不是限制目的。基于包含在本文中的教导,替代方式(包括本文所记载实施方式的等同方式、扩展方式、变化方式、偏离方式等)对相关领域中的技术人员来说是显而易见的。这样的替代方式落在本发明的范围和精神内。
本发明的广度和范围不应当由上述示例性实施方式中的任意一者来限制,而应当只根据接下来的权利要求及其等同方式来限定。

Claims (19)

1.一种用于利用源自于源的报文来访问目的站的功能空间的方法,其包括:
在所述源处形成所述报文,其中所述报文包括:
基于在由所述源实现的报文标准协议中所定义的供应商特定类型字段中的值的供应商定义报文,
指示所述功能空间的访问类型的访问类型值,和
与所述功能空间相关的目的站偏移量值;以及
将所述报文发送给所述目的站。
2.如权利要求1所述的方法,其中所述报文协议是PCI Express报文协议。
3.如权利要求1所述的方法,其中所述被指示的访问类型是内存读取操作、内存写入操作、配置读取操作、配置写入操作和完成操作中的一者。
4.如权利要求1所述的方法,其中所述报文进一步包括数据值且所述被指示的访问类型是内存写入操作、配置写入操作和完成操作中的一者。
5.如权利要求1所述的方法,其中所述功能空间是内存位置和寄存器位置中的一者。
6.如权利要求1所述的方法,其中所述形成和所述发送在与所述源相关的启动位置被置为表示报文启动的值时被执行。
7.如权利要求1所述的方法,其进一步包括:
通过将与所述源相关的状态位置置为预定值,表示所述报文已被成功发送。
8.如权利要求4所述的方法,其进一步包括:
表示所述报文已被成功发送并且所述数据值可被读取。
9.如权利要求1所述的方法,其中所述形成和所述发送在证实了所述源处的在前报文形成已完成之后被执行。
10.如权利要求1所述的方法,其中所述形成报文进一步包括被置为与单一步骤传播相关的预定路由值的路由值。
11.如权利要求1所述的方法,其中所述形成报文进一步包括被置为与多步骤传播相关的预定路由值的路由值。
12.一种用于利用源自于源的报文来访问目的站的功能空间的方法,其包括:
在所述目的站接收所述报文,其中所述报文包括:
基于在由所述源实现的报文标准协议中所定义的供应商特定类型字段中的值的供应商定义报文,
指示所述功能空间的访问类型的访问类型值,和
与所述功能空间相关的目的站偏移量值;以及
基于所述目的站偏移量值和所述访问类型值在所述功能空间执行所述访问。
13.如权利要求12所述的方法,其中所述报文协议是PCI Express报文协议。
14.如权利要求12所述的方法,其中所述被指示的访问类型是内存读取操作、内存写入操作、配置读取操作、配置写入操作和完成操作中的一者。
15.如权利要求12所述的方法,其中所述报文进一步包括数据值且所述被指示的访问类型是内存写入操作、配置写入操作和完成操作中的一者。
16.如权利要求12所述的方法,其中所述功能空间是内存位置和寄存器位置中的一者。
17.如权利要求12所述的方法,其中所述执行所述访问在所述目的站处的寄存器值被置为表示报文启动的预定值时发生。
18.一种用于利用源自于源的报文来访问目的站的功能空间的装置,其包括:
被配置来在所述源处形成所述报文的数字设备,其中所述报文包括:
基于在由所述源实现的报文标准协议中所定义的供应商特定类型字段中的值的供应商定义报文,
指示所述功能空间的访问类型的访问类型值,和
与所述目的站的所述功能空间相关的目的站偏移量值。
19.一种用于利用源自于源的报文来访问目的站的功能空间的装置,其包括:
被配置来在所述目的站接收所述报文的数字设备,其中所述报文包括:
基于在由所述源实现的报文标准协议中所定义的供应商特定类型字段中的值的供应商定义报文,
指示所述功能空间的访问类型的访问类型值,和
与所述目的站的所述功能空间相关的目的站偏移量值;
其中所述数字设备被进一步配置来基于所述目的站偏移量值和所述访问类型值访问所述功能空间。
CN201180034792.9A 2010-07-15 2011-07-14 用于访问PCI Express 兼容设备的资源的***和方法 Active CN103003808B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/836,731 2010-07-15
US12/836,731 US8291146B2 (en) 2010-07-15 2010-07-15 System and method for accessing resources of a PCI express compliant device
PCT/US2011/044048 WO2012009559A1 (en) 2010-07-15 2011-07-14 System and method for accessing resources of a pci express compliant device

Publications (2)

Publication Number Publication Date
CN103003808A CN103003808A (zh) 2013-03-27
CN103003808B true CN103003808B (zh) 2015-07-01

Family

ID=44544287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180034792.9A Active CN103003808B (zh) 2010-07-15 2011-07-14 用于访问PCI Express 兼容设备的资源的***和方法

Country Status (6)

Country Link
US (1) US8291146B2 (zh)
EP (1) EP2593876A1 (zh)
JP (1) JP5893020B2 (zh)
KR (1) KR101704776B1 (zh)
CN (1) CN103003808B (zh)
WO (1) WO2012009559A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558030B2 (en) * 2011-11-09 2017-01-31 Intel Corporation Method, apparatus, and system to handle transactions received after a configuration change request
TW201642458A (zh) * 2015-05-29 2016-12-01 鴻海精密工業股份有限公司 有機發光顯示裝置及其製造方法
US9806904B2 (en) * 2015-09-08 2017-10-31 Oracle International Corporation Ring controller for PCIe message handling
US20190356412A1 (en) * 2018-05-16 2019-11-21 Qualcomm Incorporated Fast termination of multilane double data rate transactions
US10684981B2 (en) * 2018-05-16 2020-06-16 Qualcomm Incorporated Fast termination of multilane single data rate transactions
US11017071B2 (en) * 2018-08-02 2021-05-25 Dell Products L.P. Apparatus and method to protect an information handling system against other devices
US11477049B2 (en) * 2018-08-02 2022-10-18 Xilinx, Inc. Logical transport over a fixed PCIE physical transport network
CN111124987B (zh) * 2019-12-30 2021-06-22 京信通信***(中国)有限公司 一种基于pcie的数据传输控制***和方法
CN113439419B (zh) * 2020-01-22 2023-02-14 华为技术有限公司 一种基于PCIe的数据传输方法、装置及***
KR102568906B1 (ko) 2021-04-13 2023-08-21 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법
US11928070B2 (en) 2021-04-13 2024-03-12 SK Hynix Inc. PCIe device
KR102570943B1 (ko) 2021-04-13 2023-08-28 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법
CN114564334B (zh) * 2022-04-27 2022-07-22 苏州浪潮智能科技有限公司 一种mrpc数据处理方法、***及相关组件

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398374A (zh) * 1998-11-03 2003-02-19 英特尔公司 计算机***中的集线器之间进行事务类型通讯的方法和设备
CN1934556A (zh) * 2004-03-19 2007-03-21 皇家飞利浦电子股份有限公司 Pci express开关的pci express端点与下游端口的模拟电路
CN101681325A (zh) * 2007-06-29 2010-03-24 国际商业机器公司 修改PCI Express封包摘要的设备、***和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2178440A1 (en) * 1995-06-07 1996-12-08 Robert W. Horst Fail-fast, fail-functional, fault-tolerant multiprocessor system
JPH0926853A (ja) * 1995-07-13 1997-01-28 Hitachi Ltd ファイルパーティション拡張方法および装置
US7320080B2 (en) * 2003-10-15 2008-01-15 Intel Corporation Power management over switching fabrics
US20050237329A1 (en) * 2004-04-27 2005-10-27 Nvidia Corporation GPU rendering to system memory
US7970958B2 (en) * 2005-06-20 2011-06-28 Micron Technology, Inc. Peripheral interface alert message for downstream device
JP4667459B2 (ja) * 2005-07-05 2011-04-13 パナソニック株式会社 読出しデータ長の指定方法
JP4707695B2 (ja) * 2007-05-18 2011-06-22 株式会社リコー データ処理装置及びその自己診断方法
JP2009205334A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 性能モニタ回路及び性能モニタ方法
CN101320361B (zh) * 2008-02-27 2011-12-07 中兴通讯股份有限公司 一种多cpu通讯方法及***
JP5244037B2 (ja) * 2008-07-15 2013-07-24 パナソニック株式会社 メモリデバイス、メモリデバイス制御装置
JP2010026592A (ja) * 2008-07-15 2010-02-04 Panasonic Corp メモリデバイスおよびメモリデバイス制御装置
US8327039B2 (en) * 2009-08-14 2012-12-04 Cadence Design Systems, Inc. Integrated DMA processor and PCI express switch for a hardware-based functional verification system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398374A (zh) * 1998-11-03 2003-02-19 英特尔公司 计算机***中的集线器之间进行事务类型通讯的方法和设备
CN1934556A (zh) * 2004-03-19 2007-03-21 皇家飞利浦电子股份有限公司 Pci express开关的pci express端点与下游端口的模拟电路
CN101681325A (zh) * 2007-06-29 2010-03-24 国际商业机器公司 修改PCI Express封包摘要的设备、***和方法

Also Published As

Publication number Publication date
KR20130045357A (ko) 2013-05-03
US20120017025A1 (en) 2012-01-19
JP2013534680A (ja) 2013-09-05
CN103003808A (zh) 2013-03-27
US8291146B2 (en) 2012-10-16
KR101704776B1 (ko) 2017-02-08
EP2593876A1 (en) 2013-05-22
JP5893020B2 (ja) 2016-03-23
WO2012009559A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
CN103003808B (zh) 用于访问PCI Express 兼容设备的资源的***和方法
JP5374268B2 (ja) 情報処理装置
CN100568211C (zh) 用可编程器件实现访问多个i2c从器件的方法及装置
US8407367B2 (en) Unified connector architecture
JP4998469B2 (ja) インターコネクション用スイッチおよびシステム
CN101409670B (zh) 管理组件传输协议互连滤波和路由
CN101901205B (zh) 在PCIExpress上启用基于ID的流的方法和装置
JP2008545319A (ja) Rs−232/i2c変換icとホスト間の通信用ソフトウェア層
WO2015169038A1 (zh) 集成电路总线***及其数据操作和传输方法
CN110476156A (zh) 通用串行总线网络交换机
US7460531B2 (en) Method, system, and program for constructing a packet
CN106126465B (zh) 一种数据传输方法及装置
CN105162732A (zh) 创建扩展端口的方法、装置
CN100354847C (zh) 用于对等消息路由的软件透明***和方法
CN115905095A (zh) Usb免驱通信方法、装置、电子设备及存储介质
CN105491082A (zh) 远程资源访问方法和交换设备
CN114915499B (zh) 数据传输方法、相关装置、***及计算机可读存储介质
US8069273B2 (en) Processing module
CN103973581A (zh) 一种报文数据处理方法、装置及***
US10970155B1 (en) Error reporting when reading data
CN104331281B (zh) 一种为lxi模块提供远程控制功能的代理服务***及方法
CN108132900A (zh) 转接设备、远程通信***以及数据传输方法
CN207676336U (zh) 转接设备、远程通信***
CN109885508A (zh) 高速外设组件互连标准总线***及其数据传输方法、装置
Zhang et al. SRIO: The Embedded System Interconnection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant