CN102549552A - 用于处理流感知网络节点中的数据分组的方法 - Google Patents
用于处理流感知网络节点中的数据分组的方法 Download PDFInfo
- Publication number
- CN102549552A CN102549552A CN2010800431394A CN201080043139A CN102549552A CN 102549552 A CN102549552 A CN 102549552A CN 2010800431394 A CN2010800431394 A CN 2010800431394A CN 201080043139 A CN201080043139 A CN 201080043139A CN 102549552 A CN102549552 A CN 102549552A
- Authority
- CN
- China
- Prior art keywords
- flow data
- storage
- packet
- handling facilities
- quick access
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 title claims abstract description 13
- 230000015654 memory Effects 0.000 claims abstract description 20
- 230000005055 memory storage Effects 0.000 claims description 42
- 238000013500 data storage Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 5
- 229920000620 organic polymer Polymers 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
披露了一种用于处理流感知网络节点中的数据分组的方法和装置,以便以有限成本存储流数据而不改变传输数据吞吐量。所述用于处理流感知网络节点中的数据分组的方法和装置包括交替使用快速存取内部存储器和慢速存取外部存储器,这提供了低等待时间,然而仍提供了全面的流感知。所述用于处理流感知网络节点中的数据分组的方法对于克服现有技术中已知的需要大量使用流感知网络节点的快速存取存储器而言尤其有用。
Description
技术领域
本发明涉及通信网络领域,更具体地说,涉及分组路由器中的数据分组处理。
背景技术
数据分组路由器位于网络节点中。在流感知分组网络的情况下,所述路由器并且尤其是与位于网络边缘处的节点对应的路由器必须记忆进入***的流的状态信息。必须为网络节点所接收的所有流完成此类记录。在高速信道(≥10Gb/s)的情况下,需要尽快提供与流ID关联的流状态信息以防在分组处理期间出现延迟。
此外,流大小可以从包括几个(例如,一打)分组的“小鼠”流改变为包括几百个分组的“大象”流。存储器容量因而需要足够大以便覆盖任何情况。
因此,流信息存储需要将大容量存储器与所存储数据的减小的存取等待时间相结合,以便可以根据传输的数据比特率处理所传输的分组。此外,此类存储器的成本必须尽可能低以便广泛使用。
发明内容
因此,本发明的目的是提供一种以有限成本存储流数据而不改变传输数据吞吐量的设备。
因此,本发明提供一种用于管理分组处理设备中的流数据的存储的方法,其中所述设备处理作为大量不同分组流的随机聚合物的分组流并包括快速存取内部存储器和慢速存取外部存储器,并且其中所述方法包括以下步骤:
-在所述分组处理设备的输入端处接收一个数据分组,
-从该数据分组的头部提取流ID并将其映射到对应流数据在所述慢速存取外部存储器中的存储地址,
-判定所接收的数据分组是否对应于新流,
如果所接收的数据分组是其流中最初的数据分组,
-创建新的流数据记录,
如果已在所述分组处理设备中接收到该流的至少一个其他分组,
-判定与所接收的分组对应的流数据是否存在于所述快速存取内部存储器中,
如果对应流数据存在于所述快速存取内部存储器中,
-定位所述流数据,
如果对应流数据不存在于所述快速存取内部存储器中,
-从所述慢速存取外部存储器取回所述对应流数据并将它们存储在所述快速存取内部存储器中,
-使用来自所述快速存取内部存储器的对应流数据完成分组处理,当在所述分组处理设备中不能定位给定流的更多分组时,
-根据所述快速存取内部存储器中的流数据更新所述慢速存取外部存储器中的对应流数据,
-保护对应流数据更新。
根据本发明的另一方面,提取流ID并将其映射到对应地址的步骤的开始时间与分组处理的步骤的开始时间之间的延迟与大于将流ID映射到对应地址的时间加上所述慢速存取外部存储器的存取等待时间的持续时间对应。
根据本发明的另一方面,通过在分组处理的步骤的结束时间之后使所述流数据在所述快速存取内部存储器中保存的延迟大于所述慢速存取外部存储器的写入-存取等待时间来完成保护对应流数据更新的步骤。
根据本发明的另一方面,快速存取内部存储器对应于片上静态随机存取存储器(SRAM)并且所述慢速存取外部存储器对应于片外动态随机存取存储器(DRAM)。
根据本发明的另一方面,所述方法包括与释放具有所述对应流数据的所述快速存取内部存储器的存储空间对应的附加步骤,在保护对应流数据更新的步骤之后完成所述附加步骤,以便确保在所述分组处理设备中接收到所述流的分组的情况下使用最新流数据。
根据本发明的另一方面,所述快速存取内部存储器的容量对应于用于记录与所述设备中传送的最大可能分组数对应的流数据所需的容量。
根据本发明的另一方面,通过有组织的数据储存库完成从所述数据分组头部提取流ID和存储地址的步骤。
根据本发明的另一方面,所述有组织的数据储存库是路由查找表。
根据本发明的另一方面,所述分组处理设备包括分组流水线并且其中将至少一个处理顺序地应用于在所述分组流水线中传送的分组。
根据本发明的另一方面,所述快速存取内部存储器被划分成可独立寻址的扇区并根据不同并发处理来分配所述快速存取内部存储器。
根据本发明的另一实施例,为内部服务分组保留用于存取所述慢速存取外部存储器的所接收分组的时隙的一部分。
根据本发明的另一实施例,在所述分组处理设备的输入端处接收一个数据分组时,将分组有效负荷与分组头部分离,所述分组有效负荷被存储在存储器中,并且其中将使用来自所述快速存取内部存储器的对应流数据完成分组处理的步骤应用于所述分组头部,在分组头部处理之后将分组有效负荷和分组头部连接在一起。
本发明还提供一种分组处理设备,包括快速存取内部存储器和慢速存取外部存储器,其中所述分组处理设备还包括用于执行以下步骤的装置:
-在所述分组处理设备的输入端处接收一个数据分组,
-从该数据分组的头部提取流ID和存储地址,
-将与所提取的流ID和地址对应的流数据保存在所述慢速存取外部存储器中,
-从所述慢速存取外部存储器取回所述流数据并将它们存储在所述快速存取内部存储器中,
-通过使用来自所述快速存取内部存储器的对应流数据完成分组处理,
-当在所述分组处理设备中不能定位流的更多分组时,更新所述慢速存取外部存储器的对应流数据,
-在预定时间内将对应流数据保存在所述快速存取内部存储器中。
根据本发明的另一方面,完成分组处理的步骤包括根据所述分组处理修改所述快速存取内部存储器中的所述流数据。
根据本发明的另一方面,所述快速存取内部存储器对应于片上静态随机存取存储器(SRAM)并且所述慢速存取外部存储器对应于片外动态随机存取存储器(DRAM)。
根据本发明的另一方面,所述装置还被配置为释放具有所述对应流数据的所述快速存取内部存储器的存储空间。
附图说明
图1是分组处理设备的一个可能实施例的示意图;
图2是表示本发明的一个实施例的不同步骤的概要图;
图3是表示管理服务分组所需的设备的实施方式的示意图;
图4是分组头部处理设备的一个可能实施例的示意图。
具体实施方式
如在此使用的,术语“流”指具有公共属性并且具体地说具有公共流ID的多个数据分组。
如在此使用的,术语“流ID”指数据流的标识,所述标识包括代表对应数据流的特征或因素。
如在此使用的,术语“存取等待时间”指在核心设备中触发读取请求与在该核心设备中实际存在数据之间所需的时间或写入请求与实际更新存储设备中的存储之间所需的时间。
图1表示根据本发明的分组处理设备1的实施例的一个实例。所述设备包括分组处理器单元3,分组处理器单元3可以例如是分组流水线。在输入端5处接收分组4,然后分组4作为沿分组处理器单元3的分组流被传送到所述分组处理器单元3的输出端7。
图2表示基于图1中所述的设备的本发明的一个实施例的不同步骤。
在分组处理器单元的输入端5处接收时(步骤101),读取分组头部以便提取与所接收的分组对应的流ID(步骤102)。实际上,从具有不同源和目的地的多个流随机地接收分组4。此外,不同流可以具有不同大小(分组数)。因此,将所接收分组的流ID与已在外部慢速存取存储器9中记录其流数据的流ID相比较。所述存储器例如可以是片外动态随机存取存储器(DRAM)。
必须指出,对于DRAM,存取等待时间并非暗示较慢的数据传输。实际上,数据传输自身可以通过猝发实现并因而可达到较高数据速率。
在有组织的数据储存库(organized data repository)11(例如,路由查找表或三态内容可寻址存储器或多散列表)中完成所述流ID比较。还必须指出,可以在所述有组织的数据储存库11中使用Bloom滤波器。作为匹配已知流ID的结果,该流ID被映射到对应流数据在外部慢速存取存储器9中的存储地址。
此外,此类比较允许判定所接收的分组是否是新流中最初的分组(步骤103)。在此类情况下,在慢速存取外部存储器9中创建新的流数据记录以便保存包括该流ID的数据(步骤104)以及与同一流相关的所有后续数据。
本发明的一个方面是将快速存取内部存储器13(例如,片上静态随机存取存储器(SRAM))与慢速存取外部存储器9相结合。此类结合允许提供高容量存储器和减小的存取等待时间,同时限制所述存储器的成本。因此,在步骤104中,将快速存取内部存储器13的空闲存储空间(也称为空闲存储器高速缓存行)分配给分组。
为了减小快速存取内部存储器13的大小(并因而减小成本),仅将与在分组处理器单元3中传送的分组有关的流数据置于快速存取内部存储器13中。因此,快速存取内部存储器13的容量必须足够大以便处理最坏情况,就存储器要求而言,所述最坏情况对应于这样的分组流:所述分组流仅具有单个属于沿整个分组处理器单元3的不同流的分组。在此类情况下,对于传送的分组4中的任一分组4都需要存储空间。
当在分组处理设备1的输入端处接收到流的第一个分组时,对应初始流数据被保存在慢速存取外部存储器9中;在接收到流的第二或后续分组时,从外部存储器取回流数据。在两种情况下,数据都被复制到快速存取内部存储器13的已分配空闲存储空间中(步骤105)。
然后,在分组在分组处理器单元3中的传送期间,分组经历不同处理15(步骤106)。所述处理15可以例如是头部修改、过滤处理(如整形)、修改流统计信息(如分组或位计数器递增)、更新拥塞位或确定流比特率均值。
归因于图1中描述的实施方式,可在快速存取内部存储器13中提供不同处理所需的流数据,从而减小了存取所述数据的等待时间并且不会妨碍分组的高比特率传输。
此外,不同处理修改数据流,使得还需要快速存取存储器以便更新流数据的修改后的值。当该流的一个分组到达分组处理器单元的输出端时,根据分组处理器单元3中传送的同一流的分组的存在与否,将发生不同情况,这在步骤107中确定。
如果在分组处理器单元3中正在传送同一流的另一分组,则该传送中的新分组将使用来自快速存取内部存储器13的同一流数据,使得流数据保留在快速存取内部存储器13中。分组处理然后结束(步骤108)。
如果在分组处理器单元3中没有正在传送的其他分组,则将最新流数据复制到慢速存取外部存储器9中(步骤109),并最终通过擦除该数据而释放快速存取内部存储器中与此流数据对应的存储空间(步骤110),所述存储空间然后可重用于其他分组。
这样,在分组处理器单元3的输入端5处接收到属于具有先前通过所述分组处理器单元3传送的分组的流的分组时,无需创建新的流数据记录,因为所述流数据已经存在。但是,如果该流的先前分组仍正在分组处理器单元3中传送,则需要检查(步骤111)。
可以发生两种截然不同的情况。如果该流的先前分组仍正在分组处理器单元3中传送,则该流数据仍存在于快速存取内部存储器13中并将被用于完成对新接收分组的处理。在此情况下,下一步骤是步骤106。
否则,如果该流的先前分组已离开分组处理器单元3的输出端7,这意味着对应流数据已被从快速存取内部存储器13擦除,则将慢速存取外部存储器9中记录的对应流数据复制到快速存取内部存储器13中(步骤112)。
此外,在流的结尾处,还通过删除对应流数据而释放慢速存取外部存储器9。例如,可以通过设置同一流的两个分组之间的最大时间(例如,2秒)来确定流的结尾。因此,在定时器(2秒)到时之后,流被视为结束并从存储器9擦除对应数据。
此外,快速存取内部存储器13可以被划分成可单独寻址的扇区,从而将一个给定扇区用于一种给定处理。结果,一个可寻址扇区对应于一种处理。
根据本发明的另一个方面,必须考虑上述步骤之间的计时以便确保分组处理的正确性。
图1的底部表示时间轴。时间T1对应于在分组处理器单元3的输入端处接收分组。时间T2对应于完成从慢速存取外部存储器9向快速存取内部存储器13的数据传输或数据复制。
为了确保流数据已被传输到快速存取内部存储器13,T1与T2之间的延迟必须等于或大于存取外部存储器9的等待时间。
时间T3对应于开始从快速存取内部存储器13向慢速存取外部存储器9传输最新数据。时间T4对应于在快速存取内部存储器13中擦除流数据。
为了保护数据存储并确保使用最新数据,T3与T4之间的延迟必须等于或大于对外部存储器9的写入存取的等待时间,以便在时间T4完成最新数据的存储。实际上,在先前分组的T3与T4之间的延迟期间流的新分组到达分组处理器单元3的输入端5的情况下,此类延迟允许最新数据仍在快速存取内部存储器13中。如果流的新分组到达分组处理器单元3的输入端5在同一流的先前分组的时间T4之后发生,则慢速存取外部存储器9中记录的数据是最新的并将取回该数据。如果到达在时间T3与T4之间发生,将使用仍存在于快速内部存储器中的流数据,因为将流数据复制到慢速外部存储器中尚未完成。
根据本发明的另一个方面,为了确保分组处理设备的正常工作,将使用服务分组并在分组处理器单元3中在各数据分组之间传送服务分组。
图3表示这些服务分组的组织。在通过有组织的数据储存库11分析流ID之后,数据分组连同它们的流ID一起被传送到多路复用器17。该多路复用器的其他输入端连接到提供清理(clear up)服务分组的数据库清理发生器19和提供控制/管理服务分组的节点控制、管理和知识构建单元21。
因此,在数据分组流中***服务分组。这例如可以通过修改时隙实现。例如,使用40纳秒而不是50纳秒的存取,可以每四个时隙(数据分组时隙)添加一个称为内部服务时隙的额外时隙。所述内部服务分组控制存储器和数据库中过时数据的删除以及与节点的其他设备交换控制、监视或管理信息。
在分组处理器单元3的输出端处,分组被传送到解复用器23,其中数据分组被发向它们的目的地25,而服务响应分组在清理服务分组的情况下被发送回数据库清理发生器19或对于控制/管理分组发送回节点控制/管理单元21,所述响应分组例如携带有关于已被处理、创建或删除的不同流的统计信息。
此外,将统计信息从数据库清理发生器传送到控制/管理单元21(箭头27)。
此外,必须指出的是,如果对于正确工作而言是必需的或在分组处理器单元3中的闲置时段的情况下并在有效负荷无需任何处理的大型分组的延迟期间,“未使用的”数据分组时隙可被转换成内部服务时隙。
根据本发明的另一实施例,仅处理分组头部而分组有效负荷保持不变,这允许在适当时加速处理。
如图4中所示,在时间T’1,接收到分组。仅将头部部分传送到分组头部处理器单元3’,而分组有效负荷存储在与慢速存取外部存储器9类似的队列存储器9’中。如前所述,从头部提取流ID并将其映射到慢速存取外部存储器9上的地址。在时间T’2,一方面,流数据被从慢速存取外部存储器9传送到快速存取内部存储器13,而另一方面,有效负荷所在的存储空间的存储指针被发送到分组头部处理器单元3’。然后将处理15应用于分组头部。在时间T’3,一方面,最新流数据被从快速存取内部存储器13发送到慢速存取外部存储器9,而另一方面,处理器将指针和处理后的分组头部发送回队列存储器9’。取决于分组的状态,或者在时间T’4最终从队列存储器恢复完整分组内容,或者将头部与有效负荷一起进行缓冲以供以后转发。所述缓冲由队列和业务管理器27管理。无需任何排队的分组通过直通(cut-through)多路复用器29被立即发送到输出端;否则,由队列和业务管理器27管理分组转发调度。
Claims (16)
1.一种用于管理分组处理设备(1)中的流数据的存储的方法,其中所述设备(1)处理作为大量不同分组流(4)的随机聚合物的分组流并包括快速存取内部存储器(13)和慢速存取外部存储器(9),并且其中所述方法包括以下步骤:
-在所述分组处理设备的输入端处接收数据分组(101),
-从该数据分组的头部提取流ID并将其映射到对应流数据在所述慢速存取外部存储器中的存储地址(102),
-判定所接收的数据分组是否对应于新流(103),
如果所接收的数据分组是其流中最初的数据分组,
-创建新的流数据记录(104),
如果已在所述分组处理设备中接收到该流的至少一个其他分组,
-判定与所接收的分组对应的流数据是否存在于所述快速存取内部存储器(13)中(111),
如果对应流数据存在于所述快速存取内部存储器(13)中,
-定位所述流数据,
如果对应流数据不存在于所述快速存取内部存储器(13)中,
-从所述慢速存取外部存储器取回所述对应流数据并将它们存储在所述快速存取内部存储器(13)中(112),
-使用来自所述快速存取内部存储器(13)的对应流数据完成分组处理(106),
当在所述分组处理设备(1)中不能定位给定流的更多分组时,
-根据所述快速存取内部存储器(13)中的流数据更新所述慢速存取外部存储器(9)中的对应流数据(109),
-保护对应流数据更新。
2.如权利要求1所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中提取流ID并将其映射到对应地址的步骤(102)的开始时间与分组处理的步骤(106)的开始时间之间的延迟与大于将流ID映射到对应地址的时间加上所述慢速存取外部存储器(9)的存取等待时间的持续时间对应。
3.如权利要求1或2所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中通过在分组处理的步骤(106)的结束时间之后使所述流数据在所述快速存取内部存储器(13)中保存的延迟大于所述慢速存取外部存储器(9)的写入-存取等待时间来完成保护对应流数据更新的步骤。
4.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述快速存取内部存储器(13)对应于片上静态随机存取存储器(SRAM)并且所述慢速存取外部存储器(9)对应于片外动态随机存取存储器(DRAM)。
5.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述方法包括与释放具有所述对应流数据的所述快速存取内部存储器(13)的存储空间对应的附加步骤(110),在保护对应流数据更新的步骤之后完成所述附加步骤,以便确保在所述分组处理设备(1)中接收到所述流的分组的情况下使用最新流数据。
6.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述快速存取内部存储器(13)的容量对应于用于记录与所述设备(1)中传送的最大可能分组(4)数对应的流数据所需的容量。
7.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中通过有组织的数据储存库(11)完成从所述数据分组头部提取流ID和存储地址的步骤。
8.如权利要求7所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述有组织的数据储存库(11)是路由查找表。
9.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述分组处理设备(1)包括分组流水线并且其中将至少一个处理顺序地应用于在所述分组流水线中传送的分组(4)。
10.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中所述快速存取内部存储器(13)被划分成可独立寻址的扇区并根据不同并发处理(15)来分配所述快速存取内部存储器(13)。
11.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中为内部服务分组保留用于存取所述慢速存取外部存储器(9)的所接收分组的时隙的一部分。
12.如前述权利要求之一所述的用于管理分组处理设备(1)中的流数据的存储的方法,其中在所述分组处理设备的输入端处接收一个数据分组时(101),将分组有效负荷与分组头部分离,所述分组有效负荷被存储在存储器中,并且其中将使用来自所述快速存取内部存储器(13)的对应流数据完成分组处理的步骤(106)应用于所述分组头部,在分组头部处理之后将分组有效负荷和分组头部连接在一起。
13.一种分组处理设备(1),包括快速存取内部存储器(13)和慢速存取外部存储器(9),其中所述分组处理设备(1)还包括用于执行以下步骤的装置:
-在所述分组处理设备(1)的输入端处接收数据分组,
-从该数据分组的头部提取流ID和存储地址,
-将与所提取的流ID和地址对应的流数据保存在所述慢速存取外部存储器(9)中,
-从所述慢速存取外部存储器(9)取回所述流数据并将它们存储在所述快速存取内部存储器(13)中,
-通过使用来自所述快速存取内部存储器(13)的对应流数据完成分组处理,
-当在所述分组处理设备(1)中不能定位流的更多分组时,更新所述慢速存取外部存储器(9)的对应流数据,
-在预定时间内将对应流数据保存在所述快速存取内部存储器(13)中。
14.根据权利要求13的分组处理设备(1),其中完成分组处理的步骤包括根据所述分组处理修改所述快速存取内部存储器(13)中的所述流数据。
15.根据权利要求13或14的分组处理设备(1),其中所述快速存取内部存储器(13)对应于片上静态随机存取存储器(SRAM)并且所述慢速存取外部存储器(9)对应于片外动态随机存取存储器(DRAM)。
16.根据权利要求13至15中的一个权利要求的分组处理设备,其中所述装置还被配置为释放具有所述对应流数据的所述快速存取内部存储器(13)的存储空间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09290749.2 | 2009-09-30 | ||
EP09290749A EP2306322A1 (en) | 2009-09-30 | 2009-09-30 | Method for processing data packets in flow-aware network nodes |
PCT/EP2010/064535 WO2011039300A1 (en) | 2009-09-30 | 2010-09-30 | Method for processing data packets in flow-aware network nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102549552A true CN102549552A (zh) | 2012-07-04 |
CN102549552B CN102549552B (zh) | 2015-12-02 |
Family
ID=41345295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080043139.4A Expired - Fee Related CN102549552B (zh) | 2009-09-30 | 2010-09-30 | 用于处理流感知网络节点中的数据分组的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9253093B2 (zh) |
EP (1) | EP2306322A1 (zh) |
JP (1) | JP5514913B2 (zh) |
KR (1) | KR101407743B1 (zh) |
CN (1) | CN102549552B (zh) |
WO (1) | WO2011039300A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917680A (zh) * | 2014-03-10 | 2015-09-16 | 帕洛阿尔托研究中心公司 | 数据流上的并行散列和子散列 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209021A (zh) * | 2010-03-31 | 2011-10-05 | 西门子公司 | 一种包聚合传输的方法和装置 |
KR101975528B1 (ko) | 2012-07-17 | 2019-05-07 | 삼성전자주식회사 | 패스트 어레이 영역을 갖는 반도체 메모리 셀 어레이 및 그것을 포함하는 반도체 메모리 |
KR20140052107A (ko) * | 2012-10-10 | 2014-05-07 | 주식회사 아이디어웨어 | 타임라인 생성장치 및 방법과 기록매체 |
CN103927124B (zh) * | 2013-01-15 | 2018-03-13 | 深圳市腾讯计算机***有限公司 | 以Hash方式组织的磁盘访问控制装置及方法 |
US9515929B2 (en) * | 2013-06-28 | 2016-12-06 | Netronome Systems, Inc. | Traffic data pre-filtering |
US9712442B2 (en) * | 2013-09-24 | 2017-07-18 | Broadcom Corporation | Efficient memory bandwidth utilization in a network device |
US9917727B2 (en) * | 2014-06-03 | 2018-03-13 | Nicira, Inc. | Consistent hashing for network traffic dispatching |
US9397941B2 (en) | 2014-06-27 | 2016-07-19 | International Business Machines Corporation | Dual purpose on-chip buffer memory for low latency switching |
US9699084B1 (en) | 2015-03-01 | 2017-07-04 | Netronome Systems, Inc. | Forwarding messages within a switch fabric of an SDN switch |
US9503372B1 (en) | 2015-03-01 | 2016-11-22 | Netronome Systems, Inc. | SDN protocol message handling within a modular and partitioned SDN switch |
US10009270B1 (en) * | 2015-03-01 | 2018-06-26 | Netronome Systems, Inc. | Modular and partitioned SDN switch |
US9467378B1 (en) | 2015-03-01 | 2016-10-11 | Netronome Systems, Inc. | Method of generating subflow entries in an SDN switch |
US9729442B1 (en) | 2015-03-01 | 2017-08-08 | Netronome Systems, Inc. | Method of detecting large flows within a switch fabric of an SDN switch |
US9998374B1 (en) * | 2015-03-01 | 2018-06-12 | Netronome Systems, Inc. | Method of handling SDN protocol messages in a modular and partitioned SDN switch |
US10412002B1 (en) * | 2015-03-25 | 2019-09-10 | Amazon Technologies, Inc. | Processing packet data using an offload engine in a service provider environment |
IL238690B (en) * | 2015-05-07 | 2019-07-31 | Mellanox Technologies Ltd | Network-based computational accelerator |
US10152441B2 (en) | 2015-05-18 | 2018-12-11 | Mellanox Technologies, Ltd. | Host bus access by add-on devices via a network interface controller |
US9641436B1 (en) | 2015-05-29 | 2017-05-02 | Netronome Systems, Inc. | Generating a flow ID by passing packet data serially through two CCT circuits |
US9807006B1 (en) | 2015-05-29 | 2017-10-31 | Netronome Systems, Inc. | Crossbar and an egress packet modifier in an exact-match flow switch |
US9756152B1 (en) * | 2015-05-29 | 2017-09-05 | Netronome Systems, Inc. | Making a flow ID for an exact-match flow table using a byte-wide multiplexer circuit |
US9912591B1 (en) | 2015-05-29 | 2018-03-06 | Netronome Systems, Inc. | Flow switch IC that uses flow IDs and an exact-match flow table |
US9819585B1 (en) * | 2015-05-29 | 2017-11-14 | Netronome Systems, Inc. | Making a flow ID for an exact-match flow table using a programmable reduce table circuit |
US10033638B1 (en) * | 2015-05-29 | 2018-07-24 | Netronome Systems, Inc. | Executing a selected sequence of instructions depending on packet type in an exact-match flow switch |
US9871748B2 (en) * | 2015-12-09 | 2018-01-16 | 128 Technology, Inc. | Router with optimized statistical functionality |
US10382350B2 (en) | 2017-09-12 | 2019-08-13 | Mellanox Technologies, Ltd. | Maintaining packet order in offload of packet processing functions |
US11502948B2 (en) | 2017-10-16 | 2022-11-15 | Mellanox Technologies, Ltd. | Computational accelerator for storage operations |
US11005771B2 (en) | 2017-10-16 | 2021-05-11 | Mellanox Technologies, Ltd. | Computational accelerator for packet payload operations |
US10841243B2 (en) | 2017-11-08 | 2020-11-17 | Mellanox Technologies, Ltd. | NIC with programmable pipeline |
US10708240B2 (en) | 2017-12-14 | 2020-07-07 | Mellanox Technologies, Ltd. | Offloading communication security operations to a network interface controller |
US10824469B2 (en) | 2018-11-28 | 2020-11-03 | Mellanox Technologies, Ltd. | Reordering avoidance for flows during transition between slow-path handling and fast-path handling |
US11184439B2 (en) | 2019-04-01 | 2021-11-23 | Mellanox Technologies, Ltd. | Communication with accelerator via RDMA-based network adapter |
IL276538B2 (en) | 2020-08-05 | 2023-08-01 | Mellanox Technologies Ltd | A cryptographic device for data communication |
CN114095153A (zh) | 2020-08-05 | 2022-02-25 | 迈络思科技有限公司 | 密码数据通信装置 |
US11934333B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Storage protocol emulation in a peripheral device |
US11934658B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Enhanced storage protocol emulation in a peripheral device |
US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
US11888747B2 (en) | 2022-01-12 | 2024-01-30 | VMware LLC | Probabilistic filters for use in network forwarding and services |
US12007921B2 (en) | 2022-11-02 | 2024-06-11 | Mellanox Technologies, Ltd. | Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090039A1 (en) * | 2004-10-27 | 2006-04-27 | Sanjeev Jain | Method and apparatus to enable DRAM to support low-latency access via vertical caching |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11331268A (ja) * | 1998-05-11 | 1999-11-30 | Sumitomo Electric Ind Ltd | パケット中継装置 |
US20030061269A1 (en) * | 2001-09-17 | 2003-03-27 | Flow Engines, Inc. | Data flow engine |
US20050204091A1 (en) * | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
JP2005347969A (ja) * | 2004-06-01 | 2005-12-15 | Matsushita Electric Ind Co Ltd | パケット転送装置およびパケット転送方法 |
JP4483535B2 (ja) * | 2004-11-05 | 2010-06-16 | 株式会社日立製作所 | ネットワーク装置 |
WO2006080897A1 (en) * | 2005-01-26 | 2006-08-03 | Infineon Technologies Ag | Improvements in and relating to memory updating |
US20090138673A1 (en) * | 2007-11-28 | 2009-05-28 | Apple Inc. | Internal memory mapped external memory interface |
US20100162265A1 (en) * | 2008-12-23 | 2010-06-24 | Marco Heddes | System-On-A-Chip Employing A Network Of Nodes That Utilize Logical Channels And Logical Mux Channels For Communicating Messages Therebetween |
US20120017039A1 (en) * | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
-
2009
- 2009-09-30 EP EP09290749A patent/EP2306322A1/en not_active Withdrawn
-
2010
- 2010-09-30 US US13/387,583 patent/US9253093B2/en not_active Expired - Fee Related
- 2010-09-30 WO PCT/EP2010/064535 patent/WO2011039300A1/en active Application Filing
- 2010-09-30 JP JP2012531426A patent/JP5514913B2/ja not_active Expired - Fee Related
- 2010-09-30 KR KR1020127011201A patent/KR101407743B1/ko not_active IP Right Cessation
- 2010-09-30 CN CN201080043139.4A patent/CN102549552B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090039A1 (en) * | 2004-10-27 | 2006-04-27 | Sanjeev Jain | Method and apparatus to enable DRAM to support low-latency access via vertical caching |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917680A (zh) * | 2014-03-10 | 2015-09-16 | 帕洛阿尔托研究中心公司 | 数据流上的并行散列和子散列 |
CN104917680B (zh) * | 2014-03-10 | 2019-10-01 | 思科技术公司 | 用于执行分组流的并行散列的计算机*** |
Also Published As
Publication number | Publication date |
---|---|
KR20120070595A (ko) | 2012-06-29 |
EP2306322A1 (en) | 2011-04-06 |
CN102549552B (zh) | 2015-12-02 |
US9253093B2 (en) | 2016-02-02 |
KR101407743B1 (ko) | 2014-06-16 |
JP5514913B2 (ja) | 2014-06-04 |
JP2013507022A (ja) | 2013-02-28 |
US20120314709A1 (en) | 2012-12-13 |
WO2011039300A1 (en) | 2011-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
KR101607180B1 (ko) | 패킷 재조립 및 재배열 방법, 장치 및 시스템 | |
CN102045258B (zh) | 数据缓存管理方法及装置 | |
CN103946803B (zh) | 具有高效工作排队的处理器 | |
US7702742B2 (en) | Mechanism for enabling memory transactions to be conducted across a lossy network | |
US8432908B2 (en) | Efficient packet replication | |
CN106325758B (zh) | 一种队列存储空间管理方法及装置 | |
CN106031107A (zh) | 网络处理器中的分组调度 | |
US9112708B1 (en) | Processing multicast packets in a network device | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
CN100531129C (zh) | 用于在网络处理器中记帐的装置和方法 | |
US6601116B1 (en) | Network switch having descriptor cache and method thereof | |
CN108462649B (zh) | 降低onu中拥塞状态下高优先级数据传输时延的方法和装置 | |
US7088731B2 (en) | Memory management for packet switching device | |
CN101594201B (zh) | 链式队列管理结构整合错误数据过滤的方法 | |
CN100469055C (zh) | 转发报文的处理方法及处理装置 | |
US8214553B2 (en) | Virtualization of an input/output device for supporting multiple hosts and functions | |
CN101848150B (zh) | 维护多播计数器的计数值的方法及装置 | |
US9338219B2 (en) | Direct push operations and gather operations | |
CN103095595A (zh) | 一种基于单向并行多链表的网络数据管理方法及*** | |
CN102073539B (zh) | 队列请求处理方法和装置 | |
CN100495974C (zh) | 数据传输过程中的流量整形方法 | |
CN100450050C (zh) | 有效的分组处理流水线装置和方法 | |
CN114979270A (zh) | 适用于rdma网络的消息发布方法及*** | |
CN117640550A (zh) | 一种跨die的正向保序方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151202 Termination date: 20170930 |