CN108205510B - 数据处理 - Google Patents

数据处理 Download PDF

Info

Publication number
CN108205510B
CN108205510B CN201711382988.2A CN201711382988A CN108205510B CN 108205510 B CN108205510 B CN 108205510B CN 201711382988 A CN201711382988 A CN 201711382988A CN 108205510 B CN108205510 B CN 108205510B
Authority
CN
China
Prior art keywords
data
node
slave
request
data transmission
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
CN201711382988.2A
Other languages
English (en)
Other versions
CN108205510A (zh
Inventor
耿光辉
安德鲁·戴维·图恩
丹尼尔·萨拉
潘尼德拉·库玛·曼娜瓦
布鲁斯·詹姆斯·梅休森
贾姆希德·贾拉勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd filed Critical ARM Ltd
Priority to CN202310919480.0A priority Critical patent/CN117009272A/zh
Publication of CN108205510A publication Critical patent/CN108205510A/zh
Application granted granted Critical
Publication of CN108205510B publication Critical patent/CN108205510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6042Allocation of cache space to multiple users or processors
    • G06F2212/6046Using a specific cache allocation policy other than replacement policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

本公开涉及数据处理。一种数据处理系统包括主节点,用于发起数据传输;一个或多个从节点,用于接收所述数据传输;以及本地节点,用于控制由所述数据处理系统存储的数据之间的相干性;其中从所述主节点到所述一个或多个从节点中的一个的至少一个数据传输绕过所述本地节点。

Description

数据处理
技术领域
本申请涉及数据处理。
背景技术
数据传输协议可以例如在片上系统(SoC)或片上网络(NoC)系统的情况下调节经由互连电路彼此连接的装置或节点之间的数据传输的操作。这种数据传输协议的示例是所谓的AMBA(高级微控制器总线架构)CHI(相干集线器接口)协议。
在CHI协议中,节点可以分为请求节点(RN)、本地节点(HN)或从节点(SN)。节点可以完全相干或输入/输出(I/O)相干。完全相干的HN或RN(分别是HN-F、RN-F)包括相干的缓存存储器;完全相干的SN(SN-F)与HN-F配对。HN-F可以管理存储区域的相干性。
在此,术语“相干(coherent)”意味着由一个节点写入到相干存储器系统中的存储器地址的数据与由节点中的另一个从相干存储器系统中的该存储器地址读取的数据一致。因此,与相干函数相关联的逻辑的作用是确保在数据处理事务发生之前,如果待访问的数据项的版本过期(由于对相同数据项的另一个副本进行修改),则待访问的副本首先被更新。类似地,如果数据处理事务涉及修改数据项,则相干逻辑避免与数据项的其它现有副本的冲突。
CHI协议旨在通过提供写入数据通道应该是自由流动来避免互连成为禁止数据传输的瓶颈。这通过HN响应于接收来自RN的与对SN的数据写入相关的写入请求而将完整的数据分组缓冲区分配给该RN以在CHI兼容系统中实现。当与传输相关的所有数据微片(流控制数字)已从RN接收到并发送到SN上时,数据分组缓冲区被释放。这种布置对HN处的缓冲空间提出重要的要求。
其它示例性协议包括AXI(高级可扩展接口)或ACE(AXI一致性扩展)协议。CHI和AXI/ACE协议在某些方面是不兼容的。例如,ACE协议没有利用HN,但提供了一致性。虽然每个要求写入数据是自由流动的,但是互连件(其管理ACE协议中的一致性)必须将写入数据作为与写入请求相同的事务的一部分进行路由。
发明内容
在示例性布置中提供了数据处理系统,所述数据处理系统包括:主节点,用于发起数据传输;一个或多个从节点,用于接收所述数据传输;以及本地节点,用于控制由所述数据处理系统存储的数据之间的相干性;其中从所述主节点到所述一个或多个从节点中的一个的至少一个数据传输绕过所述本地节点。
在另一个示例性布置中提供了接口电路,所述接口电路包括:用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的电路,所述本地节点控制由所述数据处理系统存储的数据之间的相干性;所述接口电路被配置为根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
在另一个示例性布置中提供了数据处理方法,所述数据处理方法包括:主节点发起到一个或多个从节点的数据传输;本地节点控制存储在所述一个或多个从节点处的数据之间的相关性;以及将数据传输到所述一个或多个从节点中的一个的所述主节点绕过所述本地节点。
在另一个示例性布置中提供了方法,所述方法包括:提供用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的接口电路,所述本地节点控制由所述数据处理系统存储的数据之间的相干性;所述接口电路根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
本技术的其它相应方面和特征由所附权利要求书限定。
附图说明
将仅借助示例并参考如附图所示的实施例来进一步描述本技术,在附图中:
图1示意性地示出了数据处理设备;
图2示意性地示出了写入数据事务;
图3示意性地示出了绕过本地节点的写入数据事务;
图4是示出方法的示意性流程图;
图5示意性地示出了绕过本地节点的写入数据事务;
图6和图7示意性地示出了事务期间的标识符字段;
图8和图9示意性地示出了绕过本地节点的写入数据事务;
图10示意性地示出了写入数据事务;
图11至图13示意性地示出了绕过本地节点的写入数据事务;
图14示意性地示出了接口电路;并且
图15和图16是示出方法的示意性流程图。
具体实施方式
在参考附图讨论实施例之前,提供实施例的以下描述。
示例性实施例提供数据处理系统,其包括:主节点,用于发起数据传输;一个或多个从节点,用于接收数据传输;以及本地节点,用于控制由数据处理系统存储的数据之间的相干性;其中从主节点到一个或多个从节点中的一个的至少一个数据传输绕过本地节点。
示例性布置可以通过允许本地节点监督相干性但也允许主节点直接向从节点发出数据传输来在写入数据事务期间提供对本地节点处的缓冲的减少的需要和/或减少的数据业务。
在一些示例中,系统可以通过主节点利用相干技术,所述主节点被配置为向本地节点发出请求到一个或多个从节点中的一个的数据传输的传输请求;并且本地节点被配置为将传输请求和访问请求串行化到一个或多个从节点,以使得在从节点处写入到存储器地址的数据与响应于后续的访问请求从该存储器地址读取的数据一致。
在一些示例中,旁路技术可以由本地节点实现,所述本地节点被配置为响应于请求到一个或多个从节点的给定从节点的数据传输的给定传输请求的串行化来发布指示对应于给定传输请求的数据传输应该直接对给定从节点进行的授权。在示例性实施方式中,由本地节点发布的授权包括源节点标识符和目标节点标识符;并且源节点标识符指示给定从节点是授权的来源。在一些此类示例中,数据传输包括来源于由本地节点发布的授权的源节点标识符的目标节点标识符。
为了避免所谓的数据危险,在一些示例中,本地节点被配置为禁止与稍后串行化的传输请求相关的第二数据传输将数据写入到与先前串行化的传输请求相关的第一数据传输相同的存储器地址,直到完成第一数据传输之后为止。
在示例中,一个或多个从节点中的每一个均被配置为独立于针对该从节点的任何其它数据传输来接受针对该从节点的每个数据传输。
通过使用主节点与本地节点和一个或多个从节点之间的接口电路,这些布置可以方便地提供跨协议格式的数据传输;接口电路被配置为根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
在示例中,接口电路被配置为生成传输消息,以传输到给定从节点,传输消息至少包括来自所接收的传输请求的存储器地址信息以及来自所接收的数据传输的数据。接口电路可以包括缓冲区,用于缓冲以下中的至少一个:来自所接收的传输请求的地址信息;以及来自所接收的数据传输的数据。
所谓的脏相干数据的清洁可以通过一种布置提供,其中主节点具有相关联的缓存存储器并且一个或多个从节点中的至少一个提供较高级存储器;系统包括至少一个另外的主节点;其中,响应于来自另外的主节点的数据访问请求以从存储在缓存存储器中的存储器地址检索数据,接口电路被配置为接收从缓存存储器检索的数据并将所检索的数据提供给另外的主节点。
在至少一些示例中,如果缓存存储器中检索到的数据被检测为不同于保存在较高级存储器中的相同存储器地址处的数据,则接口电路被配置为将检索到的数据作为到较高级存储器的数据传输进行传输。
在一些示例中,绕过技术可以通过以下方式实现:关于从主节点到从节点中的一个的数据传输,从节点被配置为发布用于数据传输的信用(credit),所述信用通过绕过本地节点的路径提供给主节点。
便利地,为了减少数据业务,从节点可以被配置为发布包括信用和确认的单个消息。
在至少一些示例中,从节点中的一个或多个被配置为根据与主节点不同的通信协议进行操作。例如,主节点可以被配置为根据相干集线器接口协议进行操作,并且节点中的一个或多个可以被配置为根据高级可扩展接口协议进行操作。
另一个示例性实施例提供接口电路,接口电路包括:用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的电路,所述本地节点控制由所述数据处理系统存储的数据之间的相干性;所述接口电路被配置为根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
在一些示例中,接口电路被配置为生成传输消息以传输到给定从节点,传输消息至少包括来自从主节点所接收的传输请求的存储器地址信息、以及来自从主节点所接收的数据传输的数据。
另一个示例性实施例提供数据处理方法,所述数据处理方法包括:主节点发起到一个或多个从节点的数据传输;本地节点控制存储在所述一个或多个从节点处的数据之间的相关性;以及所述主节点绕过所述本地节点将数据传输到所述一个或多个从节点中的一个。
另一个示例性实施例提供数据处理方法,所述数据处理方法包括:提供用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的接口电路,所述本地节点控制由所述数据处理系统存储的数据之间的相干性;所述接口电路根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
现在参考附图,图1示意性地示出了体现为由网络100互连的装置的网络的数据处理设备。设备可以被提供作为单个集成电路(诸如所谓的片上系统(SoC)或片上网络(NoC))或作为多个互连的分立装置。
所谓的各种节点经由网络100连接。这些节点包括监督联网系统内的数据相干性的一个或多个本地节点(HN)110、一个或多个从节点(SN)(诸如较高级缓存存储器120(关于“较高级”是相对于由请求节点提供并在下面描述的缓存存储器的))、主存储器130以及外围装置140。以举例的方式选择图1所示的从节点,并且可以提供每种类型从节点中的零个或更多个。
图1还示出了所谓的多个请求节点(RN)150、160、170、180。其中,RN 160、170根据CHI(相干集线器接口)协议进行操作,并且RN180根据AXI(高级可扩展接口)标准进行操作。
RN 160是具有相关联缓存存储器162的完全相干的RN(RN-F)。RN 170也可以是RN-F并且可以具有缓存存储器172。RN 150是根据所谓的ACE-lite协议进行操作的输入/输出相干主节点。
网络接口(NI)被提供用于节点150、160、170、180。用于节点160、170的NI是CHI-NI164、174,并且用于节点150、180的NI是AXI-Nis 154、184。网络接口的操作将在下面进一步讨论。
如上所述,节点可以是完全相干或输入/输出(I/O)相干。完全相干的HN或RN(分别是HN-F、RN-F)包括相干的缓存存储器。完全相干的SN(SN-F)与HN-F配对。HN-F可以管理存储区域的相干性。
在示例性布置中,一个或多个从节点中的每一个均被配置为独立于针对该从节点的任何其它数据传输来接受针对该从节点的每个数据传输。
如下所讨论的,NI可以提供主节点与本地节点和一个或多个从节点之间的接口电路的示例;接口电路被配置为根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
例如,如下面参考图3所讨论的,CHI-NI可以向AXI兼容从节点发布写入数据分组。
因此,在至少一些示例中,图1表示其中从节点中的一个或多个被配置为根据与主节点不同的通信协议进行操作的示例。例如,主节点可以被配置为根据相干集线器接口协议进行操作,并且节点中的一个或多个可以被配置为根据高级可扩展接口协议进行操作。下面所讨论的示例也可以应用于主节点和从节点的这种配置。
图2是表示根据先前提出的CHI协议的数据写入请求的示意图。在此并且在下面将要讨论的相应的类似图中,处理的时间或至少进度从较早(在图的顶部)到稍后(在图的底部)、在垂直方向上示出。系统内的不同节点由垂直线表示,因此表示图2的示例,即经由本地节点HN-F从请求节点RN-F到从节点SN-F发生的写入事务。
写入事务由RN-F在时间200处通过RN-F将写入请求210发送到HN-F而发起。HN-F在时间220处将缓冲存储器分配给写入请求,并向RN-F返回完成指示(CompDBIDResp)230。
同时,RN-F已将写入数据保存在本地缓冲器中,但在从HN-F接收到完成指示后,在时间240处,将写入数据发送到HN-F作为数据250。HN-F在接收到来自RN-F的数据时将写入数据存储在其分配的缓冲区中。此时,HN-F将指示没有监听检测的写入操作的写入请求(WriteNoSnp)260发送到SN-F。SN-F用写入请求的接受确认270进行响应,并且在时间280处接收到该确认后,HN-F将缓冲的写入数据发送到SN-F作为数据290。
在这种布置中,在RN-F和HN-F处需要缓冲。为了完成事务,必须至少在时间200和240之间的RN-F处分配缓冲空间,并且必须至少在时间210和280之间的HN-F处分配缓冲空间。
如上所述,在CHI协议中存在某种要求:
从RN的角度来看,写入数据通道必须是自由流动的。如图2所示,这通过在HN处为每个未决的写入请求分配完整的数据分组缓冲区而提供在先前提出的CHI配置中。但是,这可能导致需要大量本地缓冲存储器;在一些示例性布置中,每个数据缓冲区的大小为64字节,因此在集成电路面积和功率消耗方面,提供足够的缓冲存储器可能是昂贵的。
还应注意,图2中示意性示出的先前提出的CHI事务与AXI端点不兼容。
图3示意性地表示涉及CHI-NI的事务(图1中的164、174)。图3所示的事务是指对从节点SN-F进行写入事务的请求节点CHI-RN。如前所述,处理的时间/进度从较早(在图的上部)到稍后(在图的下部)、在垂直方向上示出。
参考图3,CHI-RN向CHI-NI发出写入请求300。CHI-NI存储写入事务的地址,并将来源于写入请求300的写入请求302转发给HN。
当请求已与任何前面的请求一起串行化时,HN在时间310处向CHI-NI返回响应。然而,与图2中所示的布置不同,响应320指示CHI-NI将写入数据发送到最终目标节点SN-F而不是到HN。这是一个示例,其中本地节点被配置为响应于请求到一个或多个从节点的给定从节点的数据传输的给定传输请求的串行化来发布指示对应于给定传输请求的数据传输应该直接对给定从节点进行的授权。下面将讨论用于实现这一点的示例性技术(通过改变消息中的源地址和/或目标地址)。
CHI-NI将来源于响应320的响应322转发给CHI-RN,并且还在CHI-NI处分配本地数据分组缓冲区,以便保证接受属于该事务的所有写入数据微片(流控制数字)。响应于接收响应322,CHI-RN将写入数据发送到CHI-NI作为数据330。
当在其数据分组缓冲区中已接收到属于相同事务的所有写入数据微片时,CHI-NI将全写入包发送到最终目标节点(在该示例中)作为AXI全写入包340。因此,在该示例中,接口电路被配置为生成传输消息,以传输到给定从节点,传输消息至少包括来自所接收的传输请求的存储器地址信息以及来自所接收的数据传输的数据。CHI-NI取消分配数据分组缓冲区和事务地址追踪,但是可以维持与CHI-NI与目标节点SN-F之间的事务相关的事务标识符(ID)的追踪。
目标节点接受写入包(为了避免死锁,其在单独的通道上发送到先前发送到HN的写入请求),而不依赖其它请求。当事务完成时,目标节点将响应350发送到CHI-NI。CHI-NI可以将所接收的响应转发给RN,并将完成确认360发送到HN。此时它还从ID追踪取消分配请求。
在一些示例中,从RN到HN可能需要确认(在使用中的特定协议下),在这种情况下,CHI-NI在发布确认360之前等待从RN接收该确认。
在接收到确认360后,HN从其自己的追踪器取消分配请求,并移除与请求相关联的“危险”(换言之,请求现在不再与共同未决请求的序列化相关)。
在缓冲要求方面,需要数据分组缓冲区来覆盖CHI-NI与RN之间的延迟。请求缓冲区仅需要覆盖CHI-NI请求与HN的响应之间的往返延迟。
因此,根据图3的示例进行操作的图1的布置表示数据处理系统的示例,所述数据处理系统包括:主节点,用于发起数据传输;一个或多个从节点,用于接收数据传输;以及本地节点,用于控制由数据处理系统存储的数据之间的相干性;其中从主节点到一个或多个从节点中的一个的至少一个数据传输绕过本地节点。
图4是示出如上所述的写入数据事务的情况下的本地节点(HN)的操作的示意性流程图。
在步骤400处,HN将该事务串行化在其它未决事务之中,以便相对于访问相同或重叠的存储区域的其它事务以正确的相关性顺序来播放该事务。
在步骤410处,HN生成所谓的危险。在这种情况下,危险是由HN所保持的指示,即用于线的特定存储区域是未决事务的主题,其可能改变该线路的上下文,以使得危险指示HN不允许其它事务访问该线直到已完成当前事务。
在步骤420处,HN为待发生的事务提供授权。在图3的情况下,这是响应320。
在步骤430处,HN接收事务完成的确认,其在图3的情况下由确认360表示,并且在步骤440处,HN释放与用于线的特定存储区域相关联的危险。
因此,可以看出,HN保持对如不同地址之间的相干性和危险性的控制,但是如参考图3所讨论的,写入事务随后可以在请求节点与目标节点之间进行。
因此,在此类示例中,主节点被配置为向本地节点发出请求到一个或多个从节点中的一个的数据传输的传输请求;并且本地节点被配置为将传输请求和访问请求串行化到一个或多个从节点,以使得在从节点处写入到存储器地址的数据与响应于后续的访问请求从该存储器地址读取的数据一致。
图5提供了适合于图1的RN(AXI)180与目标节点(诸如SN-F)之间的写入事务的流程的示意图。格式类似于图3所示的格式,以使得时间或进度从朝向页面的顶部的较早时间运行到朝向页面的底部的稍后时间。
RN(AXI)通过将写入包500发送到AXI-NI来发起写入操作。在AXI协议的情况下,写入包包括目标地址和所有的写入数据。
AXI-NI缓冲从RN(AXI)所接收的写入包。AXI-NI将写入请求510发送到HN。应注意,与AXI写入包500不同,写入请求510仅仅是请求,而不是写入数据。
HN就像从CHI兼容请求节点中那样处理写入请求,并且返回确认请求并授权发送写入数据到目标节点的响应520。响应于响应520,AXI-NI将全写入包(请求和数据)530发送到目标节点,所述目标节点反过来用完成的确认540进行响应。AXI-NI将该确认发送到RN(AXI)作为确认550,并且还将完成560发送到HN。
图6和图7提供了关于如何在图3和图5的布置中处理包寻址的示意性指示。
图6涉及图3所示并且上面所讨论的布置。来自CHI-RN的原始请求具有各种标识符字段,包括源标识符600、目标标识符(标识最终目标(SN)602)以及事务ID 604。CHI-NI接收这些标识符字段并将它们与AXI ID 610相关联。从CHI-NI发送到HN的写入请求300向前携带与由RN提供的那些相同的源ID、目标ID和事务ID。
HN在图3的时间点310处向CHI-NI返回响应。在该响应中,相同的事务ID被维持,源ID 600成为响应320的目标ID 620(换句话说,将响应引导回到始发RN),并且HN添加自己的源ID 622;然而,这个源ID不指示HN作为消息的来源,而替代地指示目标SN作为来源。这意味着当写入数据被返回时,它将被发送到SN而不是到HN。这是一个示例,其中本地节点被配置为响应于请求到一个或多个从节点的给定从节点的数据传输的给定传输请求的串行化来发布指示对应于给定传输请求的数据传输应该直接对给定从节点进行的授权。具体地,在这些示例中,由本地节点发布的授权包括源节点标识符和目标节点标识符;并且源节点标识符指示给定从节点是授权的来源。其中这可以操作的方式是在数据传输包括来源于由本地节点发布的授权的源节点标识符的目标节点标识符的情况下。
CHI-NI接收响应320并将与其响应320相同的标识符字段转发给RN,其中事务ID604被复制为DBID。
参考图3描述的下一个阶段是CHI-RN转发写入数据330。此外,这具有与之相关联的源ID、目标ID和事务ID。源ID 630从所接收的响应的目标ID字段获得,所述源ID 630是表示CHI-RN的ID。写入数据330(632)的目标ID从所接收的响应320的源ID获得,并且写入数据330的事务ID 634被认为是响应320的DBID。写入数据330被发送到CHI-NI。
随后,CHI-NI生成图3中的包340,其中它用从CHI-RN所接收的事务ID替换AXI-ID610,但是向前携带源ID 630和目标ID 632。
如上所述,目标ID 632限定SN,并且因此数据分组340被路由到接收写入包并执行所需的写入操作的SN。SN随后生成完成的确认350,其通过交换所接收的数据分组340的源ID和目标ID来识别。这将确认路由回给CHI-NI。
CHI-NI接收确认350,并通过参考AXI ID重新插入原始事务604。所接收的确认的目标ID(标识CHI-NI)变成确认360的源ID 640,并且确认360的目标ID 642被认为是原始请求的目标ID 602,这意味着确认360被路由回到本地节点。
图7示意性地示出了对应于上述图5的事务的类似布置。
在图7中,写入包510具有由AXI-NI生成的源ID 512、目标ID514、事务ID 516和AXIID 518。
在本地节点处,形成响应520,其中事务ID 516被维持,响应522的目标ID从数据分组510的源ID获得,并且响应的源ID 524在HN处生成并且表示目标(SN)而不是HN本身。
如参考图5所讨论的,AXI-NI生成写入包530,所述写入包530具有AXI-NI 512的原始源ID、从源ID 524获得的目标ID和等于AXI ID 518的事务ID 532。这被直接发送到目标(SN)以形成被发送回给AXI NI的确认540,在所述目标(SN)处源ID和目标ID被切换。
在AXI-NI处,确认560生成,用于发送到HN。这具有作为其源ID550的所接收的确认540的目标ID、作为其目标ID 552的原始目标ID 514以及作为其事务ID 554的原始事务ID516。如上所讨论的,确认560被路由回到本地节点。
图8示意性地示出了其中存在潜在的“脏”数据(已在本地缓存中修改并且尚未写回到存储器的数据)的布置。
在图8中,假定请求节点800(诸如具有NI的RN-F)和完全相干的RN 810与系统相关联,并且RN-F 800正引用数据,所述数据的副本由RN-F 810保存在本地缓存中。
RN针对讨论中的特定数据的干净副本发布请求820。这个请求转到HN,HN发出指令830来“清理”数据,换言之,如果它是脏的,则使它干净。指令830可以以广播的方式发布给所有节点,或者可以基于由HN保存的目录或其它数据集选择性地发送到确实(或可能)具有相关数据的本地副本的节点。
与RN-F 810相关联的CHI-NI接收指令830,并将其作为指令832转发给RN-F。
RN-F用三个数据项做出响应:包括所考虑的数据的确认840被发送到CHI-NI,CHI-NI将其转发给存储数据的始发RN 800。响应消息844从CHI-NI发送到HN(响应于数据846),以指示HN应当预期两个确认来指示当前操作的完成。数据本身846被发送到CHI-NI,CHI-NI将其作为包括目标地址848的写入数据分组直接发布给SN(诸如主存储器),SN进而将确认发送回到CHI-NI 850。
两个确认随后被发送到HN:一个由RN发送852并且一个由CHI-NI发送854。一旦收到这两个确认中的第二个,HN关闭事务并释放危险。
图9示意性地示出了HN在与回写请求(对于诸如主存储器的从节点)由另一个RN发出基本上同时接收对特定数据项的读取请求的情况。
参考图9,其示出了两个RN,即RN-F0和RN-F1,在该示例中两者都是完全相干的。
RN-F1向HN发出读取请求900,与由RN-F0发出的回写请求910重叠。
HN接收读取请求900,并且由于相关数据的副本保存在RN-F0处,所以向RN-F0发出所谓的监听请求902,所述监听请求902由与RN-F0相关联的CHI-NI接收并转发为请求904。同时,当读取请求900被履行时,回写请求910被HN延迟。
相关数据920的副本由RN-F0返回给CHI-NI。这随后采取两个行动。一个是将监听响应已转发给始发的RN(RN-F1)的指示930发送到HN,并且另一个是将监听到的数据922发送到RN-F1,RN-F1进而将确认940发送到HN。一旦已接收到确认940和指示930,回写请求910的延迟可以由HN提升,以使得HN将响应950发送到CHI-NI,CHI-NI将响应950转发给RN-F0。
RN-F0将回写数据960返回到CHI-NI。然而,CHI-NI从前面的数据922的发布中知道,相关数据已返回到HN用于回写,并且因此CHI-NI仅将完成确认962发送到HN,从而关闭写入事务。
因此,图9提供了一个示例,其中本地节点被配置为禁止与稍后串行化的传输请求相关的第二数据传输将数据写入到与先前串行化的传输请求相关的第一数据传输相同的存储器地址,直到完成第一数据传输之后为止。
图8和图9还提供了示例,其中主节点具有相关联的缓存存储器,并且一个或多个从节点中的至少一个提供较高级存储器;系统包括至少一个另外的主节点;其中,响应于来自另外的主节点的数据访问请求以从存储在缓存存储器中的存储器地址检索数据,接口电路被配置为接收从缓存存储器检索的数据,并将所检索的数据提供给另外的主节点。在图8中,如果缓存存储器中检索到的数据被检测为不同于保存在较高级存储器中的相同存储器地址处的数据,则接口电路被配置为传输检索到的数据作为到较高级存储器的数据传输(诸如848)。
图10是形式上类似于上面所讨论的图2的示意图,其中请求节点RN经由本地节点执行到在该示例中是存储器控制器(MC)的从节点的数据写入事务。
控制流类似于图2所示的控制流写入请求1000通过本地节点从RN转发给MC。与写入相关联的数据遵循与写入请求一起或与单独的消息1010相同的路径。
当写入数据与写入请求一起传递时,请求(RN)的发送者必须从请求和数据两者的下一个目的地获得隐式或显式“信用”。另一方面,在写入数据被单独发送的情况下(如图10示意性所示的),通常,写入请求由本地节点并由存储器控制器使用作为隐含地请求用于正确数据的信用。一旦信用1015由RN从本地节点接收,写入数据1010就由RN发送到本地节点。类似地,在写入数据从本地节点转发给MC之前,信用1020必须由本地节点从MC接收。
示例性实施例涉及请求从RN发送到本地节点,本地节点进而将其转发给存储器控制器。该请求被用作从请求者到存储器控制器的信用的请求。存储器控制器进而将信用响应直接发送到请求者(RN)。请求者在接收到信用后直接将数据发送到存储器控制器。
图11示意性地示出了这种技术的示例。参考图11,请求节点(诸如完全相干的请求节点RN-F)将写入请求1100发送到完全相干的本地节点,所述本地节点将写入请求1100转发给目标(SN-F),并且还将完成通知1110发送回到RN-F。SN-F直接将数据信用1120发送到RN-F,RN-F通过将写入数据1130直接发送到SN-F来进行响应。
在示例性布置中,除了到RN-F的数据信用消息之外,接收方节点SN-F也将确认接收到请求的确认消息1140发送到HN-F。
在请求者RN-F从本地节点接收完成通知1110之后,另外的确认1150可以从RN-F发送到本地节点。
因此,根据图11的示例进行操作的图1的布置表示数据处理系统的示例,所述数据处理系统包括:
主节点,用于发起数据传输;
一个或多个从节点,用于接收数据传输;以及
本地节点,用于控制由数据处理系统存储的数据之间的相干性;
其中从主节点到一个或多个从节点中的一个的至少一个数据传输绕过本地节点。
因此,图11(以及下面待讨论的图12和图13)提供示例,其中关于从主节点到从节点中的一个的数据传输,从节点被配置为发布用于数据传输的信用,所述信用通过绕过本地节点的路径提供给主节点。
图12和图13示意性地示出了这种技术的变型。
在图12中,写入请求1200由RN发送到本地节点,并且如前所述转发给MC,MC随后发送包括数据信用和完成通知的单个信用消息1210。作为响应,RN将写入数据1220直接发送到MC并且将确认1230发送到本地节点。因此这是其中从节点被配置为发布包括信用和确认的单个消息的示例。
参考图13,写入请求1300再次从RN发送到本地节点,本地节点将写入请求转发给MC。如图12所示,单个数据信用加上完成通知1310由MC发送到用写入数据1320回复的RN。MC随后将完成确认1330发送回到本地节点以关闭该过程。
这些布置可以适用于相干数据写入(“write unique”)和非相关数据写入(“writeno SNP”)两者。
示例性实施例提供了多个潜在的优点。
本地节点不需要处理写入数据,这进而可以减少在本地节点处所需的处理资源和/或缓冲。
用于每个写入操作的互连件处的数据消息的数量在一些情况下可能减半。
数据交错可能通过避免向本地节点上传数据和从本地节点下载数据而减少。接收方节点(诸如存储器控制器或SN-F)处的数据分组接收器逻辑可以关于非交织数据更高效地执行。
可以实现经由本地节点的潜在更大的请求吞吐量以及经由互连件的潜在更大的数据吞吐量,因为可以获得潜在更有效的写入数据流。
图14示意性地示出了接口电路,所述接口电路包括接口1400,用于与相应的主节点交换数据;缓冲区1410,用于缓冲来自从主节点接收到的传输请求的地址信息以及来自所接收的数据传输的数据中的至少一个;以及接口1420,用于与其它节点交换数据。如上所讨论的,接口1400、1410可以提供用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的电路的示例,所述本地节点控制由数据处理系统存储的数据之间的相干性。接口电路可以被配置为根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。在一些示例中,接口电路可以被配置为生成传输消息,以传输到给定从节点,传输消息至少包括来自从主节点所接收的传输请求的存储器地址信息以及来自从主节点所接收的数据传输的数据。
图15是示出数据处理方法的示意性流程图,所述数据处理方法包括:(在步骤1500处)主节点发起到一个或多个从节点的数据传输;(在步骤1510处)本地节点控制存储在一个或多个从节点处的数据之间的相关性;以及(在步骤1520处)将数据传输到一个或多个从节点中的一个的主节点绕过本地节点。
图16是示出方法的示意性流程图,所述方法包括:(在步骤1600处)提供用于与数据处理系统的主节点以及与本地节点和一个或多个从节点交换信息的接口电路,所述本地节点控制由数据处理系统存储的数据之间的相干性;以及(在步骤1610处)接口电路根据第一数据传输协议从主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所接收的数据传输的数据传输到给定从节点。
在本申请中,词语“被配置为......”意指设备的元件具有能够执行所限定的操作的配置。在这种情况下,“配置”意味着硬件或软件的互连的布置或方式。例如,设备可以具有提供所限定的操作的专用硬件,或者可以编程处理器或其它处理设备(诸如上面所讨论的处理元件)以执行功能。“配置为”并不意旨设备元件需要以任何方式改变以便提供所限定的操作。
尽管已参考附图在本文详细描述了本技术的说明性实施例,但是应当理解,本技术不限于那些精确的实施例,并且各种改变、添加和修改可以由本领域的技术人员实现而在不脱离由所附权利要求书所限定的技术的范围和精神。例如,可以将从属权利要求的特征与独立权利要求的特征一起进行各种组合而不偏离本技术的范围。

Claims (15)

1.一种数据处理系统,包括:
主节点,用于发起数据传输;
一个或多个从节点,用于接收所述数据传输;以及
本地节点,用于控制由所述数据处理系统存储的数据之间的相干性;
其中从所述主节点到所述一个或多个从节点中的一个的至少一个数据传输绕过所述本地节点;
其中:
所述主节点被配置为向所述本地节点发出请求到所述一个或多个从节点中的一个的数据传输的传输请求;
所述本地节点被配置为将传输请求和访问请求串行化到所述一个或多个从节点,以使得在从节点处写入到存储器地址的数据与响应于后续的访问请求从所述存储器地址读取的数据一致;并且
所述本地节点被配置为响应于请求到所述一个或多个从节点的给定从节点的数据传输的给定传输请求的串行化来发布指示对应于所述给定传输请求的所述数据传输应直接对所述给定从节点进行的授权。
2.如权利要求1所述的系统,其中:
由所述本地节点发布的所述授权包括源节点标识符和目标节点标识符;并且
所述源节点标识符指示所述给定从节点是所述授权的来源。
3.如权利要求2所述的系统,其中所述数据传输包括来源于由所述本地节点发布的所述授权的所述源节点标识符的目标节点标识符。
4.如权利要求1所述的系统,其中所述本地节点被配置为禁止与稍后串行化的传输请求相关的第二数据传输将数据写入到与先前串行化的传输请求相关的第一数据传输相同的存储器地址,直到完成所述第一数据传输之后为止。
5.如权利要求1所述的系统,其中所述一个或多个从节点中的每一个被配置为独立于针对所述从节点的任何其它数据传输来接受针对所述从节点的每个数据传输。
6.如权利要求1所述的系统,其包括:
接口电路,所述接口电路位于所述主节点与所述本地节点和所述一个或多个从节点之间;
所述接口电路被配置为根据第一数据传输协议从所述主节点接收传输请求和数据传输,并且根据不同的第二数据传输协议将来自所述所接收的数据传输的数据传输到所述给定从节点。
7.如权利要求6所述的系统,其中所述接口电路被配置为生成传输消息,以传输到所述给定从节点,所述传输消息至少包括来自所述所接收的传输请求的存储器地址信息和来自所述所接收的数据传输的数据。
8.如权利要求7所述的系统,其中所述接口电路包括缓冲区,用于缓冲以下项中的至少一个:
来自所述所接收的传输请求的地址信息;以及
来自所述所接收的数据传输的数据。
9.如权利要求6所述的系统,其中所述主节点具有相关联的缓存存储器,并且所述一个或多个从节点中的至少一个提供较高级存储器;
所述系统包括至少一个另外的主节点;
其中,响应于来自所述另外的主节点的数据访问请求以从存储在所述缓存存储器中的存储器地址检索数据,所述接口电路被配置为接收从所述缓存存储器检索的数据,并将所述所检索的数据提供给所述另外的主节点。
10.如权利要求9所述的系统,其中如果所述缓存存储器中检索到的所述数据被检测为不同于保存在所述较高级存储器中的相同存储器地址处的数据,则所述接口电路被配置为将所述检索到的数据作为到所述较高级存储器的数据传输进行传输。
11.如权利要求1所述的系统,其中,关于从所述主节点到所述从节点中的所述一个从节点的数据传输,所述从节点被配置为发布用于所述数据传输的信用,所述信用通过绕过所述本地节点的路径提供给所述主节点。
12.如权利要求11所述的系统,其中所述从节点被配置为发布包括所述信用和确认的单个消息。
13.如权利要求1所述的系统,其中所述从节点中的一个或多个被配置为根据与所述主节点不同的通信协议进行操作。
14.如权利要求13所述的系统,其中所述主节点被配置为根据相干集线器接口协议进行操作,并且所述节点中的一个或多个被配置为根据高级可扩展接口协议进行操作。
15.一种数据处理方法,包括:
主节点发起到一个或多个从节点的数据传输;
本地节点控制存储在所述一个或多个从节点处的数据之间的相关性;以及
将数据传输到所述一个或多个从节点中的一个的所述主节点绕过所述本地节点;
所述主节点向所述本地节点发出请求到所述一个或多个从节点中的一个的数据传输的传输请求;
所述本地节点将传输请求和访问请求串行化到所述一个或多个从节点,以使得在从节点处写入到存储器地址的数据与响应于后续的访问请求从所述存储器地址读取的数据一致;
所述本地节点响应于请求到所述一个或多个从节点的给定从节点的数据传输的给定传输请求的串行化来发布指示对应于所述给定传输请求的所述数据传输应直接对所述给定从节点进行的授权。
CN201711382988.2A 2016-12-20 2017-12-20 数据处理 Active CN108205510B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310919480.0A CN117009272A (zh) 2016-12-20 2017-12-20 数据处理

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/384,688 2016-12-20
US15/384,688 US10489323B2 (en) 2016-12-20 2016-12-20 Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310919480.0A Division CN117009272A (zh) 2016-12-20 2017-12-20 数据处理

Publications (2)

Publication Number Publication Date
CN108205510A CN108205510A (zh) 2018-06-26
CN108205510B true CN108205510B (zh) 2023-08-15

Family

ID=61007086

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310919480.0A Pending CN117009272A (zh) 2016-12-20 2017-12-20 数据处理
CN201711382988.2A Active CN108205510B (zh) 2016-12-20 2017-12-20 数据处理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310919480.0A Pending CN117009272A (zh) 2016-12-20 2017-12-20 数据处理

Country Status (5)

Country Link
US (2) US10489323B2 (zh)
JP (1) JP7153441B2 (zh)
KR (1) KR102469404B1 (zh)
CN (2) CN117009272A (zh)
GB (1) GB2559268B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system
US11269773B2 (en) * 2019-10-08 2022-03-08 Arm Limited Exclusivity in circuitry having a home node providing coherency control
US11630774B2 (en) 2020-09-28 2023-04-18 Mobileye Vision Technologies Ltd. Preventing overwriting of shared memory line segments
US11989051B2 (en) 2021-06-08 2024-05-21 Salesforce, Inc. Time alignment in director-based database system for transactional consistency
US20220391291A1 (en) * 2021-06-08 2022-12-08 Salesforce.Com, Inc. History information in director-based database system for transactional consistency
US11822535B2 (en) 2021-06-08 2023-11-21 Salesforce, Inc. Director-based database system for transactional consistency
CN116257479B (zh) * 2023-05-16 2023-08-15 北京象帝先计算技术有限公司 重排序缓冲器、系统、装置、设备及传输方法
CN116578523B (zh) * 2023-07-12 2023-09-29 上海芯高峰微电子有限公司 片上网络系统及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107032A (ja) * 1990-08-28 1992-04-08 Mitsubishi Denki Shomei Kk 情報伝送システム
JP2010212938A (ja) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp リング型ネットワークシステム
CN102541465A (zh) * 2010-09-28 2012-07-04 Arm有限公司 利用回写排序的连贯性控制
GB201210481D0 (en) * 2011-08-08 2012-07-25 Advanced Risc Mach Ltd Data hazard handling for copending data access requests

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367695A (en) 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
US6115804A (en) 1999-02-10 2000-09-05 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
JP3704573B2 (ja) * 2001-03-14 2005-10-12 東芝ソリューション株式会社 クラスタシステム
US7386680B2 (en) 2005-04-29 2008-06-10 Silicon Graphics, Inc. Apparatus and method of controlling data sharing on a shared memory computer system
US8732386B2 (en) 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
CN102004709B (zh) 2009-08-31 2013-09-25 国际商业机器公司 处理器局部总线到高级可扩展接口之间的总线桥及映射方法
US8510513B2 (en) 2009-12-18 2013-08-13 Electronics And Telecommunications Research Institute Network load reducing method and node structure for multiprocessor system with distributed memory
US20130073811A1 (en) 2011-09-16 2013-03-21 Advanced Micro Devices, Inc. Region privatization in directory-based cache coherence
TWI484789B (zh) * 2011-12-30 2015-05-11 Ind Tech Res Inst 主控裝置、被控裝置、及其網路通訊方法
US20130318308A1 (en) 2012-05-24 2013-11-28 Sonics, Inc. Scalable cache coherence for a network on a chip
US9479275B2 (en) * 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
US9229896B2 (en) 2012-12-21 2016-01-05 Apple Inc. Systems and methods for maintaining an order of read and write transactions in a computing system
US10268815B2 (en) * 2015-06-26 2019-04-23 Intel Corporation Authentication of a multiple protocol connection
US9900260B2 (en) * 2015-12-10 2018-02-20 Arm Limited Efficient support for variable width data channels in an interconnect network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107032A (ja) * 1990-08-28 1992-04-08 Mitsubishi Denki Shomei Kk 情報伝送システム
JP2010212938A (ja) * 2009-03-10 2010-09-24 Mitsubishi Electric Corp リング型ネットワークシステム
CN102541465A (zh) * 2010-09-28 2012-07-04 Arm有限公司 利用回写排序的连贯性控制
GB201210481D0 (en) * 2011-08-08 2012-07-25 Advanced Risc Mach Ltd Data hazard handling for copending data access requests

Also Published As

Publication number Publication date
US11314675B2 (en) 2022-04-26
JP2018109965A (ja) 2018-07-12
US20180173660A1 (en) 2018-06-21
JP7153441B2 (ja) 2022-10-14
US20200050568A1 (en) 2020-02-13
GB2559268B (en) 2020-02-26
KR102469404B1 (ko) 2022-11-22
CN117009272A (zh) 2023-11-07
KR20180071967A (ko) 2018-06-28
GB201720649D0 (en) 2018-01-24
CN108205510A (zh) 2018-06-26
GB2559268A (en) 2018-08-01
US10489323B2 (en) 2019-11-26

Similar Documents

Publication Publication Date Title
CN108205510B (zh) 数据处理
US6526469B1 (en) Bus architecture employing varying width uni-directional command bus
RU2220444C2 (ru) Компьютерная система и способ передачи данных в компьютерной системе
US7069361B2 (en) System and method of maintaining coherency in a distributed communication system
US7836144B2 (en) System and method for a 3-hop cache coherency protocol
KR100404608B1 (ko) 대칭형 멀티프로세서용 버스식 캐시-코히런스 프로토콜을지원하기 위해 분산 시스템 구조를 이용하는 방법 및 장치
TW201539196A (zh) 用於處理多個交易之資料處理系統及方法
JP2000227908A (ja) 共用介入サポ―トを有する不均等メモリ・アクセス(numa)デ―タ処理システム
JP2000242621A (ja) 共用介入サポートを有する不均等メモリ・アクセス(numa)・データ処理システム
JPH11282820A (ja) スイッチをベースとするマルチプロセッサシステムに使用するための順序サポート機構
KR20000005690A (ko) 잠재적인제3노드트랜잭션을버퍼에기록하여통신대기시간을감소시키는비균일메모리액세스(numa)데이터프로세싱시스템
EP1701267B1 (en) Address snoop method and multi-processor system
KR100378389B1 (ko) 글로벌 코히런스를 제공하는 데이터처리시스템
KR20210002668A (ko) 데이터 처리 네트워크에서 보다 많은 읽기 처리량과 보다 낮은 링크 사용률을 위해 완료 응답과 데이터 응답을 분리시키는 방법 및 장치
EP3800555B1 (en) An apparatus and method for handling cache maintenance operations
EP3788494B1 (en) Transfer protocol in a data processing network
EP4022445B1 (en) An apparatus and method for handling ordered transactions
US11188377B2 (en) Writing zero data
CN114153756A (zh) 面向多核处理器目录协议的可配置微操作机制
JP2018081346A (ja) ストレージ装置、ストレージシステム、ストレージ制御方法、および、ストレージ制御プログラム

Legal Events

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