CN102073539A - Queue request processing method and device - Google Patents

Queue request processing method and device Download PDF

Info

Publication number
CN102073539A
CN102073539A CN 201010577858 CN201010577858A CN102073539A CN 102073539 A CN102073539 A CN 102073539A CN 201010577858 CN201010577858 CN 201010577858 CN 201010577858 A CN201010577858 A CN 201010577858A CN 102073539 A CN102073539 A CN 102073539A
Authority
CN
China
Prior art keywords
request
queue
sheet
target engine
team
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
CN 201010577858
Other languages
Chinese (zh)
Other versions
CN102073539B (en
Inventor
丁德宏
程柏
卞云峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 201010577858 priority Critical patent/CN102073539B/en
Publication of CN102073539A publication Critical patent/CN102073539A/en
Application granted granted Critical
Publication of CN102073539B publication Critical patent/CN102073539B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The embodiment of the invention provides a queue request processing method and device. The method comprises the following steps: receiving a queue request of a flow queue, and acquiring the queue identification of the flow queue; searching a target engine corresponding to the flow queue in a chip according to the queue identification, wherein an on-chip queue information table is stored in the target engine; if the target engine is founded, writing the queue request into a request queue corresponding to the flow queue, processing the queue request in the request queue, and updating the on-chip queue information table stored in the target engine; when the request queue is empty, updating an off-chip queue information table of a new flow queue according to the information of the on-chip queue information table, and releasing the target engine to be an idle engine. The embodiment of the invention achieves the aim of correctly accessing the off-chip queue information table.

Description

Formation Request Processing method and apparatus
Technical field
The embodiment of the invention relates to the communication technology, relates in particular to a kind of formation Request Processing method and apparatus.
Background technology
In the traffic management chip, comprise K flow queue (Flow Queue, hereinafter to be referred as: FQ), each FQ has queuing message table (the Flow Queue Information Table of 128bit, hereinafter to be referred as: FQIT), comprise in the queuing message table: queue identity, team head pointer, tail of the queue pointer, queue depth and be used to control the token (token) of this formation flow and credit (credit rating) etc.Joining the team at every turn or going out team of each FQ all will be visited FQIT, to obtain and to upgrade the queuing message of this FQ.Along with improving constantly of mechanics of communication, the storage of FQ queuing message mainly lays particular emphasis on large capacity cache and high-speed mutually combining of visiting.
A kind of method of FQIT storage at present is, FQIT is deposited in the buffer memory in sheet (the inner integrated buffer memory of stream reason managing chip), can improve the speed of visit FQIT.Yet buffer memory capacity is less usually in the sheet, has limited the FQ quantity that can hold.Consider that FQIT can take bigger spatial cache.Another kind method is that FQIT is stored in the outer buffer memory of sheet (the external buffer memory of stream reason managing chip), as QDR SRAM (Quad Data Rate static RAM, four times of fast static RAM (SRAM)s).
Yet for the method for the outer buffer memory FQIT of sheet, when receiving the request of eight teams or going out team's request, the FQIT that reads outside sheet might not be up-to-date FQIT, thereby causes irrecoverable error.
Summary of the invention
The embodiment of the invention provides a kind of formation Request Processing method and apparatus, can not correctly visit the problem of the outer FQIT of sheet in order to solve prior art.
The embodiment of the invention provides a kind of formation Request Processing method, comprising:
Receive the formation request of flow queue, obtain the queue identity of described flow queue;
According to queue identity, in sheet, search the target engine that whether has described flow queue correspondence, preserve the interior queuing message table of sheet of described flow queue in the described target engine;
If find the target engine, described formation request is write the request queue of described flow queue correspondence, the described formation request in the processes said request formation, and upgrade queuing message table in the sheet of preserving in the described target engine; When described request formation when being empty,, and described target engine is released to idle engine according to the outer queuing message table of sheet of the described flow queue of information updating of described interior queuing message table.
The embodiment of the invention also provides a kind of formation Request Processing device, comprising:
The request receiver module is used to receive the formation request of flow queue, and described formation request comprises the request of joining the team and goes out team's request;
Engine management module in the sheet is used to manage a plurality of interior engines, and described interior engine is used for according to the outer queuing message table of the sheet of flow queue, generates and preserve the interior queuing message table of sheet of described flow queue;
Search module, be used for the queue identity that receives according to the described request receiver module, in sheet, search the target engine of queuing message table in the sheet of preserving described flow queue in the engine management module;
The request queue administration module is used for the formation request of described flow queue is write the corresponding request queue of described flow queue, and according to the disposition of described request formation, more queuing message table in the sheet of flow queue correspondence described in the fresh target engine.
The embodiment of the invention, the queuing message table that outside sheet, reads by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.
Description of drawings
In order to be illustrated more clearly in the embodiment of the invention or technical scheme of the prior art, to do one to the accompanying drawing of required use in embodiment or the description of the Prior Art below introduces simply, apparently, accompanying drawing in describing below is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is formation Request Processing method embodiment one process flow diagram of the present invention;
Fig. 2 A is the Request Processing method flow diagram of joining the team among the formation Request Processing method embodiment two of the present invention;
Fig. 2 B is an engine formation synoptic diagram in the embodiment of the invention;
Fig. 3 goes out group Request Processing method flow diagram among the formation Request Processing method embodiment three of the present invention;
Fig. 4 is for discharging the method flow diagram of engine among the formation Request Processing method embodiment five of the present invention;
Fig. 5 is formation Request Processing device embodiment one structural representation of the present invention;
Fig. 6 is formation Request Processing device embodiment two structural representations of the present invention;
Fig. 7 distributes synoptic diagram for the clock period among the formation Request Processing device embodiment three of the present invention;
Fig. 8 is engine arbitration scene synoptic diagram among the formation Request Processing device embodiment four.
Embodiment
For the purpose, technical scheme and the advantage that make the embodiment of the invention clearer, below in conjunction with the accompanying drawing in the embodiment of the invention, technical scheme in the embodiment of the invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, rather than whole embodiment.Based on the embodiment among the present invention, those of ordinary skills belong to the scope of protection of the invention not making the every other embodiment that is obtained under the creative work prerequisite.
The embodiment of the invention is based on the read of engine control in the sheet to the outer FQIT of sheet, to reach the purpose of the outer FQIT of correct visit sheet.Engine is meant the address space that is used for buffer memory FQIT in the sheet in the buffer memory in the embodiment of the invention.Each FQ only can take an engine, can be provided with a plurality of engines in the sheet, with a plurality of FQ of correspondence.When preserving the FQIT of certain FQ in the engine, it is associated with this FQ corresponding queues sign, thereby make engine to be associated with the request queue of FQ, thereby join the team or go out team when request in processing, can find the FQIT that corresponding engine upgrades in the engine to be preserved according to queue identity.When the request queue of engine correspondence is sky, the FQIT that preserves in the engine can be write outside the sheet, thereby be equivalent to discharge FQIT occupation space in sheet.
Fig. 1 is formation Request Processing method embodiment one process flow diagram of the present invention.As shown in Figure 1, present embodiment comprises:
Step 11: receive the formation request of flow queue, obtain the queue identity of described flow queue.
In embodiments of the present invention, described formation request comprises the request of joining the team and goes out team's request.
Step 12: according to queue identity, in sheet, search the target engine that whether has the flow queue correspondence, preserve the interior queuing message table of sheet of flow queue in the target engine.
In embodiments of the present invention, can be the engine configuration contingency table relevant, also can search described target engine according to the included corresponding queue identity of the queuing message table in the engine with queue identity.
Step 13: if find the target engine, the formation request is write the request queue of flow queue correspondence, handle the formation request in the request queue, and queuing message table in the sheet of preserving in the corresponding more fresh target engine.
If do not find the target engine, illustrate do not have in the sheet request of buffer memory current queue the queuing message table of corresponding flow queue, be that current queue request corresponding queues information table does not take any engine in the sheet, then select the target engine of the interior idle engine of a slice as described flow queue, and outside sheet, read queuing message table outside the sheet of described flow queue correspondence, the information of described outer queuing message table is write described target engine, obtain the interior queuing message table of sheet of described flow queue.
Step 14:,, and the target engine is released to idle engine according to the outer queuing message table of sheet of the information updating flow queue of queuing message table in the sheet when request queue when being empty.
The request queue of the target engine correspondence in sheet is empty, show that this target engine corresponding queues request is all processed, for making other FQ of this target engine cache to save space in the sheet, the queuing message table of buffer memory in this target engine is write back outside the sheet, and empty the queuing message table of buffer memory in this target engine, promptly discharge this target engine.
The queuing message table that the embodiment of the invention reads outside sheet by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.Further, when the target engine corresponding queues request in sheet is empty, show that this target engine corresponding queues request finishes dealing with, the queuing message table of buffer memory in this target engine is write back to outside the sheet, thereby saved space in the sheet.
For improving the speed of the outer FQIT of visit sheet, the embodiment of the invention is organized each list item among the FQIT.Because list items such as tail of the queue pointer, queue depth are only visited in the corresponding operation of the request of joining the team, therefore will organize together with the relevant list item (hereinafter to be referred as the list item of joining the team) of operation of joining the team.And some list item as token and credit, only goes out team's corresponding operation of request just can have access to, and therefore will organize together with the operation of joining the team other list item (hereinafter to be referred as going out group list item) irrelevant, that only just visit when handling out team's request.For example, the FQIT of a 128bit takies 4 physical addresss in the QDR of 18bit Burst2, position by each territory of rational planning FQIT, make to carry out and only visit high 64bit (2 QDR addresses) when joining the team the request respective operations, only just visit whole 128bit (4 QDR addresses) carrying out out team's request respective operations.The embodiment of the invention is with two states of engine: the list item state and go out group list item state of joining the team, represent respectively this engine whether be cached with FQIT join the team list item and FQIT go out group list item.The list item state of joining the team of engine represents that for taking this engine has been cached with the list item of joining the team of FQIT; Engine go out group list item state for taking, represent that this engine has been cached with group list item that goes out of FQIT.Particularly, each engine adopts the Status Flag register engine_fqit_status of two bits, respectively join the team list item state and go out group list item state of buffer memory.Wherein, engine_fqit_status[1] be that the high 64bit of 1 expression FQIT has been buffered in ram in slice, be the high 64bit of 0 expression FQIT also is not buffered in the sheet.Engine_fqit_status[0] be 1 the expression FQIT low 64bit be buffered in the sheet, be 0 the expression FQIT low 64bit also be not buffered in the sheet.Below illustrate respectively by two embodiment how to handle the request of joining the team and how to handle out team's request when the embodiment of the invention adopts the queuing message table of said structure.
Fig. 2 A is the Request Processing method flow diagram of joining the team among the formation Request Processing method embodiment two of the present invention.
Fig. 2 B is an engine formation synoptic diagram in the embodiment of the invention.Shown in Fig. 2 A, present embodiment comprises:
Step 21: receive the request of joining the team that carries queue identity.
Step 22: at the list item state of joining the team is in the sheet that takies in the engine, searches the target engine corresponding with queue identity.If find the target engine, execution in step 23, otherwise execution in step 24.
Shown in Fig. 2 B, corresponding engine numbering of engine in the sheet.The queuing message table FQIT of a formation FQ of each busy engine cache includes the queue identity FQID of respective queue FQ among each FQIT, therefore, and the corresponding FQID of each busy engine.Each busy engine also corresponding join the team request queue and one go out group request queue.
For example, engine is numbered 8 Status Flag register, its high-order engine_fqit_status[1] be 1 o'clock, the list item of joining the team that shows this engine is for taking, and promptly this engine cache has the list item of joining the team of FQIT; Its low level engine_fqit_status[0] be 0 o'clock, what show this engine goes out group list item for idle, does not promptly also have group list item that goes out among the buffer memory FQIT in the engine.Receive when request of joining the team, at engine_fqit_status[1] be in 1 the engine, search and the request of joining the team in the corresponding target engine of queue identity FQID.
Step 23:, the formation request is write in the request queue of joining the team of target engine correspondence if find the target engine.
In sheet, find and the request of joining the team in during the corresponding target engine of FQID, show the list item of joining the team among the FQIT of existing this FQID correspondence of engine cache in the sheet.That processing module is handled operation when joining the team request owing to join the team is the corresponding FQIT of buffer memory in the sheet, so the FQIT of target engine cache table is current up-to-date FQIT, does not need to read outside sheet again.
For example, at engine_fqit_status[1] be in 1 the engine, find and the request of joining the team in the corresponding target engine of FQID, for being numbered 2 engine.This request of joining the team is written to and is numbered 2 the pairing request queue of joining the team of engine, wait for the scheduling of the processing module of joining the team.Be dispatched to this request of joining the team in the processing module of joining the team and carry out when joining the team operation accordingly, directly from be numbered 2 engine, read FQIT.
Step 24: if do not find the target engine, the list item of joining the team that reads the queuing message table according to queue identity outside sheet writes an idle engine in the sheet, as the target engine of queue identity correspondence.
Step 25: the list item state of joining the team of target engine is written as takies, and the request of will joining the team writes the request queue of joining the team of target engine correspondence.
In sheet, do not find and the request of joining the team in during the corresponding target engine of FQID, show the FQIT that in sheet, does not also have engine cache corresponding with this FQID, need outside sheet, read FQIT.Owing to handle when joining the team request and only operate the list item of joining the team among the FQIT, therefore,,, only need outside sheet, read the list item of joining the team the corresponding FQIT, thereby improved the outer visit speed of sheet if in sheet, do not find the target engine receiving when joining the team request.After outside sheet, reading the list item of joining the team the FQIT, the request of joining the team is write the request queue of joining the team of target engine correspondence.In addition, also need the list item state of joining the team with this target engine be written as and take, be cached with the list item of joining the team of FQIT to show this target engine.
For example, in sheet, do not find and the request of joining the team in during the corresponding target engine of FQID, in sheet, select an idle engine, for example be that engine is numbered 3 idle engine, the list item of joining the team the FQIT corresponding that will outside sheet, read with FQID, be written to engine and be numbered in 3 the engine, and engine is numbered the status register engine_fqit_status[1 of 3 engine] be written as 1.
The embodiment of the invention is in the engine that takies at all list items of joining the team in request process is joined the team in processing, if do not match and the corresponding engine of this queue identity, only reads the list item of joining the team this FQIT this moment outside sheet.Because when only in sheet, not distributing to the engine of this FQ, just outside sheet, read the list item of joining the team of this FQIT, therefore guaranteed that the FQIT that reads is the up-to-date FQIT of FQ outside sheet, reduced the visit of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 3 goes out group Request Processing method flow diagram among the formation Request Processing method embodiment three of the present invention.Going out team's request is with the difference of asking of joining the team: going out team's request needs the full content of visit FQIT, and the list item of joining the team (high position of FQIT in the embodiment of the invention) that FQIT is only visited in the request of joining the team.Therefore, do not have engine to store the joining the team during list item of FQIT of a FQ correspondence in the sheet, show the FQIT that also outside sheet, did not read this FQ.For going out team request, the full content that needs read FQIT outside sheet writes the idle engine, and with the list item and go out group list item and all be recorded as and take of joining the team of this engine, shows that this engine stored the full content of FQIT.Particularly, with engine_fqit_status[0] and engine_fqit_status[1] all be changed to 1, to represent to preserve in this engine the total data of this FQIT.Wherein, engine go out group request queue referring to shown in Figure 1B, the description of relevant engine is referring to the description of above embodiment.As shown in Figure 3, comprising:
Step 31: receive the team that goes out that carries queue identity and ask.
Step 32: at the list item state of joining the team is in the sheet that takies in the engine, searches the target engine corresponding with queue identity.If find execution in step 33, otherwise execution in step 36.
Step 33: if find the target engine corresponding with queue identity, whether that judges the target engine goes out group list item state for taking.If execution in step 34, otherwise execution in step 35.
Step 34: if the target engine go out group list item state for taking, will go out group request queue that goes out that team asks to write target engine correspondence.
Step 35: if group list item state that goes out of target engine is the free time, outside sheet, read and go out group list item the queue identity corresponding queues information table and write the target engine, and group list item state that goes out of target engine correspondence is written as and takies, will go out group request queue that goes out that team's request writes target engine correspondence.
For example, at engine_fqit_status[1] be in 1 the engine, find and go out the corresponding target engine of FQID in team's request, for being numbered 2 engine, judging the engine_fqit_status[0 that is numbered 2 engine] whether be 1.If be numbered the engine_fqit_status[0 of 2 engine] be 1, this is gone out team's request be written to and be numbered that 2 engine is pairing to go out group request queue, wait for out the scheduling of group processing module; If be numbered the engine_fqit_status[0 of 2 engine] be 0, the low level that reads this FQIT outside sheet writes and is numbered 2 engine, while engine_fqit_status[1] be written as 1, this is gone out team request be written to and be numbered that 2 engine is pairing to go out group request queue, wait for out the scheduling of group processing module.Be dispatched to this and go out team request and carry out when going out team's operation accordingly going out group processing module, directly from be numbered 2 engine, read FQIT.
Step 36:, outside sheet, read queue identity corresponding queues information table and write an idle engine, as the target engine of queue identity correspondence if do not find the target engine corresponding with queue identity.
Step 37: with the list item state of joining the team of target engine with go out group list item state and all be written as and take, and will go out group request queue that goes out that team's request writes target engine correspondence.
For example, at engine_fqit_status[1] be in 1 the engine, do not find and go out the corresponding target engine of FQID in team's request.In sheet, select an idle engine, for example be that engine is numbered 4 idle engine, outside sheet, read and be written to engine the FQIT corresponding and be numbered in 4 the engine, and engine is numbered two status register engine_fqit_statuss[0 of 4 engine with FQID] and engine_fqit_status[1] all be written as 1.
The embodiment of the invention is in handling out group request process, at all list items of joining the team is in the engine that takies, as if not matching and going out the corresponding engine of queue identity that carries in team's request, the FQIT full content that reads the queue identity correspondence outside sheet the buffer memory writes in the sheet in the idle engine in the buffer memory, and with the list item state of joining the team of this engine with go out group list item state and all be recorded as and take.If match and go out the identical engine of queue identity that team carries in asking, whether that judges this engine goes out group list item for taking, if directly this is gone out group request queue that goes out that team's request writes this engine correspondence, otherwise also need the FQIT that outside sheet, reads the queue identity correspondence the buffer memory to go out group list item for taking.Since only in sheet, do not preserve in the engine of buffer memory this FQIT go out group list item the time just outside sheet buffer memory read group list item that goes out of FQIT, therefore guaranteed that the FQIT that buffer memory reads outside sheet is the up-to-date FQIT of FQ, reduced the access times of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 4 is for discharging the method flow diagram of engine among the formation Request Processing method embodiment four of the present invention.As shown in Figure 4, present embodiment comprises:
Step 41:, the queuing message table of engine cache is write outside the sheet in the request queue and go out group request queue when being sky of joining the team of engine correspondence.
For empty, show that the processing module of joining the team handled the request of joining the team in the request queue of joining the team of this engine correspondence in the request queue of joining the team of engine correspondence; The engine correspondence go out group request queue when empty, indicate that group processing module handled going out of this engine correspondence and gone out team's request in group request queue.Therefore, certain engine correspondence join the team request queue for empty and this engine correspondence go out group request queue also when empty, showing the request of not joining the team and going out team's request needs and operating the FQIT that preserves in this engine.Thereby, the FQIT of this engine cache can be write back sheet outer in.
When the FQIT with this engine cache writes back outside the sheet, if the list item state of joining the team of this engine correspondence is for taking, and the engine correspondence go out group list item state for idle, promptly only to the FQ of this engine correspondence operation of having carried out joining the team, operate and go out team.Therefore, only need the list item of joining the team of FQIT is write back in the outer buffer memory of sheet.If the list item state of joining the team of engine be take and engine go out group list item state when taking, the queuing message table is write back outside the sheet, promptly to the FQ of this engine correspondence carried out joining the team operation and go out team and operate.
Step 42: empty data in buffer in this engine.
Empty that data in buffer comprises in this engine: two status registers and the FQIT that remove engine.Empty the data of storing in the engine, use this engine is distributed to next FQ.
The embodiment of the invention in the request queue and go out group request queue when being sky of joining the team of engine correspondence, writes sheet with the queuing message table of engine storage and empties data in this engine after outer.When writing FQIT outside the sheet, if the list item state of joining the team of this engine correspondence is for taking, and the engine correspondence go out group list item state for idle, only the list item of joining the team of FQIT need be write back outside the sheet.Reduced the access times of the outer FQIT of sheet and the bandwidth of having saved the outer buffer memory of sheet, realized lot of F QIT is stored in the outer purpose of sheet, reduced cost.
Fig. 5 is formation Request Processing device embodiment one structural representation of the present invention.Present embodiment comprises: ask receiver module 51, search engine management module 54 in module 52, request queue administration module 53 and the sheet.
Request receiver module 51 is used to receive the formation request of flow queue, and described formation request comprises the request of joining the team and goes out team's request.
Engine management module 54 in the sheet is used to manage a plurality of interior engines, and described interior engine is used for according to the outer queuing message table of the sheet of flow queue, generates and preserve the interior queuing message table of sheet of described flow queue.Search module 52, be used in sheet, searching the target engine of queuing message table in the sheet of preserving described flow queue in the engine management module 54 according to the queue identity of asking receiver module 51 to receive.Request queue administration module 53 is used for the formation request of described flow queue is write the corresponding request queue of described flow queue, and according to the disposition of described request formation, upgrades queuing message table in the sheet in the target engine of described flow queue correspondence.
Further, as shown in Figure 6, described interior engine management module 54 comprises: information table reading unit 541 and information table write back unit 542.
Information table reading unit 541, be used for searching module 52 when not finding described target engine, select the target engine of an idle engine, and in described target engine, generate queuing message table in the sheet of described flow queue correspondence according to the outer queuing message table of the sheet of described flow queue as flow queue.
Information table writes back unit 542, be used for when the request queue of described flow queue correspondence is sky, upgrade the outer queuing message table of sheet of described flow queue according to queuing message table in the sheet of the target engine of described flow queue correspondence, and the target engine of just described flow queue discharges.
The working mechanism of above-mentioned each module does not repeat them here referring to describing among the corresponding embodiment of Fig. 1.
The queuing message table that the embodiment of the invention reads outside sheet by engine cache in the sheet.When receiving the formation request that carries queue identity, whether elder generation searches to exist in sheet and is cached with the target engine corresponding with queue identity.If exist, then do not need outside sheet, to read this queue identity corresponding queues information table; If there is no corresponding queuing message table then reads the queuing message table and writes in the sheet the idle engine outside sheet.Thereby the queuing message table of having avoided reading outside sheet is not the defective of up-to-date queuing message table, has reached the purpose of the outer queuing message table of correct visit sheet.Further, when the target engine corresponding queues request in sheet is empty, show that this target engine corresponding queues request finishes dealing with, the queuing message table of buffer memory in this target engine is write back to outside the sheet, thereby saved space in the sheet.
Further, the formation request comprises the request of joining the team and goes out team's request.For improving the speed of the outer FQIT of visit sheet, the embodiment of the invention will organize together with the relevant list item (list item of joining the team) of operation of joining the team among the FQIT, and other and the list item of joining the team list item (going out group list item) irrelevant, that only just need visit when handling out team's request is organized together.Only store in the target engine when joining the team list item, the list item state of joining the team of this target engine group list item state for idle for taking.Therefore, each module is to the request of joining the team with to go out group processing of request method different, specific as follows:
Searching module 52, specifically be used for according to queue identity, is to search the target engine corresponding with flow queue in the sheet that takies in the engine at the list item state of joining the team.
Request queue administration module 53 specifically is used for if searching module 52 finds the target engine, when the formation request of asking receiver module 51 to receive is asked for joining the team, the request of joining the team is write in the request queue of joining the team of target engine correspondence.
Request queue administration module 53, also specifically be used for finding the target engine if search module 52, when the formation request of asking receiver module 51 to receive is asked for going out team, whether that judges the target engine goes out group list item state for taking, if take, will go out team's request and write going out in group request queue of target engine correspondence; If it is idle, group list item that goes out of queuing message table writes the target engine outside the sheet of announcement information table reading unit 541 reading flow formation correspondence outside sheet, to go out team request and write going out in group request queue of target engine correspondence, and group list item that goes out of target engine is written as and takies.
Request queue administration module 53, also specifically be used for not finding the target engine if search module 52, when the formation request is asked for joining the team, the list item of joining the team of queuing message table writes an idle engine in the sheet outside the sheet of announcement information table reading unit 541 reading flow formation correspondence outside sheet, as the target engine of flow queue; The list item state of joining the team of target engine is written as takies, and the request of will joining the team writes in the request queue of joining the team of target engine correspondence.
Request queue administration module 53, also specifically be used for not finding the target engine if search module 52, when the formation request is asked for going out team, the queuing message table writes an idle engine outside the sheet of announcement information table read module 541 reading flow formation correspondence outside sheet, as the target engine of queue identity correspondence; With the list item state of joining the team of target engine with go out group list item state and all be written as and take, and will go out group request queue that goes out that team's request writes target engine correspondence.
By the processing with upper module, the embodiment of the invention has reduced the visit of the outer FQIT of sheet and the bandwidth of having saved buffer memory outside the sheet, has realized lot of F QIT is stored in the outer purpose of sheet, has reduced cost.
At synchronization, may exist the request queue of joining the team of a plurality of engines to satisfy simultaneously and group condition, group request queue that goes out of a plurality of engines is satisfied simultaneously and group condition, and a plurality of engines satisfy release conditions simultaneously.In the embodiment of the invention in a processing cycle, with time division multiplex (Time Division Multiplexed, hereinafter to be referred as: TDM) mode is separately fixed at three clock period polls and goes out to join the team in the request queue of joining the team and ask out team, poll to go out one to go out to go out in group request queue team and ask out team, poll to go out engine to discharge.
Further, request queue administration module 53 also is used to adopt the time division multiplex referee method, respectively to the request that goes out team's request and release target engine that team asked, went out group request queue that goes out of the request queue of joining the team, carries out arbitration process in a processing cycle.
Fig. 7 distributes synoptic diagram for the clock period among the formation Request Processing device embodiment three of the present invention.As shown in Figure 7, a processing cycle is 8 clock period.In a processing cycle, handle a request of joining the team in the T1 clock period, handle one in the T5 clock period and go out team's request, therefore, can take two engines in the processing cycle at most.For reaching the balance that engine takies and discharges, in a processing cycle, distribute two clock period polling engines to discharge request.0 clock period of distribution T scheduler meets in the request queue of joining the team of group condition poll at all and goes out a formation and go out team, the request of joining the team that goes out team enters into the processing module of joining the team and handles, 2 clock period of distribution T go out a formation and go out team at the poll that goes out in group request queue that all meet group condition, the team's request that goes out that goes out team enters into out group processing module processing, meet 4 clock period of distribution T that poll goes out a release in the engine of release conditions, meet 6 clock period of distribution T that poll goes out a release in the engine of release conditions at all at all.Fig. 8 is engine arbitration scene synoptic diagram among the formation Request Processing device embodiment four, as shown in Figure 8, when each poll, selects one to carry out the operation of being correlated with in the engine formation that satisfies condition in the mode of RR (Round Robin) poll.
The engine number is crossed that I haven't seen you for ages and is caused the access speed that processing power in the sheet is depended on the outer buffer memory of sheet, and the engine number too much can cause the waste of resource.In the embodiment of the invention, handle out the cycle of team request according to going out group processing module, the processing module of joining the team handle join the team the processing of request cycle and from the request initiating to read FQIT outside the sheet to the time delay that FQIT returns outside sheet, decide the number of engine.
Further, request queue administration module 53 also is used for handling out the cycle of team's request according to going out group processing module, and the processing module of joining the team is handled join the team processing of request cycle and the time delay that reads the queuing message table, determines the engine number in the sheet.
Suppose the read request of reading FQIT outside the sheet from sending, turning back to FQIT needs 16 processing cycles in the sheet, goes out group processing module and handles one and go out 8 processing cycles of group requirements of process, and the processing module of joining the team is handled one and joined the team 8 processing cycles of requirements of process; If FQID is identical, go out group request queue and the request queue of joining the team can take same engine.But consider worst case: each FQID that goes out group request queue and the request queue of joining the team in a period of time is different, i.e. formation takies an engine.For going out team's request, an engine is used release 24 processing cycles of need from occupied, so need 24 engines at least for going out team's request; In like manner, for the request of joining the team, engine is used release and is also needed 24 processing cycles from occupied, so need 24 engines at least for the request of joining the team.Consider other some expenses again, the engine number is defined as 64.
One of ordinary skill in the art will appreciate that: all or part of step that realizes said method embodiment can be finished by the relevant hardware of programmed instruction, aforesaid program can be stored in the computer read/write memory medium, this program is carried out the step that comprises said method embodiment when carrying out; And aforesaid storage medium comprises: various media that can be program code stored such as ROM, RAM, magnetic disc or CD.
It should be noted that at last: above embodiment only in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to previous embodiment the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: it still can be made amendment to the technical scheme that aforementioned each embodiment put down in writing, and perhaps part technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the spirit and scope of various embodiments of the present invention technical scheme.

Claims (9)

1. a formation Request Processing method is characterized in that, comprising:
Receive the formation request of flow queue, obtain the queue identity of described flow queue;
According to queue identity, in sheet, search the target engine that whether has described flow queue correspondence, preserve the interior queuing message table of sheet of described flow queue in the described target engine;
If find the target engine, described formation request is write the request queue of described flow queue correspondence, the described formation request in the processes said request formation, and upgrade queuing message table in the sheet of preserving in the described target engine;
When described request formation when being empty,, and described target engine is released to idle engine according to the outer queuing message table of sheet of the described flow queue of information updating of described interior queuing message table.
2. formation Request Processing method according to claim 1 is characterized in that, describedly described target engine is released to idle engine comprises:
Empty data in the described target engine.
3. formation Request Processing method according to claim 1 is characterized in that, described engine is meant the address space in the buffer memory in the sheet, is used to preserve described interior queuing message table.
4. formation Request Processing method according to claim 1, it is characterized in that, described method also comprises: if do not find described target engine, then select the target engine of the interior idle engine of a slice as described flow queue, and outside sheet, read queuing message table outside the sheet of described flow queue correspondence, the information of described outer queuing message table is write described target engine, obtain the interior queuing message table of sheet of described flow queue.
5. formation Request Processing method according to claim 1 is characterized in that, and is described according to queue identity, searches the target engine that whether has described flow queue correspondence in sheet, comprising:
According to described queue identity, be to search the target engine corresponding in the sheet that takies in the engine with described flow queue at the list item state of joining the team;
If find, when described formation request is asked for joining the team, the described request of joining the team is write in the request queue of joining the team of described target engine correspondence; For going out team when request, whether that judges described target engine goes out group list item state for taking in described formation request, if take, goes out team's request and writes going out in group request queue of described target engine correspondence described; If it is idle, group list item that goes out that reads queuing message table outside the sheet of described flow queue correspondence outside sheet writes described target engine, go out team's request and write going out in group request queue of described target engine correspondence described, and group list item that goes out of described target engine is written as and takies;
If do not find, when described formation request is asked for joining the team, outside sheet, read the list item of joining the team the queuing message table outside the sheet of described flow queue correspondence and write an idle engine in the sheet, target engine as described flow queue, the list item state of joining the team of described target engine is written as takies, and the described request of joining the team is write in the request queue of joining the team of described target engine correspondence; When described formation request is asked for going out team, read outside sheet that the queuing message table writes an idle engine outside the sheet of described flow queue correspondence, target engine as described queue identity correspondence, with the list item state of joining the team of described target engine with go out group list item state and all be written as and take, and will be described go out group request queue that goes out that team asks to write described target engine correspondence.
6. a formation Request Processing device is characterized in that, comprising:
The request receiver module is used to receive the formation request of flow queue, obtains the queue identity of described flow queue;
Engine management module in the sheet is used to manage a plurality of interior engines, and described interior engine is used for according to the outer queuing message table of the sheet of flow queue, generates and preserve the interior queuing message table of sheet of described flow queue;
Search module, be used for the queue identity that receives according to the described request receiver module, in sheet, search the target engine of queuing message table in the sheet of preserving described flow queue in the engine management module;
The request queue administration module is used for the formation request of described flow queue is write the corresponding request queue of described flow queue, and according to the disposition of described request formation, more queuing message table in the sheet of flow queue correspondence described in the fresh target engine.
7. formation Request Processing device according to claim 6 is characterized in that, described interior engine management module comprises:
Information table writes back the unit, is used for when the request queue of described flow queue is idle, upgrades the sheet outflow queuing message table of described flow queue according to queuing message table in the sheet in the target engine of described flow queue, and discharges described target engine;
The information table reading unit, be used in the described module of searching when not finding described target engine, select the target engine of an idle engine, and in described target engine, generate queuing message table in the sheet of described flow queue correspondence according to the outer queuing message table of the sheet of described flow queue as flow queue.
8. formation Request Processing device according to claim 7 is characterized in that, discharges described target engine and comprises described target engine is emptied.
9. according to claim 7 or 8 described formation Request Processing devices, it is characterized in that;
The described module of searching specifically is used for according to described queue identity, is to search the target engine corresponding with described flow queue in the sheet that takies in the engine at the list item state of joining the team;
The described request queue management module specifically is used for if the described module searches of searching to the target engine, when described formation request is asked for joining the team, writes the described request of joining the team in the request queue of joining the team of described target engine correspondence;
The described request queue management module, also specifically be used for as if the described module searches of searching to the target engine, when described formation request is asked for going out team, whether that judges described target engine goes out group list item state for taking, if take, go out team's request and write going out in group request queue of described target engine correspondence described; If it is idle, notify group list item that of queuing message table outside described information table reading unit reads described flow queue correspondence outside sheet the sheet to write described target engine, go out team's request and write going out in group request queue of described target engine correspondence described, and group list item that goes out of described target engine is written as and takies;
The described request queue management module, also specifically be used for not finding the target engine if search module, when described formation request is asked for joining the team, notify the list item of joining the team the queuing message table outside described information table reading unit reads described flow queue correspondence outside sheet the sheet to write an idle engine in the sheet, as the target engine of described flow queue; The list item state of joining the team of described target engine is written as takies, and the described request of joining the team is write in the request queue of joining the team of described target engine correspondence;
The described request queue management module, also specifically be used for not finding the target engine if search module, when described formation request is asked for going out team, notify that the queuing message table writes an idle engine outside described information table reading unit reads described flow queue correspondence outside sheet the sheet, as the target engine of described queue identity correspondence; With the list item state of joining the team of described target engine with go out group list item state and all be written as and take, and will be described go out group request queue that goes out that team asks to write described target engine correspondence.
CN 201010577858 2010-12-02 2010-12-02 Queue request processing method and device Active CN102073539B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010577858 CN102073539B (en) 2010-12-02 2010-12-02 Queue request processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010577858 CN102073539B (en) 2010-12-02 2010-12-02 Queue request processing method and device

Publications (2)

Publication Number Publication Date
CN102073539A true CN102073539A (en) 2011-05-25
CN102073539B CN102073539B (en) 2013-10-09

Family

ID=44032085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010577858 Active CN102073539B (en) 2010-12-02 2010-12-02 Queue request processing method and device

Country Status (1)

Country Link
CN (1) CN102073539B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423982A (en) * 2013-08-27 2015-03-18 阿里巴巴集团控股有限公司 Request processing method and device
CN106302374A (en) * 2015-06-26 2017-01-04 深圳市中兴微电子技术有限公司 A kind of for improving list item access bandwidth and the device and method of atomicity operation
CN115269467A (en) * 2022-09-29 2022-11-01 沐曦科技(成都)有限公司 Bus arbitration method and device, storage medium and electronic equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (en) * 2005-12-29 2006-07-12 中山大学 Multidimensional queue dispatching and managing system for network data stream
CN101246460A (en) * 2008-03-10 2008-08-20 华为技术有限公司 Caching data writing system and method, caching data reading system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (en) * 2005-12-29 2006-07-12 中山大学 Multidimensional queue dispatching and managing system for network data stream
CN101246460A (en) * 2008-03-10 2008-08-20 华为技术有限公司 Caching data writing system and method, caching data reading system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423982A (en) * 2013-08-27 2015-03-18 阿里巴巴集团控股有限公司 Request processing method and device
CN104423982B (en) * 2013-08-27 2018-03-06 阿里巴巴集团控股有限公司 The processing method and processing equipment of request
CN106302374A (en) * 2015-06-26 2017-01-04 深圳市中兴微电子技术有限公司 A kind of for improving list item access bandwidth and the device and method of atomicity operation
US10545867B2 (en) 2015-06-26 2020-01-28 Sanechips Technology Co., Ltd. Device and method for enhancing item access bandwidth and atomic operation
CN115269467A (en) * 2022-09-29 2022-11-01 沐曦科技(成都)有限公司 Bus arbitration method and device, storage medium and electronic equipment
CN115269467B (en) * 2022-09-29 2023-01-10 沐曦科技(成都)有限公司 Bus arbitration method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN102073539B (en) 2013-10-09

Similar Documents

Publication Publication Date Title
CN102549552B (en) For the treatment of the method for the packet in flow-aware network nodes
CN100499565C (en) Free list and ring data structure management
US7733892B2 (en) Buffer management method based on a bitmap table
US8626955B2 (en) Directing packets to a processor unit
CN103222003B (en) For performing memory and the method that atomic memory is operated according to configuration information
US10740006B2 (en) System and method for enabling high read rates to data element lists
US10055153B2 (en) Implementing hierarchical distributed-linked lists for network devices
CN106503008B (en) File storage method and device and file query method and device
CN107613529B (en) Message processing method and base station
CN106537858B (en) A kind of method and apparatus of queue management
US20030056073A1 (en) Queue management method and system for a shared memory switch
CN109684099A (en) Message treatment method and device
CN102073539B (en) Queue request processing method and device
CN101594201B (en) Method for integrally filtering error data in linked queue management structure
CN106254270A (en) A kind of queue management method and device
CN113126911B (en) DDR3 SDRAM-based queue management method, medium and equipment
CN116661703B (en) Memory access circuit, memory access method, integrated circuit, and electronic device
CN111562883B (en) Cache management system, method and device for solid state disk
US20040240473A1 (en) Method and system for maintaining partial order of packets
US11068308B2 (en) Thread scheduling for multithreaded data processing environments
US9767014B2 (en) System and method for implementing distributed-linked lists for network devices
CN117499351A (en) Message forwarding device and method, communication chip and network equipment
US10067690B1 (en) System and methods for flexible data access containers
US20080162831A1 (en) Management/circuit arrangement and memory management system
US9563584B2 (en) Method and device for buffer processing in system on chip

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