CN102195877B - Packet transaction optimizes - Google Patents

Packet transaction optimizes Download PDF

Info

Publication number
CN102195877B
CN102195877B CN201110069453.6A CN201110069453A CN102195877B CN 102195877 B CN102195877 B CN 102195877B CN 201110069453 A CN201110069453 A CN 201110069453A CN 102195877 B CN102195877 B CN 102195877B
Authority
CN
China
Prior art keywords
packet
memorizer
module
classification information
cache
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.)
Expired - Fee Related
Application number
CN201110069453.6A
Other languages
Chinese (zh)
Other versions
CN102195877A (en
Inventor
A·佩斯
N·米兹拉希
A·哈布沙
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.)
Marvell Israel MISL Ltd
Original Assignee
Marvell Israel MISL 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 Marvell Israel MISL Ltd filed Critical Marvell Israel MISL Ltd
Publication of CN102195877A publication Critical patent/CN102195877A/en
Application granted granted Critical
Publication of CN102195877B publication Critical patent/CN102195877B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

It relates to packet transaction optimization.Specifically, some embodiment of the disclosure provides a kind of method, and the method includes: receive the packet transmitted by network;Generate the classification information for this packet;And select the memorizer memory module for packet based on classification information.Other embodiment is also described and claimed.

Description

Packet transaction optimizes
Cross-Reference to Related Applications
This application claims the U.S. Patent application No. submitted on March 18th, 2010 The priority of 61/315,332, for all purposes and by its entire specification by reference of text It is herein incorporated, except the part (if any) inconsistent with this specification.The application Relate to U.S. Patent application No.13/038,258 (lawyer's scheme of submission on March 1st, 2011 Number MP3580) and the U.S. Patent application No.13/038,266 that submits on March 1st, 2011 (lawyer's scheme number MP3598), passes through their entire specification for all purposes Incorporated is herein incorporated, except the part (if any) inconsistent with this specification.
Technical field
Embodiment of the present disclosure relates generally to the process of packet, and more specifically Relate to the optimization that packet processes.
Background technology
Unless otherwise indicated herein, the method described in this part is not that in the disclosure, right is wanted The prior art asked, and do not recognize that it is prior art because being included in this part.
In packet processing system, such as, network controller is at memorizer (such as, on sheet The external memory storage that system (SOC) is outside) in store multiple packets (such as, from The packet that network receives), this be generally of relatively high reading postpone (such as, with Delay when reading in the cache from SOC compares).When being included in SOC When processing the packet that core will access in multiple packets, can be to cache transfers This packet, processes core from this packet of this cache access (such as, in order to locate Manage this packet, route this packet, execution and this packet to suitable position The security-related operation etc. being associated).But, add to cache from external memory storage Carry packet and typically result in relatively high reading delay.
In another example, multiple packets are directly stored in the most slow by network controller In depositing, process core from cache access packet.But, this needs relatively large height Speed caching, needs the most frequently to override, and/or is likely to be due in cache Congested and cause washing away (flush) one or more packet from cache to memorizer.
Summary of the invention
In various embodiments, present disclose provides a kind of method, the method includes receiving The packet transmitted by network;Generate the classification information for described packet;With And select the memorizer memory module for packet based on classification information.In various enforcements In mode, select memory mode also to include, select for packet based on classification information Preextraction pattern, wherein the method also includes: in response to select preextraction pattern, Xiang Cun Reservoir storage packet;And it is based at least partially on classification information, from memorizer to height Speed caching extracts at least a section of packet.In various embodiments, memorizer is selected Pattern also includes, selects the cache for packet to deposit based on classification information (deposit) pattern, wherein the method also includes: deposit mould in response to selecting cache Formula, to the section of cache storage packet.In various embodiments, storage is selected Device pattern also includes, selects the snoop mode for packet, and wherein the method also includes: In response to selecting snoop mode, transmit packet to memorizer;And passing to memorizer During transmission of data packet, the section of snoop data packet.
Also providing for a kind of SOC(system on a chip) (SOC), it includes processing core;Cache;Resolve And sort module, it is arranged to receive packet, wherein network control from network controller Device processed receives packet by network, and generates the classification information for packet; And memorizer memory module select module, be configured for classification information select for The memorizer memory module of packet.
Accompanying drawing explanation
In the following detailed description, the accompanying drawing a part of with reference to forming this description, Qi Zhong The part that label instruction identical in all figures is identical, and it is by the way of embodiment The principle of the disclosure is shown.It should be noted that, it is possible to use other embodiments, and permissible Make structural or logicality change without departing from the scope of the disclosure.Therefore, The following detailed description is not limited significance, and according to the model of embodiment of the present disclosure Enclose and limited by appended claims and its equivalent item.
Fig. 1 schematically shows and includes SOC(system on a chip) according to disclosure embodiment (SOC) packet communication system 10 (system 10 here also called) of 100, this sheet is System (SOC) 100 includes resolving and sort module 18 and PHM packet handling module 16.
Fig. 2 shows according to disclosure embodiment for operating the example of the system 10 of Fig. 1 Method 200.
Detailed description of the invention
Fig. 1 schematically shows and includes SOC(system on a chip) according to disclosure embodiment (SOC) packet communication system 10 (system 10 here also called) of 100, this sheet is System (SOC) 100 includes resolving and sort module 18 and PHM packet handling module 16.SOC 100 Also include processing core 14 and cache 30.Cache 30 e.g. 2 grades (L2) is high Speed caching.Although illustrate only one in FIG to process core 14, but an embodiment party In formula, SOC 100 includes multiple process core.Although SOC 100 includes other assemblies some (such as, communication bus, one or more ancillary equipment, interface etc.), but be in order at Bright clearly purpose, these assemblies the most not shown.
System 10 includes memorizer 26.In one embodiment, memorizer 26 is at SOC 100 Outside.In one embodiment, memorizer 26 is dynamic RAM (DRAM) (such as, double data rate three (DDR3) synchronous dynamic random access storage Device (SDRAM)).
In one embodiment, system 10 includes the network controller coupled with multiple equipment 12, the plurality of equipment such as equipment 12a, equipment 12b and/or equipment 12c.Although showing Network controller 12 and equipment 12a, 12b and 12c in the outside of SOC 100, but In one embodiment, in network controller 12 and/or equipment 12a, 12b and 12c Individual or multiple inside at SOC 100.Network controller 12 coupled to deposit by bus 60 Reservoir 26.Although showing the bus 60 outside at SOC 100, but an enforcement In mode, bus 60 is in the inside of SOC 100.In one embodiment, although at figure Not shown in 1, bus 60 is shared by other assemblies various of SOC 100.
Network controller 12 such as with the network switch, network router, the network port, with Too net port (such as, GB ethernet port) or there is internuncial of network What his suitable equipment is associated.In one embodiment, SOC 100 is that network sets A standby part, and be grouped by transmitted data on network.Network controller 12 sets from multiple Standby (such as, equipment 12a, equipment 12b and/or equipment 12c) receives packet (this number Receive according to packet such as network from the Internet etc).Equipment 12a, 12b and/or 12c are The network equipment, the such as network switch, network router, the network port, ethernet port (such as, GB ethernet port), having network, internuncial any other is suitable Equipment etc..
In one embodiment, resolve and sort module 18 receives from network controller 12 Packet.Although Fig. 1 illustrate only a network controller 12, but an enforcement In mode, resolve and sort module 18 receives packet from more than one network controller. Although the most not shown, but in one embodiment, resolve and sort module 18 Also it is grouped from other equipment receiving datas, such as, the network switch, network router, net Network port, ethernet port etc..
Resolve and sort module 18 resolve and/or classify from network controller 12 receive (with/ Or from the reception of any other suitable source) packet.Resolve and sort module 18 resolves And the packet received of classifying, to generate the classification information corresponding to the packet received 34 (also referred to as classify 34).Such as, resolve and sort module 18 is according to predefined network Agreement and the collection incompatible parsing packet of rule, this predefined procotol and rule Set jointly defines the encapsulating structure of packet.In one example, packet Classification 34 include type with packet, priority, destination-address, queue address, Business Stream information, other classification information (such as, session number, agreement etc.) etc. are associated Information.In another example, the classification 34 of packet also includes the packet with stream Class or association, the most in a similar fashion packet is processed.As the most detailed As carefully discussing, classification 34 also indicates one or more sections of packet, these data One or more sections of packet will be stored in memorizer 26 and/or cache 30, select Spy upon (snoop) to cache 30 preextraction and/or by PHM packet handling module 16 to selecting property.
At the copending application U.S. 12/947678 (entitled " Iterative Parsing and Classification ", lawyer's scheme number No.MP3444) in describe according to an embodiment party The parsing of formula and sort module 18, be herein incorporated by reference of text by its description, except The part (if any) inconsistent with this specification.In another embodiment, Any other suitable hardware and/or component software can substitute for resolving and use with sort module 18 In resolving and categorical data packet.
PHM packet handling module 16 analytically receives the classification 34 of packet with sort module 18. In one embodiment, PHM packet handling module 16 includes that memorizer memory module selects module 20, preextraction module 22, cache registration module 42 and pry module 62.Jointly Pending application U.S. 13/038,258 (entitled " Pre-fetching of Data Packets ", Lawyer's scheme number No.MP3580) in describe the preextraction module according to an embodiment 22, its description is herein incorporated by reference of text, except inconsistent with this specification Partly (if any).
For be network controlled device 12 receive and by resolve and sort module 18 classify each Packet, PHM packet handling module 16 is based on classifying 34 with in multiple memorizer memory modules One or more memorizer memory modules operation.Such as, as hereafter discussed in more detail Like that, PHM packet handling module 16 deposits pattern and pry mould with preextraction pattern, cache One in formula operates.In one embodiment, based on connecing for packet The classification information 34 received, (such as, memorizer memory module selects mould to PHM packet handling module 16 Block 20) select the suitable memorizer memory module for packet.An embodiment party In formula, based on to incoming queue or stream (such as, VOIP, Streaming video, the Internet Browsing session etc.) the classification of packet, the information being included in packet itself, The availability of system resource (such as, as the copending application U.S. _ _ _ _ _ (entitled " Combined Hardware/Software Forwarding Mechanism and Method ", Lawyer's scheme number No.MP3595) described in, by its description by reference of text Be herein incorporated) etc. make the suitable memory memory module for processing packet Select.
The operation of preextraction pattern
In one embodiment, module 20 is selected to divide based on data when memorizer memory module The classification 34 of group selects when the preextraction pattern of packet, at preextraction module 22 Manage this packet.Such as, during preextraction pattern, packet (is network controlled Device 12 receives and is resolved by parsing and sort module 18 and classifies) it is stored in memorizer 26 In.Additionally, preextraction module 22 analytically receives dividing of packet with sort module 18 Class 34.Being based at least partially on the classification 34 of reception, preextraction module 22 is from memorizer 26 Desired part to cache 30 preextraction packet.In one embodiment, in advance Extraction module 22 passes through preextraction module 22 from memorizer 26 to cache 30 preextraction Packet.The packet of preextraction is accessed from cache 30 by processing core 14.
In one embodiment, core 14 request data packet is being processed to perform these data Before the process operation of packet, preextraction module carries to cache 30 in advance from memorizer 26 Take this packet.In one embodiment, the classification 34 of packet includes that data are divided Group is the need of by preextraction module 22 preextraction or whether packet is performed routine and carry The instruction of extract operation (such as, being extracted packet by process core 14 when needed).Therefore In not far future, when expection processes core 14 packet to be used, preextraction module 22 Based on this packet of 34 preextractions of classifying.The copending application U.S. 13/038,258 (name It is referred to as " Pre-Fetching of Data Packets ", lawyer's scheme number MP3580) described in It is suitable for operation and the structure of preextraction module.
In one example, the classification 34 being associated with multiple packets indicates the first data Packet and the second packet belong to and process the same process queue of core 14 (or same place comprehends Words or same Business Stream), and also instruction is to for the first packet and the second data The selection of the operation of the preextraction pattern of packet.Belong at first when process core 14 is processing When managing the first packet of queue, process core 14 and be likely to process be belonged to subsequently and first The first process queue or the second of the identical services stream of process core 14 that packet is identical counts According to packet.Thus, when processing core 14 and processing the first packet, preextraction module 22 from memorizer 26 to cache 30 preextraction the second packet so that process core 14 can when needed (such as, process the first packet after) from cache 30 Access the second packet.Therefore, when processing, core 14 is ready to be divided processing the second data During group, easily can obtain the second packet in cache 30.Preextraction module 22 Preextraction to the second packet decreases and processes the delay that the second packet is associated (for this is compared to following situation: process core 14 will process the second packet time from Memorizer 26 reads the second packet).In one embodiment, preextraction module 22 Receive from process core 14 and be presently processing which packet and/or pass about process core 14 In processing the following information that may process which packet of core 14.
Packet is typically included in the preamble segment before packet payload section.Preamble segment example As included, address, destination-address, priority, queue, business are played in the source with packet Stream, application, the agreement that is associated etc. (such as, any other configuration information) are correlated with The information of connection.Payload section such as includes that the user data that is associated with packet is (such as, It is intended to the data transmitted by network, such as internet data, stream media etc.).
In some applications, process core 14 only needs access data to divide when processing packet The section of group.In one embodiment, classification 34 instruction of packet will be by processing core 14 The section of the packet accessed.In one embodiment, the whole data of preextraction are replaced to divide Group, preextraction module 22 is based at least partially on the classification 34 of reception, from memorizer 26 to The section of cache 30 preextraction packet.In one embodiment, with packet The classification 34 being associated indicates the section of packet, and preextraction module 22 will be from memorizer 26 Section to cache 30 this packet of preextraction.That is, resolve and sort module 18 base In the classification to packet, select preextraction module 22 by preextraction from memorizer 26 The section of packet.
In one example, process core 14 only to need to access and process and network route application phase The preamble segment of the packet of association.On the other hand, process core 14 need access and process with The preamble segment of the packet that safety-relevant applications is associated and payload section.A reality Execute in mode, resolve and sort module 18 identifies the packet that network controller 12 receives Type.Such as, peace is had been previously identified as if resolving to identify with sort module 18 to be derived from The packet in the source of full property risk, then resolve and sort module 18 be by this sorting packets It is associated for security-related application.In one embodiment, resolve and sort module 18 (such as, whether packet route application, safety with network to the type of identification packet Related application etc. are associated), and correspondingly generate classification 34.Such as, based on classification 34, The preamble segment of the packet that preextraction module 22 only preextraction is associated with network route application (or part of preamble segment).On the other hand, preextraction module 22 preextraction and safe phase Close the preamble segment of another packet that application is associated and payload section (or of preamble segment Divide and/or a part for payload section) both.
In another example, classification 34 is based at least partially on be associated with packet excellent First level.Preextraction module 22 is from the precedence information of classification 34 reception packet.For The packet of relatively high priority is (such as, with real-time audio and/or Video Applications (such as Internet protocol voice (VOIP application)) packet that is associated) for, such as, Preextraction module 22 preextraction preamble segment and payload section are (because processing core 14 may Need to access payload section after access the preamble segment of packet from cache 30). But, for the packet of relatively low priority, preextraction module 22 only preextraction Preamble segment (and, such as, based on processing core 14, the needs of payload section are extracted payload section). In another embodiment, for the packet of another relatively low priority, carry in advance Delivery block 22 not preextraction packet, and and if only if process core 14 to be actually needed this data During packet, just extract this packet from memorizer 26 to cache 30.
In other examples another, preextraction module 22 is based at least partially on any other and closes Suitable standard carrys out the section of preextraction packet.Such as, preextraction module 22 is at least in part The section of preextraction packet is carried out based on any other configuration information in classification 34.
Cache deposits the operation of pattern
In one embodiment, module 20 is selected to divide based on data when memorizer memory module The classification 34 of group selected when the cache of packet deposits pattern, and cache is posted Storing module 42 processes packet.Such as, during cache deposits pattern, the most slow Deposit registration module 42 and receive classification 34, and optionally instruction network controller 12 is being deposited Reservoir 26 and/or cache 30 store packet.In one embodiment, exist During cache deposits pattern, network controller 12 is based at least partially on and comes from a high speed The instruction of caching registration module 42, stores the section of packet in cache 30, and And in memorizer 26, store another section (or whole packet) of this packet.Example As, the section only processing the packet that core accesses when processing packet is stored in the most slow Deposit in 30.
In one embodiment, the classification 34 being associated with packet indicates network control Device 12 will be stored directly in cache 30 (such as, by bypass registers 26) The section of packet.That is, resolve and sort module 18 is based on the classification to packet, choosing Select network controller 12 by the section of the packet that is stored directly in cache 30 (but Being in another embodiment, different assemblies (the most not shown) receives classification 34, And determine which section by storing packet in cache 30).
Such as, packet includes multiple byte, and network controller is to cache 30 N number of byte (such as, the top n byte of packet) of storage packet, and Store remaining byte of packet to memorizer 26, wherein N is integer, and this N is such as By resolving and sort module 18 (such as, classification 34 includes the instruction of Integer N) and/or height Speed caching registration module 42 (such as, based on classification 34) selects.
In another example, network controller stores the N number of of packet to cache 30 Byte, and also to memorizer 26 store whole packet (thus, the N of packet Individual byte is stored in both cache 30 and memorizer 26).
As it has been described above, the section of packet is only stored in cache by network controller 12a In 30, processing core 14 needs to access the section of this packet when processing packet.One In individual embodiment, packet includes first paragraph and second segment, and network controller 12 The first paragraph of packet is directly transmitted (as at a high speed to cache 30a based on classification 34 Caching deposits a part for pattern), but prevent and transmit packet to cache 30a Second segment (network controller 12 transmits the second segment of packet to memorizer 26, can Can also have first paragraph).
In one example, as it has been described above, process core 14 and only need to access and process and network The preamble segment of the packet that route application is associated.Thus, resolve and sort module 18 is raw Become the classification 34 of this type of packet.In one embodiment (such as, if classification 34 Also instruction cache deposits the operation of pattern), (such as, except or replace to memorizer 26 preamble segment storing these packets), network controller 12 is based on classifying 34 to height Preamble segment that speed caching 30 only stores these packets (or replace storing whole preamble segment It is only to store the relevant portion of preamble segment).
In another example, process core 14 need access and process security-related application be correlated with The preamble segment of the packet of connection and payload section.Thus, resolve and sort module 18 is raw Become the classification 34 of this type of packet.In one embodiment (such as, if classification 34 Also instruction cache deposits the operation of pattern), (such as, except or replace to memorizer 26 preamble segment storing these packets), network controller 12 is based on classifying 34 to height Speed caching 30 only stores the preamble segment of these packets and payload section and (or replaces storage whole Preamble segment, only stores the relevant portion of preamble segment).
In one embodiment, it is based at least partially on be associated with packet preferential Level generates classification 34.Such as, cache registration module 42 is divided from classification 34 reception data The precedence information of group.For the packet of relatively high priority, network controller 12 based on classification 34 store in cache 30 preamble segment and payload section (because, Process core 14 may need access from cache 30 packet preamble segment later Access payload section).For the packet of relatively low priority (such as, for belonging to phase For packet categorized in the classification 34 of low priority flows/queue) for, network controls Device 12 only stores preamble segment to cache 30 based on classification 34.In another embodiment, For the packet of another relatively low priority, network controller 12 is not the most slow Deposit store packet in 30 any section, and instead, select another suitably to store Device memory module (such as, selects preextraction pattern).In other examples, network controls Device 12 is based at least partially on any other suitable standard (such as, appointing in classification 34 What his configuration information), cache 30 stores the section of packet.
Snoop mode
In one embodiment, module 20 is selected to divide based on data when memorizer memory module The classification 34 of group selects when the snoop mode of packet, and pry module 62 processes number According to packet.In one embodiment, during snoop mode, it is based at least partially on point Class 34, pry module 62 passes through bus 60 from network interface 12 to memorizer in packet Snoop data packet during 26 transmission.In one example, based on classification 34, spy upon module 62 Only snoop transactions core 14 needs the section of the packet accessed when processing packet.Such as, Classification 34 includes the instruction of the section by the packet spied upon by pry module 62.
In one embodiment, snoop mode is independent of preextraction pattern and/or cache The pattern of depositing operates.In one embodiment, pry module 62 is based on corresponding classification 34 pry, from the section of all packets that network controller 12 transmits to memorizer 26.
In (such as, support that hardware cache is conforming) conventional packet communication system, All packets that pry or sniff are transmitted to memorizer are to guarantee cache coherence. Generally, this type of snoop (such as, checks the most whether there is number to check According to effective copy, and if in memorizer correspondent section write new data, then make height Effective copy of the data in speed caching is invalid) packet communication system can be made to overload (such as, Owing to each affairs of writing for memorizer complete pry).On the contrary, pry module 62 selects Property ground only snoop transactions core 14 need the section of packet accessed (such as, to replace whole number According to packet), thus reduce the process load of the system 10 being associated with pry.
In one embodiment, snoop mode combines another memorizer memory module and grasps Make.Such as, based on classification 34, during cache deposits pattern, to memorizer 26 The Part I of write packet, and the of packet is directly write to cache 30 Two parts.In one embodiment, first of packet is being write to memorizer 26 Timesharing, pry module 62 can be with the Part I of snoop data packet.Therefore, in this example In, snoop mode combines cache and deposits pattern execution.In one embodiment and The classification 34 for packet is generated with sort module 18 as it has been described above, resolve so that point Class 34 indicates PHM packet handling module 16 to operate which or which module when processing packet.
In one embodiment, packet includes multiple byte, and spies upon module 62 Only M byte (such as, front M the byte of the packet) (example of snoop data packet As, replace spying upon whole packet), wherein M is such as to be associated with packet Classification 34 in instruction integer.In one embodiment, pry module 62 is not spied upon Remaining byte (such as, the byte outside M byte) of packet.
In one embodiment, classification 34 example of the section of packet that instruction will be spied upon Type of based on packet in this way.Such as, process core 14 only need access and process with The preamble segment of the packet that network route application is associated.Thus, at an embodiment In, generate classification 34 so that pry module 62 the most only spies upon these numbers based on classification 34 The preamble segment relevant portion of preamble segment (or only) according to packet.In another example, process Core 14 accesses and processes preamble segment and the payload of the packet that security-related application is associated Both sections.Thus, in one embodiment, generate classification 34 and make to spy upon module 62 The preamble segment of packet that pry is associated with safety applications and payload section (or only preamble segment And/or the relevant portion of payload section).
In another example, classification 34 based on the packet for the queue selected or stream, Pry module 62 is based at least partially on (such as, the classification 34 of any other suitable standard In any other configuration information), come snoop data packet section.
The operation of system 10 in Fig. 1
As it has been described above, based on the classification information 34 for data packet receipt, packet transaction mould Block 16 (such as, memorizer memory module selects module 20) selects the conjunction for packet Suitable memorizer memory module (such as, preextraction pattern, cache deposit pattern and One or more in snoop mode).Such as, network controller 12 can be by relatively high excellent The packet of first level (such as, the packet of whole high priority or only high priority The relevant portion of packet) directly write to cache 30.That is, for high priority Packet for, classification 34 can be generated so that memorizer memory module select module 20 select cache to deposit pattern.In another example, pry module 62 can be spied upon whole The packet of individual high priority.On the other hand, the number of medium priority is write to memorizer 26 According to packet (such as, but have lower than the packet of high priority than low priority The packet of the priority that packet is high), and then can access processing core 14 And before processing packet, by preextraction module 22 preextraction.That is, for medium priority Packet, classification 34 can be generated so that memorizer memory module select module 20 Select preextraction pattern.The packet of low priority can be stored in memorizer 26, And and if only if process when process is grouped by core 14 and extract to cache 30.Additionally, at another In example, pry module 62 only can spy upon based on the classification 34 being associated medium priority with/ Or the section of the packet of low priority.
As it has been described above, based on classification 34 (priority based on such as packet then) with Preextraction pattern, cache deposit pattern and/or snoop mode to carry out operating be only example. In another example, it is also possible to by any different in the way of generate classification 34.
As it has been described above, in one embodiment, in various memorizer memory modules, example As, replacement processes whole packet, only process the section of packet (this process such as, Only preextraction, deposit in cache 30 and/or snoop data packet section).Such as, Only the section of the packet accessed is needed to be placed at a high speed when processing packet by processing core 14 In caching 30 (such as, with preextraction pattern or depositing pattern with cache).Therefore, No matter processing when core 14 desires access to and/or process packet, processing core 14 and all can hold Change places in cache 30, obtain the section of packet, thus decrease and process data and divide The delay that group is associated.The section being additionally, since only packet (such as, replaces whole number According to packet) storage in the caches, thus cache does not overload because of data (example As, it is not necessary to frequently override cache).This also results in the cache that size is less, And/or reduce the chance washing away packet from cache.
In one embodiment, resolve and sort module 18, preextraction module 22, at a high speed Caching registration module 42 and/or pry module 62 are fully configurable.Such as, resolve and Sort module 18 can be arranged to the SOC being based at least partially on application He being associated Key, the type of packet, available bandwidth etc., dynamically change segment data The selection of packet (such as, will be with preextraction pattern or deposit pattern with cache and stored In the caches or the segment data spied upon is grouped).In another example, in advance Extraction module 22, cache registration module 42 and pry module 62 can be arranged to move The change of state ground such as inserts the timing of the section of packet (such as, to carry in advance to cache Delivery formula or deposit pattern with cache), and/or dynamically change the system 10 with Fig. 1 Any other appropriate criteria of being associated of operation.
Fig. 2 shows according to embodiment of the present disclosure, for operating the system 10 of Fig. 1 Exemplary method 200.204, network controller 12 (or any other of system 10 is suitable Assembly) receive the packet transmitted by network.208, resolve and sort module 18 Generate the classification information for packet.In one embodiment, classification 34 includes using Instruction in the memorizer memory module of packet.In one embodiment, classification 34 Including being such as stored in cache 30 (such as, with preextraction pattern or with at a high speed Caching deposits pattern) and/or by the instruction of the section spying upon the packet that module 62 is spied upon.
212, memorizer memory module selects module 20 to deposit based on classification 34 selection memorizer Storage pattern.216, PHM packet handling module 16 uses at the memorizer memory module selected Reason packet.Such as, if selected for preextraction pattern, then store number to memorizer 26 According to packet, and preextraction module 22 is based at least partially on classification 34, from memorizer 26 Section to cache 30 preextraction packet.In another example, if selected for height Speed caching deposits pattern, then be based at least partially on classification 34, directly from network controller 12 The section of packet is stored to cache 30.In another example, if selected for pry Pattern, then pry module 62 be based at least partially on classification 34, by bus 60 to depositing The section of snoop data packet when reservoir 26 writes packet.In one embodiment, peep Spy pattern deposits pattern (such as, snoop mode independent of preextraction pattern and/or cache Whether all packets for write memorizer 26 perform, such as, and select to carry in advance It is unrelated that delivery formula and/or cache deposit pattern).
Although having been illustrated with at this and describing detailed description of the invention, it should be noted that Without departing from the scope of the disclosure, various alternative and/or equivalent realization can substitute The detailed description of the invention illustrated and describe.The disclosure contains and falls completely within the institute expressed or imply All methods, device and goods in attached Claims scope.The application is intended to this Any amendment of place disclosed embodiment or deformation.Accordingly, it is shown that and purpose be The disclosure is only limited by claims and its equivalent.

Claims (19)

1. the method optimized for packet transaction, including:
The packet transmitted by network is received by networking component;
The information included based on described packet generates the classification information for described packet; And
Offer for optionally being stored the described packet of reception by described networking component Multiple memorizer memory modules, the plurality of memorizer memory module includes:
First memory memory module, for dividing described in whole to cache storage The first paragraph of the described packet of group, and store institute to the memory location of memorizer State the second segment of packet, wherein store described packet to described cache Described first paragraph also includes: in response to the institute selected in the plurality of memorizer memory module State first memory memory module, come from described networking component by bypassing described memorizer Described first paragraph to packet described in described cache transfers;And
Second memory memory module, divides for storing whole described data to memorizer Group;
Based on the described classification information generated, select in the plurality of memorizer memory module Individual memorizer memory module is used for storing described packet;And
Described packet is processed by processing core.
Method the most according to claim 1, wherein said second memory memory module It is preextraction pattern, and wherein said method also includes:
In response to selecting described preextraction pattern, it is based at least partially on described classification information, from Described memorizer extracts at least the 3rd section of described packet to described cache.
Method the most according to claim 2, wherein said packet is the first data Packet, wherein said first packet is associated with the first Business Stream, and wherein said Extract the most described 3rd section of described first packet also to include:
When processing the second packet being associated with described first Business Stream, at least in part Described first packet and described second data based on being associated with identical services stream divide Group, extracts described first packet at least from described memorizer to described cache Described 3rd section.
Method the most according to claim 2, the described packet of wherein said extraction At least the 3rd section also includes:
Ask the most described second segment of described packet to perform institute at described process core Before the process operation of the most described second segment stating packet, carry to described cache Take the most described 3rd section of described packet.
Method the most according to claim 2, wherein said generation described classification information is also Including:
Generate the described classification information for described packet so that described classification information includes Extract from described memorizer described cache described packet the most described 3rd The instruction of section.
Method the most according to claim 1, also includes:
Prevent from described networking component to described in packet described in described cache transfers Second segment at least some of.
Method the most according to claim 1, wherein said method also includes:
In response to the 3rd memorizer memory module selected in the plurality of memorizer memory module, I () transmits described packet to described memorizer;And (ii) is to described memorizer When transmitting described packet, spy upon described packet the 3rd section.
Method the most according to claim 7, wherein said generation described classification information is also Including:
Generate the described classification information for described packet so that described classification information includes The instruction of described 3rd section of the described packet spied upon.
Method the most according to claim 1, wherein said generation divides for described data The described classification information of group also includes:
Determine the priority of described packet;And
If described packet has relatively high priority, then generate described classification information, Described classification information is made to indicate described first memory being stored for described packet The selection of pattern.
Method the most according to claim 9, wherein said generation divides for described data The described classification information of group also includes:
If described packet has relatively high priority, then generate described classification information, The instruction of described classification information directly will be stored to described cache from described networking component Described whole packet.
11. methods according to claim 10, wherein said generation is used for described data The described classification information of packet also includes:
If described packet has relatively low priority, then generate described classification information so that The instruction of described classification information selects described second memory memory module;And
If described packet has lower than described relatively high priority and than described phase The priority high to low priority, then generate described classification information so that described classification is believed Breath instruction is for the preextraction pattern of described packet.
12. methods according to claim 1, described the second of wherein said packet Section is less than the entirety of described packet.
13. methods according to claim 1, described the second of wherein said packet Section includes the entirety of described packet.
14. 1 kinds of SOC(system on a chip) SOC, including:
Process core;
Cache;
Resolve and sort module, be arranged to:
Receiving packet from network controller, wherein said network controller passes through network Receive described packet;And
Generate the classification information for described packet;And
Memorizer memory module selects module, is configured to:
There is provided for optionally being stored the described data received by described networking component Multiple memorizer memory modules of packet, the plurality of memorizer memory module includes:
I () first memory memory module, wherein said network controller is by side Road memorizer, comes to described cache transfers less than described in whole described packet The first paragraph of packet, and transmit institute to the memory location of described memorizer Stating the second segment of packet for storing, wherein said memorizer is different from described Cache;And
(ii) second memory memory module is for whole to the 3rd memorizer storage Described packet;And
Based on the described classification information generated, select in the plurality of memorizer memory module A memorizer memory module for described packet.
15. SOC according to claim 14, wherein said SOC farther include Preextraction module, described preextraction module is additionally configured to:
In response to the described selection to described second memory memory module, it is based at least partially on Described classification information from described memorizer to packet described in described cache preextraction 3rd section.
16. SOC according to claim 15, wherein:
Described packet is the first packet being associated with the first Business Stream;And
When described process core processes the second packet being associated with described first Business Stream, Described preextraction module is based at least partially on described first number being associated with identical services stream According to packet and described second packet, carry out the first packet described in preextraction the 3rd section.
17. SOC according to claim 14, wherein said memorizer is at described SOC Outside.
18. SOC according to claim 14, also include:
Pry module, is arranged in response to the 3rd to the plurality of memorizer memory module The described selection of memorizer memory module, is passing to described memorizer from described network controller During defeated described packet, spy upon the 3rd of described packet based on described classification information Section.
19. SOC according to claim 18, wherein said classification information include by by The instruction of described 3rd section of the described packet of described pry module pry.
CN201110069453.6A 2010-03-18 2011-03-17 Packet transaction optimizes Expired - Fee Related CN102195877B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31533210P 2010-03-18 2010-03-18
US61/315,332 2010-03-18

Publications (2)

Publication Number Publication Date
CN102195877A CN102195877A (en) 2011-09-21
CN102195877B true CN102195877B (en) 2016-12-14

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226704A (en) * 1998-02-17 1999-08-25 国际商业机器公司 Cache coherency protocol for data processing system including multi-level memory hierarchy
CN1682502A (en) * 2002-07-15 2005-10-12 索马网络公司 Apparatus, system and method for the transmission of data with different QoS attributes
US7600131B1 (en) * 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226704A (en) * 1998-02-17 1999-08-25 国际商业机器公司 Cache coherency protocol for data processing system including multi-level memory hierarchy
US7600131B1 (en) * 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip
CN1682502A (en) * 2002-07-15 2005-10-12 索马网络公司 Apparatus, system and method for the transmission of data with different QoS attributes

Similar Documents

Publication Publication Date Title
CN102195874B (en) The preextraction of packet
CN104954221B (en) PCI Express architecture for fully connected network LF Topology structure route
CN104050041B (en) Scheduling Method and Apparatus for Scheduling Rule Matching in a Processor
US8949500B2 (en) Non-blocking processor bus bridge for network processors or the like
CN103647807B (en) A kind of method for caching information, device and communication equipment
US9280297B1 (en) Transactional memory that supports a put with low priority ring command
JP5733701B2 (en) Packet processing optimization
US9069602B2 (en) Transactional memory that supports put and get ring commands
CN106537858B (en) A kind of method and apparatus of queue management
WO2011078108A1 (en) Pattern-matching method and device for a multiprocessor environment
CN103248670B (en) Connection management server and connection management method under computer network environment
CN105579990A (en) Application-aware network management
CN104811392A (en) Method and system for processing resource access request in network
CN107786669A (en) A kind of method of load balance process, server, device and storage medium
US11316916B2 (en) Packet processing method, related device, and computer storage medium
CN109327511A (en) A kind of data request method and server based on http protocol
CN109861931A (en) A kind of storage redundant system of high speed Ethernet exchange chip
CN103827849B (en) The system and method for supporting the complex message header in affairs formula middleware machine environment
CN103618778A (en) System and method for achieving data high concurrency through Linux virtual host
CN107015978A (en) A kind of web page resources processing method and device
CN101217486B (en) A mobile Internet data load allocation method based on network processor
CN109040153A (en) Caching method, relevant device and the computer readable storage medium of cache contents
CN106856456A (en) The processing method and system of cache cluster service
CN108551485A (en) A kind of streaming medium content caching method, device and computer storage media
CN102195877B (en) Packet transaction optimizes

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161214