CN103914341B - Data queue goes out group management-control method and device - Google Patents

Data queue goes out group management-control method and device Download PDF

Info

Publication number
CN103914341B
CN103914341B CN201310003565.0A CN201310003565A CN103914341B CN 103914341 B CN103914341 B CN 103914341B CN 201310003565 A CN201310003565 A CN 201310003565A CN 103914341 B CN103914341 B CN 103914341B
Authority
CN
China
Prior art keywords
queue
node
chained list
recombination
child node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310003565.0A
Other languages
Chinese (zh)
Other versions
CN103914341A (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.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201310003565.0A priority Critical patent/CN103914341B/en
Priority to PCT/CN2013/090148 priority patent/WO2014106436A1/en
Publication of CN103914341A publication Critical patent/CN103914341A/en
Application granted granted Critical
Publication of CN103914341B publication Critical patent/CN103914341B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

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

Abstract

The invention discloses a kind of data queues to go out group management-control method and device, and method includes:Receiving queue dispatch command obtains queue first address and goes out the sub- pointer of team, is combined into absolute address;According to the sequence of absolute address, the child node information of group node, write-in recombination queue are obtained out;According to odd even sequence, intersects the child node information for prefetching and going out group node next time, odd even chained list is written;Opening flag is monitored, according to the sequencing that opening flag reaches, the scheduling serial number of data message is written in sequencing queue successively;According to scheduling numeric order, the child node information for going out group node in queue will be recombinated successively and is taken out, is directed toward corresponding data message storage location, send datagram dequeue instruction.The present invention uses " node convergence " mode to realize single linked list queue management and control, realizes extensive queue management and control by single linked list, ensures linear speed, saves the outer QDR memory storage spaces of piece and pin, structure is simple and easy to implement.

Description

Data queue goes out group management-control method and device
Technical field
The present invention relates to technical field of data processing, are related specifically to data queue and go out group management-control method and device.
Background technology
With the continuous growth of network service and capacity, the processing capacity of traffic management and control chip is required higher and higher. When traffic management and control chip realizes extensive queue management and control, relatively common is to be stored in data message by the way of chained list The outer DDR of piece(Double Data Rate)In memory, the corresponding index address of data message is stored in piece in the form of queue Outer QDR(Quad Data Rate, 4 haplotype data multiplying powers)In memory, in dequeue operation, index address is obtained, by index ground The corresponding data message in location is read, and is completed data message and is gone out team.
The management and control of queue is mainly the management and control to packet storage, including joins the team and go out two step of team, and queue is according to certain original Then, the data message for belonging to same queue is divided into one or more node, be stored in spatial cache, multiple node groups At an aggregation node, multiple aggregation nodes form a queue linked list;Logic is mutual indepedent between queue and queue, each team Row safeguard a queue linked list.It is joining the team in dequeue process, is caching the read write command provided according to dispatch command, to index ground Location and data message are stored and read out, and realize the management and control of data flow.
There are two types of modes for queue management and control, first, for the fixed memory space of each queue assignment, second is that all queues are total Enjoy same memory space.In the case of extensive queue, every group of queue can be caused by the way of fixed allocation memory space The memory space very little of distribution, it is weaker to the absorbability of burst flow, while the waste of memory space is than more serious.Therefore In large-scale queue management and control substantially all by the way of shared memory space.The queue management and control of existing shared memory space Technology mainly uses the realization method of single linked list and multilinked list, realizes the storage of chained list in queue management and control.If using traditional Singly linked list, the read-write delays of the outer QDR memories of piece cause single queue to go out team and cannot meet rate requirement of joining the team, meeting simultaneously It is a large amount of to occupy SRAM(Static Random Access Memory, static random access memory)Resource uses FPGA(Field- Programmable Gate Array, field programmable gate array)When realization, no matter device pin is distributed or is laid out Wiring is all huge challenge;If using multilinked list structure, a large amount of occupied disadvantages of SRAM resources are still remained, and make When being realized with FPGA, difficulty bigger of the device pin distribution with placement-and-routing than single linked list scheme.Meanwhile it being realized using single linked list Each address of node pointer in queue is mainly stored in chained list by the mode of queue management and control, need one node of reading it The address of next node can be just obtained afterwards, it is contemplated that the reading of QDR memories is delayed, and the rate that cannot meet team's processing is wanted It asks.
Invention content
The main object of the present invention is to provide a kind of to improve the data queue that extensive queue goes out group rate and go out group management and control side Method and device.
The present invention proposes that a kind of data queue goes out group management-control method, including step:
Receiving queue dispatch command, the queue first address and the queue obtained in queue descriptor go out in group chained list Team's node goes out the sub- pointer of team, is combined into out the absolute address of group node;
According to the sequence for the absolute address for going out group node in current chained list, the child node for going out group node in current chained list is obtained Information, write-in recombination queue, reconfigures as data message;According to the odd even sequence for going out group node in current chained list, intersect pre- It removes time the child node information of group node, odd even chained list is written, and prefetch the message for going out group node next time from odd even chained list Tail tag is known;
The opening flag for going out the data message that the child node information of group node includes in the recombination queue is monitored, according to The scheduling serial number of data message is written in sequencing queue successively for the sequencing that the opening flag reaches;
According to the scheduling numeric order of data dequeued message in the sequencing queue, go out successively by what is stored in recombination queue The child node information of team's node is taken out, and is directed toward corresponding data message storage location, send datagram dequeue instruction.
Preferably, the sequence according to the absolute address for going out group node in current chained list, obtains in current chained list and goes out team The child node information of node, write-in recombination queue, reconfigures as data message;According to the odd even for going out group node in current chained list Sequentially, intersect the child node information for prefetching and going out group node next time, odd even chained list is written, and prefetched from odd even chained list and go out team next time The step of message trailer mark of node, specifically includes:
According to the odd even sequence for the absolute address for going out group node in current chained list, it is by group node division is gone out in current chained list Odd node and even-numbered nodes;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained; The child node information for pre-reading next odd node, is written strange chained list;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read, even chained list is written;
According to the absolute address of next odd node, the child node information of next odd node, write-in recombination queue are obtained; The child node information for pre-reading again next odd node, is written strange chained list;
According to the absolute address of next even-numbered nodes, the child node information of next even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read again, even chained list is written;
And so on, until recombination queue is written in the child node information of all nodes in current chained list.
Preferably, the data message that the child node information for group node being gone out in the monitoring recombination queue includes is opened Begin mark, and according to the sequencing that the opening flag reaches, the scheduling serial number of data message is written in sequencing queue successively The step of specifically include:
Monitor opening flag and the institute for going out the data message that the child node information of group node includes in the recombination queue State the sequencing of opening flag arrival;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag of first arrival is belonged to the data message of same recombination queue successively It dispatches in serial number write-in sequencing queue;
When the child node information of presently written node includes message trailer mark, the node of next arrival, which is used as, to be started Indicate corresponding node, it will be in the scheduling serial number write-in sequencing queue of the node of next arrival;
Node corresponding with the opening flag of next arrival is belonged to the data message of same recombination queue successively Scheduling serial number write-in sequencing queue in;
And so on, until the scheduling serial number of all data messages of all recombination queues is written in sequencing queue.
Preferably, described according to the odd even sequence for going out group node in current chained list, intersect the son for prefetching and going out group node next time Odd even chained list is written in nodal information, and after prefetching the step of message trailer for going out group node next time identifies in odd even chained list also Including:
The child node information of presently written node include message trailer mark when, judge the queue after going out team whether For sky;
When the queue after going out team be non-empty when, extract next chain that the child node information of presently written node includes Heading address of node pre-reads the child node information of next chained list first node;
According to the odd even sequence for the absolute address for going out group node in next chained list, intersects in the next chained list of acquisition and go out group node Child node information, write-in recombination queue.
Preferably, when the child node information in presently written node includes message trailer mark, judge the queue Whether be after empty step after going out team further includes:
When the queue when being sky after going out team, release queue scheduling instruction stops write-in recombination queue.
The present invention also proposes that a kind of data queue goes out group control device, including:
Address generation module is used for receiving queue dispatch command, obtains the queue first address and described in queue descriptor Queue go out in group chained list group node go out the sub- pointer of team, be combined into out the absolute address of group node;
Recombination Queue module obtains current chained list for the sequence according to the absolute address for going out group node in current chained list In go out the child node information of group node, write-in recombination queue reconfigures as data message;
Queue module is pre-read, for according to the odd even sequence for going out group node, intersecting the child node for prefetching and going out group node next time Odd even chained list is written in information, and the message trailer mark for going out group node next time is prefetched from odd even chained list;
Sequencing queue module, for monitoring the datagram for going out the child node information of group node in the recombination queue and including The scheduling serial number of data message is written sorts successively by the opening flag of text according to the sequencing that the opening flag reaches In queue;
Dequeue instruction module successively will recombination for the scheduling serial number according to data dequeued message in the sequencing queue The child node information for going out group node stored in queue is taken out, and is directed toward corresponding data message storage location, sends datagram Dequeue instruction.
Preferably, the recombination Queue module is specifically used for:
According to the odd even sequence for the absolute address for going out group node in current chained list, it is by group node division is gone out in current chained list Odd node and even-numbered nodes;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained; The child node information for pre-reading next odd node, is written strange chained list;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read, even chained list is written;
According to the absolute address of next odd node, the child node information of next odd node, write-in recombination queue are obtained; The child node information for pre-reading again next odd node, is written strange chained list;
According to the absolute address of next even-numbered nodes, the child node information of next even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read again, even chained list is written;
And so on, until recombination queue is written in the child node information of all nodes in current chained list.
Preferably, the sequencing queue module is specifically used for:
Monitor opening flag and the institute for going out the data message that the child node information of group node includes in the recombination queue State the sequencing of opening flag arrival;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag of first arrival is belonged to the data message of same recombination queue successively It dispatches in serial number write-in sequencing queue;
When the child node information of presently written node includes message trailer mark, the node of next arrival, which is used as, to be started Indicate corresponding node, it will be in the scheduling serial number write-in sequencing queue of the node of next arrival;
Node corresponding with the opening flag of next arrival is belonged to the data message of same recombination queue successively Scheduling serial number write-in sequencing queue in;
And so on, until the scheduling serial number of all data messages of all recombination queues is written in sequencing queue.
Preferably, the recombination Queue module is additionally operable to:
The child node information of presently written node include message trailer mark when, judge the queue after going out team whether For sky;
When the queue after going out team be non-empty when, extract next chain that the child node information of presently written node includes Heading address of node pre-reads the child node information of next chained list first node;
According to the odd even sequence for the absolute address for going out group node in next chained list, intersects in the next chained list of acquisition and go out group node Child node information, write-in recombination queue.
Preferably, the recombination Queue module is additionally operable to:
When the queue when being sky after going out team, release queue scheduling instruction stops the step of write-in recombinates queue.
The present invention uses the mode of " node convergence " real to solve the bottleneck of resource and rate in extensive queue management and control Existing single linked list queue management and control, solve node occupy SRAM resources it is excessive caused by pin and wiring problem, it is real to pass through single linked list The queue management and control of now extensive queue, under the premise of ensureing linear speed, save the outer QDR memory storage spaces of outer plate and Pin alleviates the complexity of the fabric swatch using the FPGA traffic management and controls realized.
Description of the drawings
Fig. 1 is the flow chart for the first embodiment that data queue of the present invention goes out group management-control method;
Fig. 2 is the flow chart for the second embodiment that data queue of the present invention goes out group management-control method;
Fig. 3 is the flow chart for the 3rd embodiment that data queue of the present invention goes out group management-control method;
Fig. 4 is the flow chart for the fourth embodiment that data queue of the present invention goes out group management-control method;
Fig. 5 is the structural schematic diagram that data queue of the present invention goes out group control device.
The embodiments will be further described with reference to the accompanying drawings for the realization, the function and the advantages of the object of the present invention.
Specific implementation mode
It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, it is not intended to limit the present invention.
As shown in FIG. 1, FIG. 1 is the flow charts that data queue of the present invention goes out the first embodiment of group management-control method.This implementation The data queue that example is mentioned goes out group management-control method, including:
Step S10, receiving queue dispatch command, obtain the queue first address and queue in queue descriptor goes out group chained list In go out group node go out the sub- pointer of team, be combined into out the absolute address of group node;
The outer QDR memories of the piece of the present embodiment include the outer QDR memories of queue descriptor's piece, the outer QDR memories of chained list piece With QDR memories outside child node message slot, descriptor, front pointer and rear pointer, the convergence section of each queue are stored respectively Point(All nodes in i.e. each chained list)Information, the child node information of each node, the information of wherein aggregation node includes queue The address of the message trailer mark and next aggregation node in queue linked list of the first node of next aggregation node, child node letter in chained list Breath includes node's length and whether node is message trailer mark.Dequeue operation receives group queue number that goes out from queue scheduling, reads It takes queue descriptor and goes out the sub- pointer of team, include queue first address in queue descriptor.The actual address of each node is by base Address plus offset address form, the plot for the same chained list interior nodes be it is identical, inclined location be remaining node relative to The offset of first node in the same chained list.Since the address of node in a chained list in each aggregation node is to connect Continuous, so if first node of an aggregation node from a chained list is read, so that it may next to immediately know that A address of node, without waiting for returning the result for first time read operation, the address distribution and release of aggregation node are with chain Table is base unit.It therefore, can be by the head of the queue aggregation node of queue in the actual address for obtaining each node, i.e. absolute address The absolute address for going out the sub- pointer set of team and synthesizing group node of each node in the address of storage and queue.Belong to same data message All nodes must be written into the same recombination queue.
Step S20 is obtained according to the sequence for the absolute address for going out group node in current chained list and is gone out group node in current chained list Child node information, write-in recombination queue, reconfigure as data message;It is suitable according to the odd even for going out group node in current chained list Sequence intersects the child node information for prefetching and going out group node next time, odd even chained list is written, and is prefetched from odd even chained list and go out team's section next time The message trailer mark of point;
The outer QDR memories of child node message slot are read to be divided into current chained list very according to the odd even attribute for going out the sub- pointer of team Chained list and even chained list intersect and read each child node information in strange chained list and even chained list, when obtaining the child node information of strange chained list, The node address for pre-reading even chained list pre-reads the node address of strange chained list, passes through double-strand when obtaining the child node information of even chained list Table crossover operation effectively improves the child node information dequeuing efficiency of each node.The data message start-stop letter preserved in odd even chained list Breath, which timely feedbacks, gives scheduling side, ensures that scheduling side switches scheduling queue in time, meets the linear speed requirement of scheduling side.
Step S30, the opening flag for the data message that the child node information that group node is gone out in monitoring recombination queue includes, According to the sequencing that opening flag reaches, the scheduling serial number of data message is written in sequencing queue successively;
Since queue scheduling intersects team, the node for belonging to the same data message is not continuous, in order to avoid same The node of one data message cannot continuously provide the problem of dequeue command, devise the Packet reassembling operation of dequeue command. Belonging in the chained list of node formation of the same data message, first node includes opening flag, and tail node includes message trailer mark, According to the sequencing that opening flag reaches, i.e., the sequencing reached according to first node in the same data message will be same The node of data message is sequentially written in sequencing queue, realizes Packet reassembling operation, and the node for belonging to the same data message is made to connect Dequeue command is provided continuously, is ensured that the sequence for sending out dequeue command is identical as the sequence of scheduling, is avoided the occurrence of the report of dequeue command Literary alternation sum is out of order.
Step S40 will be stored in recombination queue successively according to the scheduling numeric order of data dequeued message in sequencing queue Go out group node child node information take out, be directed toward corresponding data message storage location, send datagram dequeue instruction.
According to the sequence of sequencing queue, dequeue command is sent to register, obtains corresponding data message, completes data Message goes out team.When the message trailer mark and label of the corresponding node of a data message in sequencing queue is 1, one is indicated Message, which goes out team, to be terminated, and start another data message goes out team.When the node for going out team is tail node, i.e. node includes message tail tag When knowledge, the corresponding node of next data message in sequencing queue is read, and update the front pointer of queue descriptor.If recently It is not tail node once to go out the node of team, then front pointer remains unchanged.After an aggregation node in chained list goes out team, Chained list release command is received, detects release mark, the address space of aggregation node in chained list is discharged, completes going out for data message Team operates.
The present embodiment uses the mode of " node convergence " to solve the bottleneck of resource and rate in extensive queue management and control Realize single linked list queue management and control, solve node occupy SRAM resources it is excessive caused by pin and wiring problem, pass through single linked list The queue management and control for realizing extensive queue, under the premise of ensureing linear speed, save the outer QDR memory storage spaces of outer plate with And pin, alleviate the complexity of the fabric swatch using the FPGA traffic management and controls realized.
As shown in Fig. 2, Fig. 2 is the flow chart for the second embodiment that data queue of the present invention goes out group management-control method.This implementation Example is described in detail the step of write-in recombination queue, step S20 is specifically included based on embodiment illustrated in fig. 1:
Step S21 will go out team's section according to the odd even sequence for the absolute address for going out group node in current chained list in current chained list Point is divided into odd node and even-numbered nodes;
Each node division in current chained list is odd node and even-numbered nodes by the present embodiment, that is, constitutes strange chained list and idol Chained list can also obtain strange chained list message tail tag while receiving queue dispatch command, acquisition queue descriptor and dequeue pointer Know and even chained list message trailer identifies.
Step S22, i=1;
Step S23 obtains the child node information of i-th of odd node, writes according to the absolute address of i-th of odd node Enter and recombinate queue, and pre-read the child node information of i+1 odd node, strange chained list is written;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained; The child node information for pre-reading next odd node, is written strange chained list.Specifically, obtain scheduling side provide go out group queue number, look into Strange chained list is ask, is identified to the message start-stop of dequeue, scheduling side determines whether switching queue;Obtain the queue for currently going out group queue Descriptor and go out the sub- pointer of team and be used as address, reads the child node information of odd node, write-in recombinates queue;It pre-reads under this queue Strange chained list is written after obtaining result in the child node information of one odd node.
Step S24 obtains the child node information of i-th of even-numbered nodes, writes according to the absolute address of i-th of even-numbered nodes Enter and recombinate queue, and pre-read the child node information of i+1 even-numbered nodes, even chained list is written;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read, even chained list is written.Specifically, obtain that current scheduling side provides goes out group queue Number, even chained list is inquired, is identified to the message start-stop of dequeue, scheduling side determines whether switching queue;It obtains and currently goes out group queue Queue descriptor and go out the sub- pointer of team and be used as address, read the child node information of even-numbered nodes, write-in recombinates queue;It pre-reads down Even chained list is written after obtaining result in the child node information of one even-numbered nodes;
Step S25 judges whether recombination queue is written in the child node information of all nodes in current chained list;If so, Then end step S20;If it is not, then i adds 1, return to step S23.
If still having the child node information of node that recombination queue is not written in current chained list, next odd node is obtained Child node information, write-in recombination queue and pre-reads again the child node information of next odd node;Obtain next even number again later The child node information of node, write-in recombination queue, and pre-read again the child node information of next even-numbered nodes.It is adjusted specifically, obtaining What degree side provided goes out group queue number(It is identical as upper queue number), strange chained list is inquired, is identified to the message start-stop of dequeue, dispatches side Determine whether switching queue;It obtains queue descriptor and goes out the sub- pointer of team, read the child node information of next odd node, be written Recombinate queue;Strange chained list is written after obtaining result in the child node information for pre-reading again next odd node;Obtain what scheduling side provided Go out group queue number(It is identical as upper queue number), even chained list is inquired, is identified to the message start-stop of dequeue, scheduling side determines whether to cut Change queue;It obtains and currently goes out the queue descriptor of group queue and go out the sub- pointer of team as address, read the son of next even-numbered nodes Nodal information, write-in recombination queue;Even chained list is written after obtaining result in the child node information for pre-reading again next even-numbered nodes.
The update of odd even chained list is completed when queue goes out group, according to the odd even attribute for the node for currently going out team, is read next A odd node or even-numbered nodes.Pre-reading for node in the same aggregation node pre-reads in the way of odd-even interleaving, The node that queue is belonged to same data message in dequeue process is numbered, and is divided into odd node and even-numbered nodes, odd number section During pointing out team, next odd node is pre-read;In even-numbered nodes dequeue process, next even-numbered nodes are carried out It pre-reads;The node pre-read is stored in the ram in slice of FPGA, strange chained list and even chained list separate storage, corresponding with queue. After obtaining out group queue number, provide at once data message go out team whether complement mark, to switch scheduling port queue.When When most latter two node in aggregation node goes out group, the address for obtaining next aggregation node in queue linked list first is needed, is examined Reading delay and the linear speed requirement for considering QDR memories outside piece will be new behind the new queue linked list aggregation node address of application of joining the team Aggregation node first odd node address the last one odd node that a upper chained list is written child node information in, newly Chained list first even-numbered nodes address the last one even-numbered nodes that a upper chained list is written child node information in.Pass through team The pre- read operation of row double linked list effectively increases the efficiency that node goes out team.
As shown in figure 3, Fig. 3 is the flow chart for the 3rd embodiment that data queue of the present invention goes out group management-control method.This implementation Example is described in detail the step of write-in sequencing queue, step S30 is specifically included based on embodiment illustrated in fig. 1:
Step S31, the opening flag for the data message that the child node information that group node is gone out in monitoring recombination queue includes The sequencing reached with opening flag;
Since queue scheduling intersects team, the node for belonging to the same data message is not continuous, in order to avoid same The node of one data message cannot continuously provide the problem of dequeue command, devise the Packet reassembling operation of dequeue command. Belonging in the chained list of node formation of the same data message, first node includes opening flag, and tail node includes message trailer mark, According to the sequencing that opening flag reaches, i.e., the sequencing reached according to first node in the same data message will be same The node of data message is sequentially written in sequencing queue, realizes Packet reassembling operation, and the node for belonging to the same data message is made to connect Dequeue command is provided continuously, is ensured that the sequence for sending out dequeue command is identical as the sequence of scheduling, is avoided the occurrence of the report of dequeue command Literary alternation sum is out of order.
Step S32, j=1;
The scheduling row number of step S33, the corresponding node of opening flag that j-th is reached are written in sequencing queue;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag that j-th reaches is belonged to the datagram of same recombination queue by step S34 successively In the scheduling serial number write-in sequencing queue of text;
Node corresponding with the opening flag of first arrival is belonged to the scheduling of the data message of same recombination queue successively Serial number is written in sequencing queue;
Whether step S35 judges in the child node information of presently written node to include that message trailer identifies;If it is, holding Row step S36;If it is not, then return to step S34;
Step S36 judges to recombinate in queue whether the scheduling serial number of all data messages is written in sequencing queue;If It is, then end step S30;If it is not, then j adds 1, return to step S33.
If current data message has write, by the child node information of the corresponding node of the opening flag of next arrival It is written in sequencing queue, and node corresponding with the opening flag of next arrival is belonged to the node of same data message successively Child node information write-in sequencing queue in.
Packet reassembling is that one group of recombination queue and a sequencing queue is arranged in all queues, according to the requirement and use of linear speed Clock, come be arranged recombination queue quantity.For example, being one with 10 clock cycle goes out group timing node, each goes out team For the dequeue operation for completing four different queues in timing node, four recombination queues of setting, each queue is needed to correspond to one Dequeue operation in a time slot.In order to realize that message goes out group order-preserving, one sequencing queue of setting stores opening for each recombination queue Begin the sequence that mark reaches, and realizes the dequeue commands of queue messages according to the sequence of queue scheduling by being read in recombination queue.Weight What reading and the linear speed of group queue required go out, and group rate is identical, by one node of completion of every 2 periods go out team for, recombination team Row realize that every 2 periods read a queue nodes, then decide whether to continue to read according to message trailer identification field therein This queue or switching queue.The dequeue command stored in each queue is obtaining first section by being read in queue After the content of point, it is determined whether the next node of reader queue still reads other queue nodes, due to the queue third period Data can just be gone out, the requirement that every 2 periods read the dequeue command of 1 node is that pre- read operation is made in each queue, and sort team The content of row is also pre-read.Four groups of recombination queues and one group of sequencing queue progress are independently pre-read, and are stored in pre-reading for each queue and are posted In storage.The pre- read register of each recombination queue, the content of first node in storage queue, each recombination queue are pre-read Operation be separate, the content in pre- read register is read out each time, all triggers new pre- read operation;Sort team Row are also pre-read, and the number of next queue that will go out team is read out in advance, and one group of setting goes out group information register, are read The value of the pre- read register of sequencing queue makes instruction in dequeue process to select group node orders.The present embodiment passes through To continuously going out the Packet reassembling scheme of group queue, realize that the node scheduling divided according to message, whole message go out team.
As shown in figure 4, Fig. 4 is the flow chart for the fourth embodiment that data queue of the present invention goes out group management-control method.This implementation On the basis of example embodiment shown in Fig. 1, the step of pre-reading next chained list is increased, further includes after step S20:
Step S51 judges queue after going out team when the child node information of presently written node includes message trailer mark Whether it is empty;If so, thening follow the steps S52;If not, thening follow the steps S54;
Message trailer mark be used to indicate each chained list tail node whether be message the last one node(0 indicate be not Message trailer, 1 representative is message trailer), in order to pre- dequeue operation.Each chained list is allocated in advance continuously in initialization Space, 1 chained list only receive the node of the same data message.
Step S52, the address for next chained list first node that the child node information for extracting presently written node includes, pre-reads The child node information of next chained list first node;
Step S53 intersects and obtains in next chained list respectively according to the odd even sequence of the absolute address of each node in next chained list The child node information of node, write-in recombination queue.
Step S54, release queue scheduling instruction stop write-in recombination queue.
In dequeue process, each chained list goes out team by first node, to the last a node is read, and chained list is released It puts.After queue goes out team's reading sky, the last one chained list node belonging to queue goes out after team, discharges queue.It is retouched according to queue That states the queue first address and tail address and queue in symbol goes out the sub- pointer of team and sub- pointer of joining the team, and judges that queue goes out after team Whether it is empty, if queue is sky, sends out the order for discharging this chained list, no longer pre-reads message trailer mark.If queue is non-empty, The child node information for then pre-reading next chained list in the queue selects corresponding node message tail identification information, and odd even message is written Tail tag knows chained list.The present embodiment completes the maintenance of idle chained list by queue empty and by the judgement of null attribute.
As shown in figure 5, Fig. 5 is the structural schematic diagram that data queue of the present invention goes out group control device.The data of the present embodiment Queue goes out group control device, including:
Address generation module 10 is used for receiving queue dispatch command, obtains the queue first address in queue descriptor and team Each node goes out the sub- pointer of team in each chained list of row, is combined into the absolute address of each node;
Recombination Queue module 20 obtains current chain for the sequence according to the absolute address for going out group node in current chained list Go out the child node information of group node in table, write-in recombination queue reconfigures as data message;
Queue module 30 is pre-read, for according to the odd even sequence for going out group node, intersecting and prefetching the son section for going out group node next time Point information, is written odd even chained list;And this message trailer mark for going out group node is obtained from odd even chained list;
Sequencing queue module 40, for monitoring the data message for going out the child node information of group node in recombination queue and including Opening flag, according to opening flag reach sequencing, successively will the scheduling serial number of data message be written sequencing queue in;
Dequeue instruction module 50 will recombinate team successively for the scheduling serial number according to data dequeued message in sequencing queue The child node information for going out group node stored in row is taken out, and is directed toward corresponding data message storage location, sends datagram out Team instructs.
The outer QDR memories of the piece of the present embodiment include the outer QDR memories of queue descriptor's piece, the outer QDR memories of chained list piece With QDR memories outside child node message slot, descriptor, front pointer and rear pointer, the convergence section of each queue are stored respectively Point(That is all nodes in individual queue chained list)Information, the child node information of each node, the information of wherein aggregation node includes The address of first node the message trailer mark and next aggregation node in queue linked list of next aggregation node, sub- section in queue linked list Point information includes node's length and whether node is message trailer mark.Dequeue operation is received goes out group queue from queue scheduling Number, it reads queue descriptor and goes out the sub- pointer of team, include queue first address in queue descriptor.The actual address of each node Be made of plus offset address base address, the plot for the node in the same aggregation node of queue linked list be it is identical, Inclined location is offset of remaining node relative to first node in the same chained list.Due to each node in a chained list Address is continuous, so if being read from first node of an aggregation node, so that it may next to immediately know that Address of node, without waiting for returning the result for first time read operation, the distribution and release of aggregation node are using chained list as base Our unit.It therefore, can be by the address of the head of the queue packet storage of queue in the actual address for obtaining each node, i.e. absolute address With the absolute address for going out the sub- pointer set of team and synthesizing group node of each node in queue.Belong to all nodes of same data message It must be written into the same recombination queue.The outer QDR memories of child node message slot are read, according to the odd even category for going out the sub- pointer of team Property, current chained list is divided into strange chained list and even chained list, intersects and reads each child node information in strange chained list and even chained list, it is strange obtaining When the child node information of chained list, the node address of even chained list is pre-read, when obtaining the child node information of even chained list, pre-reads strange chained list Node address the child node information dequeuing efficiency of each node is effectively improved by double linked list crossover operation.It is protected in odd even chained list The data message start-stop information deposited, which timely feedbacks, gives scheduling side, ensures that scheduling side switches scheduling queue in time, meets scheduling side Linear speed requirement.Since queue scheduling intersects team, the node for belonging to the same data message is not continuous, in order to avoid same The node of one data message cannot continuously provide the problem of dequeue command, devise the Packet reassembling operation of dequeue command. Belonging in the chained list of node formation of the same data message, first node includes opening flag, and tail node includes message trailer mark, According to the sequencing that opening flag reaches, i.e., the sequencing reached according to first node in the same data message will be same The node of data message is sequentially written in sequencing queue, realizes Packet reassembling operation, and the node for belonging to the same data message is made to connect Dequeue command is provided continuously, is ensured that the sequence for sending out dequeue command is identical as the sequence of scheduling, is avoided the occurrence of the report of dequeue command Literary alternation sum is out of order.According to the sequence of sequencing queue, dequeue command is sent to register, obtains corresponding data message, it is complete Go out team at data message.When the message trailer mark and label of the corresponding node of a data message in sequencing queue is 1, mark It a message and goes out team and terminate, start another data message goes out team.When the node for going out team is tail node, i.e., node includes report When literary tail tag is known, the corresponding node of next data message in sequencing queue is read, and update the value of group information register.If The node that the last time goes out team is not tail node, then goes out group information register and remain unchanged.Node in a chained list goes out team After, chained list release command is received, detects release mark, chained list is discharged, completes the dequeue operation of data message.
The present embodiment uses the mode of " node convergence " to solve the bottleneck of resource and rate in extensive queue management and control Realize single linked list queue management and control, solve node occupy SRAM resources it is excessive caused by pin and wiring problem, pass through single linked list The queue management and control for realizing extensive queue, under the premise of ensureing linear speed, save the outer QDR memory storage spaces of outer plate with And pin, alleviate the complexity of the fabric swatch using the FPGA traffic management and controls realized.
In the embodiment of the present invention, recombination Queue module 20 is specifically used for:
According to the odd even sequence for the absolute address for going out group node in current chained list, it is by group node division is gone out in current chained list Odd node and even-numbered nodes;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained; The child node information for pre-reading next odd node, is written strange chained list;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read, even chained list is written;
According to the absolute address of next odd node, the child node information of next odd node, write-in recombination queue are obtained; The child node information for pre-reading again next odd node, is written strange chained list;
According to the absolute address of next even-numbered nodes, the child node information of next even-numbered nodes, write-in recombination queue are obtained; The child node information of next even-numbered nodes is pre-read again, even chained list is written;
And so on, until recombination queue is written in the child node information of all nodes in current chained list.
Each node division in current chained list is odd node and even-numbered nodes by the present embodiment, that is, constitutes strange chained list and idol Chained list can also obtain strange chained list message tail tag while receiving queue dispatch command, acquisition queue descriptor and dequeue pointer Know and even chained list message trailer identifies.What acquisition scheduling side provided goes out group queue number, inquires strange chained list, gives the message start-stop of dequeue Mark, scheduling side determine whether switching queue;It obtains and currently goes out the queue descriptor of group queue and go out the sub- pointer of team as address, Read the child node information of odd node, write-in recombination queue;The child node information for pre-reading the lower odd node of this queue, obtains As a result strange chained list is written afterwards.What acquisition current scheduling side provided goes out group queue number, inquires even chained list, gives the message start-stop of dequeue Mark, scheduling side determine whether switching queue;It obtains and currently goes out the queue descriptor of group queue and go out the sub- pointer of team as address, Read the child node information of even-numbered nodes, write-in recombination queue;The child node information for pre-reading next even-numbered nodes, after obtaining result The even chained list of write-in;If still having the child node information of node that recombination queue is not written in current chained list, next odd number is obtained The child node information of node, write-in recombination queue, and pre-read again the child node information of next odd node;It obtains again later next The child node information of even-numbered nodes, write-in recombination queue, and pre-read again the child node information of next even-numbered nodes.Specifically, obtaining Take scheduling side provide go out group queue number(It is identical as upper queue number), strange chained list is inquired, identifies, adjusts to the message start-stop of dequeue Degree side determines whether switching queue;It obtains queue descriptor and goes out the sub- pointer of team, read the child node information of next odd node, Write-in recombination queue;Strange chained list is written after obtaining result in the child node information for pre-reading again next odd node;Scheduling side is obtained to give What is gone out goes out group queue number(It is identical as upper queue number), even chained list is inquired, is identified to the message start-stop of dequeue, scheduling side, which determines, is No switching queue;It obtains and currently goes out the queue descriptor of group queue and go out the sub- pointer of team as address, read next even-numbered nodes Child node information, write-in recombination queue;Even chain is written after obtaining result in the child node information for pre-reading again next even-numbered nodes Table.The update of odd even chained list is completed when queue goes out group, according to the odd even attribute for the node for currently going out team, reads next odd number Node or even-numbered nodes.Pre-reading for node in the same aggregation node pre-reads in the way of odd-even interleaving, goes out team's mistake The node that queue is belonged to same data message in journey is numbered, and is divided into odd node and even-numbered nodes, and odd node goes out team In the process, next odd node is pre-read;In even-numbered nodes dequeue process, next even-numbered nodes are pre-read; The node pre-read is stored in the ram in slice of FPGA, strange chained list and even chained list separate storage, corresponding with queue. To after going out group queue number, provide at once data message go out team whether complement mark, to switch scheduling port queue.When same It when most latter two node in chained list goes out group, needs to obtain next node in chained list node first, it is contemplated that the outer QDR storages of piece The address of the first odd node of new chained list is written in the new chained list of application of joining the team for the reading delay of device and linear speed requirement In the child node information of the last one odd node of a upper chained list, the address write-in upper one of the first even-numbered nodes of new chained list In the child node information of the last one even-numbered nodes of chained list.By the pre- read operation of queue double linked list, effectively increases node and go out The efficiency of team.
In the embodiment of the present invention, sequencing queue module 40 is specifically used for:
It monitors the opening flag for recombinating the data message that the child node information for going out group node in queue includes and starts to mark The sequencing that will reaches;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag of first arrival is belonged to the scheduling of the data message of same recombination queue successively Serial number is written in sequencing queue;
When the child node information of presently written node includes message trailer mark, the node of next arrival, which is used as, to be started Indicate corresponding node, it will be in the scheduling serial number write-in sequencing queue of the node of next arrival;
Node corresponding with the opening flag of next arrival is belonged to the tune of the data message of same recombination queue successively It spends in serial number write-in sequencing queue;
And so on, until the scheduling serial number of all data messages of all recombination queues is written in sequencing queue.
In the present embodiment, since queue scheduling intersects team, the node for belonging to the same data message is not continuous, The problem of cannot continuously providing dequeue command in order to avoid the node of the same data message, devise the message of dequeue command Reorganization operation.Belong in the chained list of node formation of the same data message, first node includes opening flag, and tail node includes report Literary tail tag is known, and according to the sequencing that opening flag reaches, i.e., the priority reached according to first node in the same data message is suitable The node of same data message is sequentially written in sequencing queue by sequence, is realized Packet reassembling operation, is made to belong to the same data message Node continuously provide dequeue command, ensure that the sequence for sending out dequeue command is identical as the sequence of scheduling, avoid the occurrence of out team The message alternation sum of order is out of order.Packet reassembling is that one group of recombination queue and a sequencing queue is arranged in all queues, according to line The clock of the requirement and use of speed, the quantity of recombination queue is arranged.For example, with 10 clock cycle be one go out group when segmentum intercalaris Point for each goes out in group timing node to complete the dequeue operation of four different queues, needs four recombination queues of setting, often A queue corresponds to the dequeue operation in a time slot.In order to realize that message goes out group order-preserving, one sequencing queue of setting stores out team The sequence that the opening flag of a recombination queue reaches, realizes the dequeue commands of queue messages according to the sequence of queue scheduling by recombinating It is read in queue.Group rate is identical for going out of recombinating that reading and the linear speed of queue require, with going out for one node of completion of every 2 periods For team, recombination queue realizes that every 2 periods read a queue nodes, is then determined according to message trailer identification field therein Whether continue to read this queue or switching queue.The dequeue command stored in each queue by being read in queue, and After obtaining the content of first node, it is determined whether the next node of reader queue still reads other queue nodes, due to team The row third period can just go out data, and the requirement of the dequeue command of 1 node of every 2 periods reading is made for each queue to be pre-read Operation, the content of sequencing queue are also pre-read.Four groups of recombination queues and one group of sequencing queue progress are independently pre-read, and are stored in each team In the pre- read register of row.The pre- read register of each recombination queue, the content of first node, Mei Gechong in storage queue The operation that group queue is pre-read is separate, and the content in pre- read register is read out each time, and all triggering is new pre-reads Operation;Sequencing queue is also pre-read, and the number of next queue that will go out team is read out in advance, and one group of setting goes out group information Register reads the value of the pre- read register of sequencing queue, and in dequeue process, instruction is made to select group node orders. The present embodiment realizes that the node scheduling divided according to message, whole message go out by the Packet reassembling scheme to continuously going out group queue Team.
In the embodiment of the present invention, recombination Queue module 20 is additionally operable to:
The child node information of presently written node include message trailer mark when, judge queue after going out team whether be It is empty;
When next chain heading that queue when being non-empty after going out team, and the child node information for extracting presently written node includes Address of node pre-reads the child node information of next chained list first node;
According to the odd even sequence of the absolute address of each node in next chained list, intersect the son for obtaining each node in next chained list Nodal information, write-in recombination queue.
In the embodiment of the present invention, recombination Queue module 20 is additionally operable to:
When queue when being sky after going out team, release queue scheduling instruction stops the step of write-in recombinates queue.
The present embodiment message trailer mark be used to indicate each chained list tail node whether be message the last one node(0 Expression is not message trailer, and 1 representative is message trailer), in order to pre- dequeue operation.Each chained list is allocated in advance in initialization Good continuous space, 1 chained list only receive the node of the same data message.In dequeue process, each chained list is saved by first It points out team to start, to the last a node is read, and chained list is released.It is last belonging to queue after queue goes out team's reading sky One chained list node goes out after team, discharges queue.According in queue descriptor queue first address and tail address and queue Go out the sub- pointer of team and sub- pointer of joining the team, judges whether after queue goes out team be empty, if queue is sky, sends out and discharges this chained list Order no longer pre-reads message trailer mark.If queue is non-empty, the child node information of next chained list is pre-read in the queue, is selected Corresponding node message tail identification information is selected, write-in odd even message trailer identifies chained list.The present embodiment belongs to by queue empty and by sky Property judgement, complete the maintenance of idle chained list.
The foregoing is merely the preferred embodiment of the present invention, are not intended to limit the scope of the invention, every utilization Equivalent structure or equivalent flow shift made by description of the invention and accompanying drawing content is applied directly or indirectly in other correlations Technical field, be included within the scope of the present invention.

Claims (10)

1. a kind of data queue goes out group management-control method, which is characterized in that including step:
Receiving queue dispatch command, obtain the queue first address and the queue in queue descriptor goes out in group chained list team's section Point goes out the sub- pointer of team, is combined into out the absolute address of group node;
According to the sequence for the absolute address for going out group node in current chained list, the child node letter for going out group node in current chained list is obtained Breath, write-in recombination queue, reconfigures as data message, and all nodes write-in for belonging to same data message is same heavy In group queue;According to the odd even sequence for going out group node in current chained list, intersects the child node information for prefetching and going out group node next time, write Enter odd even chained list, and prefetches the message trailer mark for going out group node next time from odd even chained list;
The opening flag for going out the data message that the child node information of group node includes in the recombination queue is monitored, according to described The scheduling serial number of data message is written in sequencing queue successively for the sequencing that opening flag reaches;
According to the scheduling numeric order of data dequeued message in the sequencing queue, the team that goes out stored in queue will be recombinated successively and is saved The child node information of point is taken out, and is directed toward corresponding data message storage location, send datagram dequeue instruction.
2. data queue according to claim 1 goes out group management-control method, which is characterized in that described according to going out in current chained list The sequence of the absolute address of team's node obtains the child node information for going out group node in current chained list, and write-in recombinates queue, again group It is combined into data message;According to the odd even sequence for going out group node in current chained list, intersect the child node letter for prefetching to go out next time group node Odd even chained list is written in breath, and the step of message trailer mark for going out group node next time is prefetched from odd even chained list specifically includes:
According to the odd even sequence for the absolute address for going out group node in current chained list, it is odd number that group node division will be gone out in current chained list Node and even-numbered nodes;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained;It pre-reads The child node information of next odd node, is written strange chained list;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained;It pre-reads Even chained list is written in the child node information of next even-numbered nodes;
According to the absolute address of next odd node, the child node information of next odd node, write-in recombination queue are obtained;It pre-reads The child node information of next odd node again, is written strange chained list;
According to the absolute address of next even-numbered nodes, the child node information of next even-numbered nodes, write-in recombination queue are obtained;It pre-reads Even chained list is written in the child node information of next even-numbered nodes again;
And so on, until recombination queue is written in the child node information of all nodes in current chained list.
3. data queue according to claim 1 goes out group management-control method, which is characterized in that the monitoring recombination queue In go out the opening flag of the data message that the child node information of group node includes, the priority reached according to the opening flag is suitable Sequence successively specifically includes the step that the scheduling serial number of data message is written in sequencing queue:
It monitors the opening flag for going out the data message that the child node information of group node includes in the recombination queue and described opens Begin to indicate the sequencing reached;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag of first arrival is belonged to the scheduling of the data message of same recombination queue successively Serial number is written in sequencing queue;
When the child node information of presently written node includes message trailer mark, the node of next arrival is as opening flag Corresponding node, will be in the scheduling serial number write-in sequencing queue of the node of next arrival;
Node corresponding with the opening flag of next arrival is belonged to the tune of the data message of same recombination queue successively It spends in serial number write-in sequencing queue;
And so on, until the scheduling serial number of all data messages of all recombination queues is written in sequencing queue.
4. data queue according to any one of claims 1 to 3 goes out group management-control method, which is characterized in that described according to working as Go out in preceding chained list group node odd even sequence, intersect prefetch next time go out group node child node information, be written odd even chained list, and from Further include after the step of prefetching the message trailer mark for going out group node next time in odd even chained list:
The child node information of presently written node include message trailer mark when, judge the queue after going out team whether be It is empty;
When next chain heading that the queue when being non-empty after going out team, and the child node information for extracting presently written node includes Address of node pre-reads the child node information of next chained list first node;
According to the odd even sequence for the absolute address for going out group node in next chained list, intersect the son for obtaining and going out group node in next chained list Nodal information, write-in recombination queue.
5. data queue according to claim 4 goes out group management-control method, which is characterized in that described in presently written node When child node information includes message trailer mark, judge whether the queue is after empty step after going out team and further includes:
When the queue when being sky after going out team, release queue scheduling instruction stops write-in recombination queue.
6. a kind of data queue goes out group control device, which is characterized in that including:
Address generation module is used for receiving queue dispatch command, obtains the queue first address in queue descriptor and the queue Go out in group chained list group node go out the sub- pointer of team, be combined into out the absolute address of group node;
Recombination Queue module obtains and goes out in current chained list for the sequence according to the absolute address for going out group node in current chained list The child node information of team's node, write-in recombination queue, reconfigures as data message, and will belong to all of same data message Node is written in the same recombination queue;
Queue module is pre-read, for according to the odd even sequence for going out group node, intersecting the child node information for prefetching and going out group node next time, Odd even chained list is written, and prefetches the message trailer mark for going out group node next time from odd even chained list;
Sequencing queue module, for monitoring the data message for going out the child node information of group node in the recombination queue and including According to the sequencing that the opening flag reaches sequencing queue is written successively in the scheduling serial number of data message by opening flag In;
Dequeue instruction module will recombinate queue successively for the scheduling serial number according to data dequeued message in the sequencing queue The child node information for going out group node of middle storage is taken out, and is directed toward corresponding data message storage location, send datagram out team Instruction.
7. data queue according to claim 6 goes out group control device, which is characterized in that the recombination Queue module is specific For:
According to the odd even sequence for the absolute address for going out group node in current chained list, it is odd number that group node division will be gone out in current chained list Node and even-numbered nodes;
According to the absolute address of current odd node, the child node information of current odd node, write-in recombination queue are obtained;It pre-reads The child node information of next odd node, is written strange chained list;
According to the absolute address of current even-numbered nodes, the child node information of current even-numbered nodes, write-in recombination queue are obtained;It pre-reads Even chained list is written in the child node information of next even-numbered nodes;
According to the absolute address of next odd node, the child node information of next odd node, write-in recombination queue are obtained;It pre-reads The child node information of next odd node again, is written strange chained list;
According to the absolute address of next even-numbered nodes, the child node information of next even-numbered nodes, write-in recombination queue are obtained;It pre-reads Even chained list is written in the child node information of next even-numbered nodes again;
And so on, until recombination queue is written in the child node information of all nodes in current chained list.
8. data queue according to claim 6 goes out group control device, which is characterized in that the sequencing queue module is specific For:
It monitors the opening flag for going out the data message that the child node information of group node includes in the recombination queue and described opens Begin to indicate the sequencing reached;
It will be in the scheduling row number write-in sequencing queue of the corresponding node of the opening flag of first arrival;
Node corresponding with the opening flag of first arrival is belonged to the scheduling of the data message of same recombination queue successively Serial number is written in sequencing queue;
When the child node information of presently written node includes message trailer mark, the node of next arrival is as opening flag Corresponding node, will be in the scheduling serial number write-in sequencing queue of the node of next arrival;
Node corresponding with the opening flag of next arrival is belonged to the tune of the data message of same recombination queue successively It spends in serial number write-in sequencing queue;
And so on, until the scheduling serial number of all data messages of all recombination queues is written in sequencing queue.
9. data queue goes out group control device according to claim 6 to 8 any one of them, which is characterized in that the recombination team Row module is additionally operable to:
The child node information of presently written node include message trailer mark when, judge the queue after going out team whether be It is empty;
When next chain heading that the queue when being non-empty after going out team, and the child node information for extracting presently written node includes Address of node pre-reads the child node information of next chained list first node;
According to the odd even sequence for the absolute address for going out group node in next chained list, intersect the son for obtaining and going out group node in next chained list Nodal information, write-in recombination queue.
10. data queue according to claim 9 goes out group control device, which is characterized in that the recombination Queue module is also For:
When the queue when being sky after going out team, release queue scheduling instruction stops the step of write-in recombinates queue.
CN201310003565.0A 2013-01-06 2013-01-06 Data queue goes out group management-control method and device Active CN103914341B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310003565.0A CN103914341B (en) 2013-01-06 2013-01-06 Data queue goes out group management-control method and device
PCT/CN2013/090148 WO2014106436A1 (en) 2013-01-06 2013-12-20 Method and apparatus for managing and controlling data queue dequeuing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310003565.0A CN103914341B (en) 2013-01-06 2013-01-06 Data queue goes out group management-control method and device

Publications (2)

Publication Number Publication Date
CN103914341A CN103914341A (en) 2014-07-09
CN103914341B true CN103914341B (en) 2018-09-25

Family

ID=51040046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310003565.0A Active CN103914341B (en) 2013-01-06 2013-01-06 Data queue goes out group management-control method and device

Country Status (2)

Country Link
CN (1) CN103914341B (en)
WO (1) WO2014106436A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254270A (en) * 2015-06-15 2016-12-21 深圳市中兴微电子技术有限公司 A kind of queue management method and device
CN106325758B (en) * 2015-06-17 2019-10-22 深圳市中兴微电子技术有限公司 A kind of queue storage space management method and device
CN108234348B (en) * 2016-12-13 2020-09-25 深圳市中兴微电子技术有限公司 Processing method and device in queue operation
US11023275B2 (en) * 2017-02-09 2021-06-01 Intel Corporation Technologies for queue management by a host fabric interface
CN111158936B (en) * 2017-06-15 2024-04-09 北京忆芯科技有限公司 Method and system for exchanging information by queues
CN108763116B (en) * 2018-05-21 2021-08-06 南京大学 Multi-channel DDR controller based on greedy algorithm
CN110837414B (en) * 2018-08-15 2024-04-12 京东科技控股股份有限公司 Task processing method and device
CN111930307B (en) * 2020-07-30 2022-06-17 北京浪潮数据技术有限公司 Data reading method, device and equipment and computer readable storage medium
CN111796306B (en) * 2020-07-31 2023-05-02 北京中捷时代航空科技有限公司 Navigation satellite signal receiving method and receiver
CN112118262B (en) * 2020-09-21 2022-07-29 武汉中元华电科技股份有限公司 System and method for realizing data sorting and merging based on dynamic memory allocation
CN113595932B (en) * 2021-08-06 2024-05-14 上海金仕达软件科技股份有限公司 Processing method of data disorder message and application specific integrated circuit
CN114185693A (en) * 2021-11-22 2022-03-15 西安空间无线电技术研究所 Self-repairable multi-node aggregation shared queue management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594302A (en) * 2009-07-01 2009-12-02 华为技术有限公司 The method of dequeuing data and device
CN101854309A (en) * 2010-06-18 2010-10-06 中兴通讯股份有限公司 Method and apparatus for managing message output
US8036117B1 (en) * 2002-01-17 2011-10-11 Juniper Networks, Inc. Dequeuing and congestion control systems and methods
CN102437929A (en) * 2011-12-16 2012-05-02 华为技术有限公司 Method and device for de-queuing data in queue manager

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036117B1 (en) * 2002-01-17 2011-10-11 Juniper Networks, Inc. Dequeuing and congestion control systems and methods
CN101594302A (en) * 2009-07-01 2009-12-02 华为技术有限公司 The method of dequeuing data and device
CN101854309A (en) * 2010-06-18 2010-10-06 中兴通讯股份有限公司 Method and apparatus for managing message output
CN102437929A (en) * 2011-12-16 2012-05-02 华为技术有限公司 Method and device for de-queuing data in queue manager

Also Published As

Publication number Publication date
WO2014106436A1 (en) 2014-07-10
CN103914341A (en) 2014-07-09

Similar Documents

Publication Publication Date Title
CN103914341B (en) Data queue goes out group management-control method and device
CN101291546B (en) Switching structure coprocessor of core router
CN107220187A (en) A kind of buffer memory management method, device and field programmable gate array
US6757791B1 (en) Method and apparatus for reordering packet data units in storage queues for reading and writing memory
CN101635682B (en) Storage management method and storage management system
CN106537858B (en) A kind of method and apparatus of queue management
CN103955436B (en) A kind of data processing equipment and terminal
CN109787919A (en) A kind of method, apparatus, computer storage medium and the terminal of information transmission
CN106325758B (en) A kind of queue storage space management method and device
CN101989942B (en) Arbitration control method, communication method, arbitrator and communication system
CN101150485A (en) A management method for network data transmission of zero copy buffer queue
CN101150486A (en) A management method for receiving network data of zero copy buffer queue
CN108366111A (en) A kind of data packet low time delay buffer storage and method for switching equipment
CN106612236A (en) Many-core network processor and micro engine message scheduling method and micro engine message scheduling system thereof
CN103858393B (en) Bag for the parallel processing of bag processes circuit
CN101771598A (en) Communication dispatching method of real-time Ethernet
CN103297350B (en) Implementing method and switching equipment of cell switching system
CN102622323A (en) Data transmission management method based on switch matrix in dynamic configurable serial bus
CN105335323A (en) Buffering device and method of data burst
CN101923522A (en) Storage controller and processing method of data operation commands
CN104104617B (en) A kind of message referee method and device
CN111352657A (en) Method for reading x86 data by FPGA high-speed and high-efficiency running water
CN106375249A (en) Switching chip data structure, control method and control system thereof
US20030235189A1 (en) Pointer allocation by prime numbers
CN101764760B (en) Multilink message capturing method, and method and system for processing multilink message

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221024

Address after: Zhongxing Industrial Park, Liuxian Avenue, Xili Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.