CN104750580A - 用于多核处理器的具有内部和外部访问的后备处理器单元 - Google Patents

用于多核处理器的具有内部和外部访问的后备处理器单元 Download PDF

Info

Publication number
CN104750580A
CN104750580A CN201410756800.6A CN201410756800A CN104750580A CN 104750580 A CN104750580 A CN 104750580A CN 201410756800 A CN201410756800 A CN 201410756800A CN 104750580 A CN104750580 A CN 104750580A
Authority
CN
China
Prior art keywords
grouping
request
transactions requests
abnormal
respond packet
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
CN201410756800.6A
Other languages
English (en)
Other versions
CN104750580B (zh
Inventor
W·P·斯奈德二世
S·C·巴纳
R·E·凯斯勒
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.)
Kaiwei International Co
Marvell Asia Pte Ltd
Original Assignee
Cavium LLC
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 Cavium LLC filed Critical Cavium LLC
Publication of CN104750580A publication Critical patent/CN104750580A/zh
Application granted granted Critical
Publication of CN104750580B publication Critical patent/CN104750580B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的各实施例涉及用于多核处理器的具有内部和外部访问的后备处理器单元。公开了一种用于在后备处理器单元的信息查找请求处理的方法和体现该方法的系统,该方法包括:在第一缓冲器中存储接收的查找事务请求;将查找事务请求重建成请求分组;传输请求分组;接收分组;确定接收的分组是否包括响应分组或者异常分组;以及根据确定来处理接收的分组。另外,公开了一种用于在后备处理器单元的异常分组处理的方法和体现该方法的系统,该方法包括:在第一缓冲器中存储至少一个接收的查找事务请求;接收分组;确定接收的分组包括异常分组;以及根据第一缓冲器的标识符关联异常分组与至少一个存储的查找事务请求中的一个存储的查找事务请求。

Description

用于多核处理器的具有内部和外部访问的后备处理器单元
技术领域
本公开内容涉及计算机网络中的通信。更特别地,本发明涉及一种用于多核处理器的具有内部和外部访问的后备处理器单元。
背景技术
网络处理器是经常以集成电路的形式被实施的专门化的处理器,该处理器具有被具体地设计用于处理通过网络接收或者传送的分组数据的特征集。这样的处理经常涉及到信息查找从而用信息查找表中的更简单编索引操作替换密集运行时计算。借助示例,与路由有关的处理(即,分组转发)需要查找路由信息,该路由信息包括不同值的元组,这些值的元组组成传输控制协议/网际协议(TCP/IP)连接,例如,5元组包括源IP地址、目的地IP地址、源端口号、目的地端口号和使用的协议。
由于查找通常由外部三态内容可寻址存储器(TCAM)执行,所以可能经由Interlaken Lookaside(ILA)连接到网络处理器。然而,基于存储器的查找遭受查找请求的延时。另外,跟踪已经提交的查找的查找资源被预分配给或者专用于处理器核。因此,包括多核的网络处理器、资源专用由于不同处理核的潜在地不等同使用专用资源而妨碍效率。
因而,在本领域中需要一种提供对以上认识到的问题的解决方案以及附加优点的后备处理器单元。
发明内容
在公开内容的一个方面中,公开了一种根据所附独立权利要求的在后备处理器单元处用于信息查找请求处理和用于异常分组处理的装置和方法。在从属权利要求中公开了附加方面。
附图说明
这里描述的前述方面将通过参照在与附图结合进行时的以下描述而变得更容易地清楚,在附图中:
图1a描绘了根据本公开内容的一个方面的流程图的第一部分,该流程图支持在后备处理器单元处的信息查找请求处理和异常分组处理的过程;
图1b描绘了根据本公开内容的一个方面的流程图的第二部分,该流程图支持在后备处理器单元处的信息查找请求处理和异常分组处理的过程;以及
图2描绘了根据本公开内容的一个方面的后备处理器单元、处理器和内容可寻址存储器的概念结构。
任何未引用的箭头或者双箭头线指示在描绘的实体之间的可能的信息流程。
具体实施方式
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与由本发明所属领域普通技术人员普遍地理解相同的含义。还将理解,应当将术语(比如在常用字典中定义的术语)解释为具有与它们在相关领域和本公开内容的上下文中的含义一致的含义。
如这里所用,单数形式“一个/一种”和“该”旨在于也包括复数形式,除非上下文清楚地另有指示。还将理解,术语“包括”在本说明书中被使用时指定存在陈述的特征、整体、步骤、操作、单元和/或部件,但是未排除存在或者添加一个或者多个其它特征、整体、步骤、操作、单元、部件和/或其组合。术语“和/或”包括关联的列举的项目中的一个或者多个项目中的任何和所有组合。
可以参照一个或者多个示例性配置举例说明各种公开的方面。如这里所用,术语“示例性”意味着“用作示例、实例或者举例说明”而不应必然地被解释为比这里公开的其它配置优选或者有利。
这里将参照附图描述本发明的各种方面,除非明确地指出,这些附图是本发明的概念配置的示意图示。提供本公开内容的各种方面以使本领域普通技术人员能够实践本发明。对贯穿本公开内容呈现的各种方面的修改将容易为本领域普通技术人员所清楚,并且这里公开的概念可以被延伸到其它应用。
图2描绘了后备处理器单元(204)、查找事务请求实体(206)和结构(208)、(210)的概念结构。查找事务请求实体可以包括处理器(206)、以太网分组输入分类引擎或者本领域普通技术人员已知的任何其它实体。为了说明清楚,贯穿本公开内容引用处理器(206)作为这样的查找事务请求实体的示例而未限制公开内容。处理器(206)可以包括一个或者多个处理核(206_1-206_3)。虽然仅描绘了三个处理核,但是本领域普通技术人员将理解设想了包括单个核的其它数目的核。处理器核(206_1-206_3)操作需要查找在结构(208)、(210)中存储的信息。为了高效地分配信息查找所需要的资源以及最小化任何处理器核的与信息查找有关的开销,后备处理器单元(204)被插入于处理器(206)与结构(208)、(210)之间。不同块可以被实施为后备处理器单元(204)的结构内的硬件或者软件实体。
图1描绘了流程图,该流程图支持在后备处理器单元处用于信息查找请求处理和用于异常分组处理的过程。为了进一步阐明在图2的概念结构的如由图1和关联的文字引用的某些单元之间的关系,对图2的结构单元的引用是在括号中。
该过程在步骤102中开始,其中处理器(206)的多个处理器核中的至少一个处理器核(例如,处理器核(206_1))生成将向目标传输的查找事务请求。目标可以包括内部内容可寻址存储器、内部查找引擎、两个内部实体被统称为(208)和/或外部内容可寻址存储器(210)或者其它外部部件(比如现场可编程门阵列)和本领域普通技术人员已知的其它部件。在一个方面中,外部内容可寻址存储器(210)包括经由Interlaken Lookaside接口(212)而对接到后备处理器单元(204)的外部三态内容可寻址存储器(TCAM)。术语外部标识在设备(202)以外的部件。虽然如描绘的那样,设备(202)包括处理器(206)、后备处理器单元(204)、Interlaken Lookaside接口(212)和内部实体(208),但是设想了其它布置。借助示例,处理器(206)可以在设备(202)外部。在一个方面中,设备(202)被实施为集成电路。该过程在步骤104中继续。
在步骤104中,处理器核(206_1)向后备处理器单元(204)传输查找事务请求。该过程在步骤106中继续。
在步骤106中,控制逻辑(214)接收查找事务请求。在启用可选异常分组处理时,控制逻辑(214)确定是否将执行对查找事务请求的普通处理,在该情况下,该过程在步骤110中继续,或者是否将保持查找事务请求以用于异常分组处理,在该情况下,该过程在步骤108中继续。根据由生成查找事务请求的处理器核(206_1)提供的信息做出决定。可以提供该信息例如作为查找事务请求中的指示符、作为带外(out-of-bound)信令或者本领域普通技术人员已知的任何其它方法。否则,在禁用可选异常分组处理时,控制逻辑(214)接收查找事务,并且该过程在步骤108中继续。
在步骤108中,将查找事务请求放置到包括多个缓冲器(231)的异常队列结构(230)中,例如,放置到缓冲器(231_1)中。队列是将数据组织成如下结构,在该结构中保持条目,即,包括分组的数据。该过程在步骤106中继续。
在步骤110中,控制逻辑(214)向多个结构(216)提供查找事务请求。一般而言但是并非必须,一个结构(216)支持一个通道,即,途径,通过该途径向目标(208)、(210)传输和从该目标接收信息。在一个方面中,在使用Interlaken Lookaside接口时,使用两个结构,一个用于由Interlaken接口支持的两个传输和两个接收通道中的一个通道。为了说明该概念而不被实施细节分心,仅描绘单个结构。然而,本领域普通技术人员将理解,可以使用其它数目的结构(216)。多个结构(216)中的每个结构包括多个后备缓冲器(218)。多个后备缓冲器(218)中的每个后备缓冲器可以在三个状态之一中:自由,即,后备缓冲器未被多个结构(216)中的任何结构使用;处理中,即,后备缓冲器的内容正在由目标(208)、(210)处理;以及已接收,即,后备缓冲器的内容已经被传输到目标(208)、(210)、由目标(208)、(210)处理并且处理的结果被返回到后备缓冲器(218),但是结果尚未被提供到处理器核(206)。多个结构(216)中的每个结构与包括多个缓冲器(221)的多个结构(220)中的一个结构关联,该一个结构保持多个后备缓冲器(218)中的每个后备缓冲器的状态。因此,如描绘的那样,缓冲器(221_1)保持后备缓冲器(218_1)的状态。
在接收查找事务请求时,控制逻辑(214)在多个结构(216)之中查询在自由状态中的后备缓冲器(218)、在这样的后备缓冲器(例如,后备缓冲器(218_1))中存储查找事务请求并且请求结构(222)将在后备缓冲器(218_1)中保持的查找事务请求重建成请求分组。该重建包括添加或者更改查找事务请求中的字段以支持向希望的目标(208)、(210)传输请求分组。特别地,更改生成的分组包括添加事务标识符。事务标识符包括存储请求分组的后备缓冲器(218_1)的任何标识符,例如,指针、地址或者本领域普通技术人员已知的任何其它标识符。需要事务标识符是因为后备处理器单元(204)允许如下文公开的那样从目标(208)、(210)对信息的无序查找返回。
除了包括请求分组之外,后备缓冲器(218_1)中的每个后备缓冲器也包括错误状态。错误可以在控制逻辑(214)将查找事务请求重建成请求分组并且查询未发现在自由状态中的后备缓冲器(218)时出现。丢弃请求分组并且生成和向生成查找事务请求的处理器核(206_1)提供错误中断。在一个方面中,向请求处理器核(206_1)发送指示错误的响应。另一类型的错误可能在处理器核(206)生成比目标(208)、(210)可以接收的数据更多的将放入请求分组中的数据、从而引起后备缓冲器(218)溢出的情况下出现。目标(208)、(210)可以接收的数据量在目标(208)、(210)被初始化时被设置为配置参数。丢弃过量数据并且生成和向请求处理器核(206_1)提供错误指示符。
该过程在步骤112中继续。
在步骤112中,目标(208)、(210)指示准备好接收和处理另一请求。作为响应,控制逻辑(214)向传输器(224)提供请求分组,例如,在后备缓冲器(218_1)中存储的分组并且将结构(220)的对应缓冲器(221_1)的状态改变成处理中。传输器向目标(208)、(210)传输从后备处理器单元(204)离开的请求分组。该过程在步骤114中继续。
在步骤114中,目标(208)、(210)从请求分组提取事务标识符并且执行请求的查找。目标(208)、(210)创建包括查找信息和事务标识符的响应分组并且向后备处理器单元(204)发送响应分组。目标(208)、(210)无需按照接收请求分组的相同顺序发送响应分组。因此,借助示例,如果响应于请求分组的信息查找花费比响应于以后接收的请求分组的信息查找更多的时间,则目标(208)、(210)可以在对更早接收的分组的响应分组之前发送对以后接收的请求分组的响应分组。
除了对请求分组的响应分组之外,目标(208)、(210)可以生成可能未与具体请求分组关联的异常分组。这样的异常分组可以例如包括由于目标(208)、(210)的内部错误而生成的中断分组、对于报告状况的服务的请求,例如,达到统计阈值或者本领域普通技术人员已知的目标(208)、(210)有与响应无关的信息要与处理核通信这样的任何其它指示。这样的未与任何事务标识符对应的异常分组可以由目标(208)、(210)生成并且由目标(208)、(210)通过设置响应分组中的具体比特来指示。设置具体比特可以包括设置单个比特。
该过程在步骤116中继续。
在步骤116中,由目标(208)、(210)生成的分组由接收器(226)接收,该接收器向块(228)提供接收的分组。该过程在步骤118中继续。
在步骤118中,块(228)检查接收的分组以确定接收的分组是否包括响应分组或者异常分组。
块(228)通过比较在接收的分组中的指定的比特与预定异常掩码来检查接收的分组。在一个方面中,可以有用于对异常分组(例如,中断分组、服务请求分组和上文提到的其它类型的异常分组)进行分类的多个不同预定掩码。每个预定异常掩码比特的值是三进制,即,比特值可以包括“1”、“0”或者代表“不在意”的“X”。“不在意”意味着该值可以代表“1”或者“0”。在一个方面中,预定掩码被实施为两个寄存器。第一寄存器中的比特的第一个值(例如,值“0”)被解释为用于比较的三进制值“X”而无论第二寄存器的值如何。第一寄存器中的比特的第二个值(例如,值“1”AND)和第二寄存器中的比特的第一个值(例如,值“0”)被解释为用于比较的三进制“0”。第一寄存器中的比特的第二个值(例如,值“1”AND)和第二寄存器中的比特的第二个值(例如,值“1”)被解释为用于比较的三进制“1”。然而,本领域技术人员将理解,其它组合是可能的。
在接收的分组中的具体比特与预定掩码相符时(即,比较是肯定的,这指示异常分组),块(228)向异常队列(230)中的缓冲器(例如,缓冲器(231_1))提供异常分组,并且该过程在步骤120中继续。否则,在接收的分组中的具体比特与预定掩码不相符时(即,比较是否定的,这指示响应分组),该过程在步骤122中继续。
在步骤120中,在启用可选异常分组处理时,异常分组经由缓冲器(231_1)的标识符来与将被保持用于异常分组处理的查找事务关联。在一个方面中,该关联经由用于组织和操纵数据缓冲器的先入先出方法,即,使用将被保持用于异常分组处理的最旧查找事务。否则,在禁用可选异常分组处理时,以与如上文公开的普通响应分组相同的方式处理异常分组。该过程在步骤122中继续。
在步骤122中,根据关联来生成响应并且向多个处理器核之一提供在异常队列(230)(例如,缓冲器(231_1))中保持的异常分组,即,生成查找事务请求的处理器核提供异常分组以用于异常分组处理。处理器核根据目标(208)、(210)生成异常分组的原因(例如,如上文公开的中断、请求服务)做出响应。
在步骤124中,在块(232)中接收返回分组。块(232)从返回分组提取事务标识符。该过程在步骤126中继续。
在步骤126中,比较提取的事务标识符与在结构(220)中保持的具有对应事务标识符的请求分组的状态。在状态被设置成处理中时,该过程在步骤128中继续;否则,向异常队列(230)提供响应分组,并且该过程在步骤124中继续。
在步骤128中,向块(234)提供返回分组。块(234)将在结构(220)中(即,在对应缓冲器(221_1)中)的后备缓冲器(218_1)的状态设置成已接收、向结构(216)之一中与返回分组一起存储请求分组并且在返回分组以内插入返回分组的大小的指示符。在一个方面中,块(234)用后备缓冲器(例如,后备缓冲器(228_1))中的返回分组替换请求分组。该过程在步骤130中继续。
在步骤130中,向多个处理器核(206_1-206_3)之一提供响应分组。在一个方面中,在处理器核(206_1)向后备处理器单元(204)提供查找事务请求时,处理器核(206_1)同时提供返回器块(234)将向其写入响应分组的存储器的地址。地址可以被存储在由后备处理器单元(204)指明的存储器中。在一个方面中,地址被存储在结构(220)中。返回器块(234)例如使用直接存储器存取来向提供的地址写入响应分组,并且将在结构(220)中(即,在对应缓冲器(221_1)中)的后备缓冲器(218_1)的状态设置成自由。
在另一方面中,处理器核(206_1)轮询后备缓冲器(218_)的状态直至状态指示已接收。在一个方面中,按照周期性时间表执行轮询;在另一方面中,处理器核(206_1)在未执行更高优先级任务时轮询状态。处理器核(206_1)然后从后备缓冲器(218_1)取回响应分组。块(234)检测到对响应分组的取回并且将在结构(220)中(即,在对应缓冲器(221_1))中的后备缓冲器(218_1)的状态设置成自由。
在另一方面中,处理器核(206_1)可以在向后备处理器单元(204)提供查找事务请求之后的某个时间请求返回器块(234)例如使用直接存储器存取来向提供的地址写入响应分组。为了使处理器核(206_1)能够够请求正确响应分组,后备处理器单元(204)中的实体(例如,控制逻辑(214))向处理器核(206_1)提供不透明标识符。在一个方面中,标识符可以包括后备缓冲器(218_1)的地址。一旦返回器块(234)向提供的地址写入响应分组,返回器块(234)就将在结构(220)中(即,在对应缓冲器(221_1)中)的后备缓冲器(218_1)的状态设置成自由。
在一个方面中,向生成查找事务请求的处理器核提供响应分组。在另一方面中,从生成查找事务请求的处理器核向不同处理器核提供响应分组。处理器核的改变可以例如通过提出请求的核向用于接收响应分组的处理器核提供用于从其读取数据的地址的标识符或者待轮询的后备缓冲器的标识符而被实现。
可以组合以上公开的向处理器核提供返回到分组的方面。借助示例,处理器核可以根据第一方面(即,处理器核提供响应分组将被写入到的存储器的地址)或者第三方面(即,处理器核在提供查找事务请求的某个时间请求响应分组)请求返回分组。然而,该请求可以超时,即,未在预定时间量内获得返回分组。后备处理器单元(204)中的实体生成响应从而设置指示超时的比特。在接收超时响应时,处理器可以使用上文公开的方面中的任何方面以再次请求返回分组。优点是减少资源消耗,因为处理器核无需花费时间等待响应并且代之以在未留意具有更高优先级的任务时执行这样的更高优先级任务并且取回响应。
提供本公开内容的各种方面以使本领域普通技术人员能够实践本发明。对这些方面的各种修改将容易为本领域普通技术人员所清楚,并且其中公开的概念可以应用于其它方面而未脱离本发明的精神实质或者范围。因此,本发明未旨在于限于这里所示的方面,而是将被赋予与这里公开的原理和信元特征一致的最广范围。
因此,借助示例,本领域普通技术人员将理解流程图并非穷举,因为某些步骤根据特定实现方式可以被添加或者不必要和/或可以被并行执行。借助示例,在禁用可选异常分组处理时,控制逻辑(214)接收查找事务并且向多个结构(216)直接提供它而无需步骤106和108。附加地,可以并行或者依次执行步骤。另外,可以重排步骤的序列,只要该重排未造成功能差异。
与贯穿本公开内容描述的各种方面结合描述的各种例示性逻辑块、模块、电路和算法步骤等效的、本领域普通技术人员已知或者以后已知的所有结构和功能等效物明确地通过引用而结合于此并且旨在于被权利要求涵盖。这样的例示性逻辑块、模块、电路和算法步骤可以被实施为电子硬件、计算机软件或者二者的组合。
本领域技术人员将理解,可以使用多种不同技术和技艺中的任何技术和技艺来代表信息和信号。例如,可以贯穿以上描述而引用的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或者粒子、光场或者粒子或者其任何组合代表。
另外,这里公开的内容未旨在于专用于公众,无论这样的公开内容是否被明确地记载在权利要求中。权利要求要素也不会按照35U.S.C.§112第六段的规定来解释,除非该要素使用短语“用于……的装置”来明确地记载或者在方法权利要求的情况下该要素使用短语“用于……的步骤”来记载。

Claims (22)

1.一种用于在后备处理器单元处的信息查找请求处理的方法,包括:
在第一缓冲器中存储接收的查找事务请求;
将所述查找事务请求重建成请求分组;
传输所述请求分组;
接收分组;
确定接收的所述分组是否包括响应分组或者异常分组;以及
根据所述确定来处理接收的所述分组。
2.根据权利要求1所述的方法,其中所述将所述查找事务请求重建成请求分组包括:
向所述请求分组中插入包括所述第一缓冲器的标识符的事务标识符。
3.根据权利要求1所述的方法,其中所述确定接收的所述分组是否包括响应分组或者异常分组包括:
比较在接收的所述分组中的具体比特的三进制值与预定三进制值掩码;
在所述比较为否定时确定接收的所述分组为响应分组;以及
在所述比较为肯定时确定接收的所述分组为异常分组。
4.根据权利要求1所述的方法,其中所述根据所述确定来处理接收的所述分组包括:
比较在视请求分组的状态而定的所述响应分组中的事务标识符与对应事务标识符;
在所述状态包括第一状态时在第一存储装置中存储所述响应分组;以及
否则在第二存储装置中存储所述响应分组。
5.根据权利要求4所述的方法,还包括:
向所述第二存储装置中提供所述异常分组。
6.根据权利要求4所述的方法,还包括:
向在由所述多个请求实体中的一个请求实体提供的在存储器中的地址写入存储的所述响应分组。
7.根据权利要求4所述的方法,还包括:
由多个请求实体中的一个请求实体轮询所述请求分组的所述状态;以及
在所述请求分组的所述状态包括第二状态时,由所述多个请求实体中的所述一个请求实体请求所述响应分组。
8.根据权利要求4所述的方法,还包括:
由多个请求实体中的一个请求实体在由所述多个请求实体中的所述一个请求实体或者由所述多个请求实体中的不同请求实体传输所述查找事务请求之后的预定时间请求所述响应分组。
9.一种用于在后备处理器单元处的异常分组处理的方法,包括:
在第一缓冲器中存储至少一个接收的查找事务请求;
接收分组;
确定接收的所述分组包括异常分组;以及
根据所述第一缓冲器的标识符关联所述异常分组与至少一个存储的所述查找事务请求中的一个存储的所述查找事务请求。
10.根据权利要求9所述的方法,其中所述根据所述第一缓冲器的标识符关联所述异常分组与至少一个存储的所述查找事务请求中的一个存储的所述查找事务请求包括:
经由用于组织和操纵数据缓冲器的先入先出方法关联所述异常分组与至少一个存储的所述查找事务请求中的一个存储的所述查找事务请求。
11.根据权利要求9所述的方法,还包括:
根据所述关联向多个请求实体中的一个请求实体提供所述异常分组。
12.一种用于信息查找请求处理的装置,包括:
被配置为在第一缓冲器中存储接收的查找事务请求的控制逻辑;
用于将所述查找事务请求重建成请求分组的装置;
被配置为传输所述请求分组的传输器;
被配置为接收分组的接收器;
被配置为确定接收的所述分组是否包括响应分组或者异常分组的比较器;以及
用于根据所述确定来处理接收的所述分组的装置。
13.根据权利要求12所述的装置,其中所述用于将所述查找事务请求重建成请求分组的装置被配置为:
向所述请求分组中插入包括所述第一缓冲器的标识符的事务标识符。
14.根据权利要求12所述的装置,其中所述比较器:
比较在接收的所述分组中的具体比特的三进制值与预定三进制值掩码;
在所述比较为否定时确定接收的所述分组为响应分组;以及
在所述比较为肯定时确定接收的所述分组为异常分组。
15.根据权利要求12所述的装置,其中所述用于处理的装置包括:
比较在视请求分组的状态而定的所述响应分组中的事务标识符与对应事务标识符的第二比较器;
被配置为在所述状态包括第一状态时存储所述响应分组的第一存储装置;以及
被配置为否则存储所述响应分组的第二存储装置。
16.根据权利要求15所述的装置,其中所述第二存储装置还被配置为存储所述异常分组。
17.根据权利要求15所述的装置,其中所述多个请求实体中的一个请求实体被配置为提供存储器中的向其写入存储的所述响应分组的地址。
18.根据权利要求15所述的装置,其中多个请求实体中的一个请求实体被配置为:
轮询所述请求分组的所述状态;以及
在所述状态包括第二状态时请求所述响应分组。
19.根据权利要求15所述的装置,其中多个请求实体中的一个请求实体被配置为:
在由所述多个请求实体中的所述一个请求实体或者由所述多个请求实体中的不同请求实体传输所述查找事务请求之后的预定时间请求所述响应分组。
20.一种用于在后备处理器单元处的异常分组处理的装置,包括:
被配置为在第一缓冲器中存储至少一个接收的查找事务请求的存储装置;
被配置为接收分组的接收器;
被配置为确定接收的所述分组包括异常分组的比较器;以及
被配置为根据所述第一缓冲器的标识符关联所述异常分组与所述至少一个查找事务请求中的一个查找事务请求的返回器。
21.根据权利要求20所述的装置,其中所述控制逻辑被配置为经由用于组织和操纵数据缓冲器的先入先出方法关联所述异常分组与所述至少一个查找事务请求中的所述一个查找事务请求。
22.根据权利要求20所述的装置,其中所述返回器还被配置为使所述存储装置根据所述关联向多个请求实体中的一个请求实体提供所述异常分组。
CN201410756800.6A 2013-12-27 2014-12-10 用于多核处理器的具有内部和外部访问的后备处理器单元 Active CN104750580B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/141,987 US9491099B2 (en) 2013-12-27 2013-12-27 Look-aside processor unit with internal and external access for multicore processors
US14/141,987 2013-12-27

Publications (2)

Publication Number Publication Date
CN104750580A true CN104750580A (zh) 2015-07-01
CN104750580B CN104750580B (zh) 2018-11-23

Family

ID=53483193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410756800.6A Active CN104750580B (zh) 2013-12-27 2014-12-10 用于多核处理器的具有内部和外部访问的后备处理器单元

Country Status (5)

Country Link
US (1) US9491099B2 (zh)
KR (1) KR102126592B1 (zh)
CN (1) CN104750580B (zh)
HK (1) HK1207718A1 (zh)
TW (1) TWI652623B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942258B2 (en) 2012-09-14 2015-01-27 International Business Machines Corporation Segmentation and reassembly of network packets for switched fabric networks
US11693690B2 (en) 2020-10-20 2023-07-04 Micron Technology, Inc. Method of completing a programmable atomic transaction by ensuring memory locks are cleared
US11586439B2 (en) 2020-10-20 2023-02-21 Micron Technology, Inc. Detecting infinite loops in a programmable atomic transaction
US11403023B2 (en) * 2020-10-20 2022-08-02 Micron Technology, Inc. Method of organizing a programmable atomic unit instruction memory
US11740929B2 (en) 2020-10-20 2023-08-29 Micron Technology, Inc. Registering a custom atomic operation with the operating system
US11436187B2 (en) 2020-10-20 2022-09-06 Micron Technology, Inc. Method of notifying a process or programmable atomic operation traps

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675579A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Method for verifying responses to messages using a barrier message
CN101271417A (zh) * 2007-03-22 2008-09-24 国际商业机器公司 修复数据处理系统的方法、数据处理系统及信息处置系统
US8286031B2 (en) * 2006-09-28 2012-10-09 Hitachi, Ltd. Highly reliable storage system and internal network thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751696B2 (en) * 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
US6922753B2 (en) * 2002-09-26 2005-07-26 International Business Machines Corporation Cache prefetching
US20060050722A1 (en) * 2004-09-03 2006-03-09 James Bury Interface circuitry for a receive ring buffer of an as fabric end node device
US8429378B2 (en) 2010-07-06 2013-04-23 Qualcomm Incorporated System and method to manage a translation lookaside buffer
US8898430B2 (en) * 2012-12-05 2014-11-25 Arm Limited Fault handling in address translation transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675579A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Method for verifying responses to messages using a barrier message
US8286031B2 (en) * 2006-09-28 2012-10-09 Hitachi, Ltd. Highly reliable storage system and internal network thereof
CN101271417A (zh) * 2007-03-22 2008-09-24 国际商业机器公司 修复数据处理系统的方法、数据处理系统及信息处置系统

Also Published As

Publication number Publication date
TWI652623B (zh) 2019-03-01
KR102126592B1 (ko) 2020-06-25
US9491099B2 (en) 2016-11-08
CN104750580B (zh) 2018-11-23
TW201528142A (zh) 2015-07-16
KR20150077288A (ko) 2015-07-07
HK1207718A1 (zh) 2016-02-05
US20150188816A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
CN104750580A (zh) 用于多核处理器的具有内部和外部访问的后备处理器单元
CN102648455B (zh) 服务器和流控制程序
US10218645B2 (en) Low-latency processing in a network node
US8515965B2 (en) Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors
US8761204B2 (en) Packet assembly module for multi-core, multi-thread network processors
US9444737B2 (en) Packet data processor in a communications processor architecture
US20150127649A1 (en) Efficient implementations for mapreduce systems
CN112333169B (zh) 一种报文处理方法、装置、电子设备及计算机可读介质
US8555374B2 (en) High performance packet processing using a general purpose processor
US9059945B2 (en) Work request processor
CN105247821A (zh) 用于利用自适应路由来控制资源利用的机制
JP2012506091A (ja) データ処理システムにおける割込承認
CN106416151A (zh) 用于分组处理的基于多表哈希查找
CN111526225A (zh) 会话管理方法和装置
CN103618778A (zh) 利用Linux虚拟主机实现数据高并发的系统及方法
Watanabe et al. Accelerating NFV application using CPU-FPGA tightly coupled architecture
US7185172B1 (en) CAM-based search engine devices having index translation capability
CN113411380B (zh) 基于fpga可编程会话表的处理方法、逻辑电路和设备
US9537799B2 (en) Phase-based packet prioritization
US20150003237A1 (en) Traffic Data Pre-Filtering
CN115334013B (zh) 一种流量统计方法、网卡及电子设备
CN114996023B (zh) 目标缓存装置、处理装置、网络设备及表项获取方法
WO2013004193A1 (en) Method and apparatus for index-based virtual addressing
CN100499564C (zh) 分组处理引擎
CN113132273B (zh) 一种数据转发方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1207718

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Cavium, Inc.

Address before: California, USA

Patentee before: Cavium, Inc.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20200426

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200426

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: California, USA

Patentee before: Cavium, Inc.

TR01 Transfer of patent right