DE60203785T2 - Netzschnittstelle - Google Patents

Netzschnittstelle Download PDF

Info

Publication number
DE60203785T2
DE60203785T2 DE60203785T DE60203785T DE60203785T2 DE 60203785 T2 DE60203785 T2 DE 60203785T2 DE 60203785 T DE60203785 T DE 60203785T DE 60203785 T DE60203785 T DE 60203785T DE 60203785 T2 DE60203785 T2 DE 60203785T2
Authority
DE
Germany
Prior art keywords
data
memory
frame
fcb
control block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60203785T
Other languages
English (en)
Other versions
DE60203785D1 (de
Inventor
Louis Jean CALVIGNAC
Marco C/O Ibm United Kingdom Ltd. Heddes
Franklin Joseph LOGAN
Jean Fabrice VERPLANKEN
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60203785D1 publication Critical patent/DE60203785D1/de
Publication of DE60203785T2 publication Critical patent/DE60203785T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet eines vernetzten Datenaustauschsystems und insbesondere die Herabsetzung von Speicherzugriffen auf ein Minimum.
  • GRUNDLAGEN DER ERFINDUNG
  • Ein Datenpaketvermittlungsnetz (packet switching network) weist Vermittlungspunkte oder Knoten zur Übertragung von Daten zwischen mit dem Netz verbundenen Sendern und Empfängern auf. Die von diesen Vermittlungspunkten ausgeführte Vermittlung ist in der Tat der Vorgang der Weiterleitung von von einem Vermittlungspunkt oder einem Knoten empfangenen Paketen oder "Rahmen" von Daten an einen weiteren Knoten im Netz. Solche Vermittlungsvorgänge sind das Mittel, mit Hilfe dessen Übertragungsdaten durch das Paketvermittlungsnetz bewegt werden.
  • Jeder Knoten kann einen Paketprozessor umfassen, der so konfiguriert ist, dass er Pakete oder Rahmen von Daten verarbeitet. Jeder Datenrahmen kann einem Rahmensteuerblock (Frame Control Block, FCB) zugeordnet werden, der so konfiguriert ist, dass er den zugeordneten Datenrahmen beschreibt. Normalerweise umfassen FCBs verschiedene Datenfelder, wobei diese von einem Speicher im Paketprozessor bereitgestellt werden, z.B. einem statischem RAM mit vierfacher Übertragungsgeschwindigkeit (Quadruple Data Rate Static Random Access Memory, QDR SRAM). Das heißt, die Datenfelder in FCBs werden durch Zugreifen auf den Speicher im Paketprozessor, z.B. den QDR SRAM, erhalten.
  • Daher wäre es wünschenswert, die Anzahl von Daten benötigenden Feldern in Feldsteuerblöcken zu begrenzen, wodurch die Anzahl von Speicherzugriffen verringert und die Leistungsfähigkeit des Speicherbereichs, d.h. die Leistungsfähigkeit der Bandbreite des Speichers, verbessert würden.
  • Die EP-Patentanmeldung Nr. EP 0797 335 A2 beschreibt einen Netzadapter, durch den Sende- und Empfangsdaten in Pufferbereichen gespeichert werden, die in einem ersten und zweiten Speicher eines im einem Netz befindlichen Systems definiert werden. Mehrere ebenfalls in den Speichern gespeicherte Deskriptorringe (descriptor rings) zeigen auf die Pufferbereiche. Die beiden Speicher befinden sich auf gesonderten Bussen, die mit einem gemeinsamen, einen Prozessor enthaltenden Bus verbunden sind. Der Prozessor kommuniziert mit dem einen oder dem anderen der Speicher unter Verwendung eines Verbindungsprotokolls (handshaking protocol). In das System eingehende Empfangsdaten werden in Abhängigkeit von einem charakteristischen Code, der vom Rahmen übertragen wird, z.B. in einem Rahmensteuerfeld, unter mehreren Deskriptoren aufgeteilt. Die Größe des ersten Deskriptors, die geringer als diejenige der anderen ist, ist so programmiert, dass sie der Größe des Vorsatzes jedes Rahmens entspricht. Eine Synchronisierung zwischen Vorsätzen und Daten eines Rahmens wird durch eine in jedem Deskriptor gespeicherte Rahmennummer aufrechterhalten. Unter einem anderen Aspekt wird eine Blockierung des Empfangspfades beim Auftreten eines blockierten Empfangsdeskriptorrings verhindert.
  • BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt einen logischen Feldsteuerblock (FCB) bereit, der als ein erster und ein zweiter Steuerblock dargestellt wird, wobei der erste Steuerblock einem ersten Speicher und der zweite Steuerblock einem zweiten Speicher zugeordnet werden kann. Jeder Speicher, d.h. der erste und der zweite Speicher, kann außerdem einer Datenflusseinheit bzw. einer Planungseinrichtung des Paketprozessors zugeordnet werden. Eine Datenflusseinheit des Paketprozessors kann so konfiguriert werden, dass sie Datenrahmen empfängt und sendet. Eine Planungseinrichtung des Paketprozessors kann so konfiguriert werden, dass sie die an einen anderen Vermittlungspunkt oder Anschluss in einem Paketvermittlungsnetz zu übertragenden Datenrahmen zeitlich plant. Wenn der FCB sich in einer Warteschlange in der Datenflusseinheit befindet, können Daten in den Feldern des ersten Steuerblocks und nicht in den Feldern des zweiten Steuerblocks gespeichert werden. Da nicht auf den zweiten Speicher zugegriffen wird, um aus den Feldern des zweiten Steuerblocks zu lesen bzw. in diese zu schreiben, wird die Leistungsfähigkeit der Bandbreite des zweiten Speichers dadurch verbessert. Wenn der FCB sich in einer Warteschlange in der Planungseinrichtung befindet, können Daten in den Feldern des zweiten Steuerblocks und nicht in den Feldern des ersten Steuerblocks gespeichert werden. Da nicht auf den ersten Speicher zugegriffen wird, um aus den Feldern des ersten Steuerblocks zu lesen bzw. in diese zu schreiben, wird die Leistungsfähigkeit der Bandbreite des ersten Speichers dadurch verbessert.
  • Unter einem Aspekt stellt die vorliegende Erfindung ein System bereit, das Folgendes umfasst: einen Prozessor, der so konfiguriert ist, dass er Datenrahmen verarbeitet, wobei der Prozessor Folgendes umfasst: eine Datenflusseinheit, die so konfiguriert ist, dass sie die Datenrahmen empfängt und sendet, wobei jeder der Datenrahmen einen zugeordneten Rahmensteuerblock aufweist, wobei jeder der Rahmensteuerblöcke einen ersten und einen zweiten Steuerblock umfasst; einen mit der Datenflusseinheit verbundenen ersten Speicher, wobei der erste Speicher eine erste Rahmenpuffersteuereinheit umfasst, wobei die erste Rahmenpuffersteuereinheit Felddaten für den ersten Steuerblock des Rahmensteuerblocks speichert; und eine Planungseinrichtung, die mit der Datenflusseinheit verbunden ist, wobei die Planungseinrichtung so konfiguriert ist, dass sie von der Datenflusseinheit empfangene Datenrahmen zeitlich plant, wobei die Planungseinrichtung einen zweiten Speicher umfasst, wobei der zweite Speicher eine zweite Rahmenpuffersteuereinheit umfasst, wobei die zweite Rahmenpuffersteuereinheit Felddaten für den zweiten Steuerblock des Rahmensteuerblocks speichert.
  • Vorzugsweise umfasst die Datenflusseinheit eine Vielzahl von Warteschlangen, wobei einer oder mehrere der Rahmensteuerblöcke sich in einer aus der Vielzahl von Warteschlangen befinden. In einer bevorzugten Ausführungsform werden die Daten in den Feldern des ersten Steuerblocks von einem oder mehreren der Rahmensteuerblöcke, die sich in einer aus der Vielzahl von Warteschlangen der Datenflusseinheit befinden, in der ersten Rahmenpuffersteuereinheit des ersten Speichers gespeichert.
  • Geeigneterweise umfasst die Planungseinrichtung eine erste Warteschlange, wobei einer oder mehrere der Rahmensteuerblöcke sich in der ersten Warteschlange befinden. Geeigneterweise werden die Daten in den Feldern des zweiten Steuerblocks von einem oder mehreren der Rahmensteuerblöcke, die sich in der ersten Warteschlange befinden, außerdem in der zweiten Rahmenpuffersteuereinheit des zweiten Speichers gespeichert.
  • Unter einem anderen Aspekt stellt die vorliegende Erfindung ein Verfahren zur Verringerung der Anzahl von Speicherzugriffen bereit, um die gewünschten Daten in Rahmensteuerblöcken zu erhalten, wobei jeder der Rahmensteuerblöcke einen ersten Steuerblock und einen zweiten Steuerblock umfasst, wobei der erste Steuerblock einem ersten Speicher zugeordnet ist, wobei der zweite Steuerblock einem zweiten Speicher zugeordnet ist, wobei der erste Speicher eine erste Rahmenpuffersteuereinheit umfasst, wobei die erste Rahmenpuffersteuereinheit Felddaten für den ersten Steuerblock des Rahmensteuerblocks speichert, wobei der zweite Speicher eine zweite Rahmenpuffersteuereinheit umfasst, wobei die zweite Rahmenpuffersteuereinheit Felddaten für den zweiten Steuerblock des Rahmensteuerblocks speichert, wobei das Verfahren die folgenden Schritte umfasst: Zugreifen auf den ersten Speicher, um die Daten in Feldern des ersten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben; und Zugreifen auf den zweiten Speicher, um die Daten in Feldern des zweiten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben.
  • Vorzugsweise befinden sich einer oder mehrere der Rahmensteuerblöcke in einer aus einer Vielzahl von Warteschlangen in einer Datenflusseinheit, wobei die Datenflusseinheit dem ersten Speicher zugeordnet ist. Außerdem wird vorzugsweise auf den ersten Speicher zugegriffen, um die Daten in Feldern des ersten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben, wenn der eine oder die mehreren Rahmensteuerblöcke sich in einer aus der Vielzahl von Warteschlangen in der Datenflusseinheit befinden. Vorzugsweise befinden sich außerdem einer oder mehrere der Rahmensteuerblöcke in einer Warteschlange in einer Planungseinrichtung, wobei die Planungseinrichtung dem zweiten Speicher zugeordnet ist. Entsprechend wird auf den zweiten Speicher zugegriffen, um die Daten in Feldern des zweiten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben, wenn der eine oder die mehreren Rahmensteuerblöcke sich in der Warteschlange der Planungseinrichtung befinden.
  • Unter noch einem anderen Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein Programmcodemittel umfasst, das zur Ausführung der oben beschriebenen Schritte geeignet ist, wenn das Programm in einem Computer ausgeführt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird nun lediglich beispielhaft mit Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Zeichnungen veranschaulicht werden, in denen:
  • 1 einen Paketprozessor darstellt, der gemäß der vorliegenden Erfindung konfiguriert ist;
  • 2 eine Datenflusseinheit darstellt, die gemäß der vorliegenden Erfindung konfiguriert ist;
  • 3 ein Flussdiagramm eines Verfahrens zur Verringerung der Anzahl von Speicherzugriffen ist, um die gewünschten Daten in Rahmensteuerblöcken zu erhalten;
  • 4 eine Ausführungsform der vorliegenden Erfindung eines Basis-FCB (Basic FCB) eines in der Warteschlange für freie FCBs (FCB free queue) der Datenflusseinheit befindlichen FCB darstellt;
  • 5 eine Ausführungsform der vorliegenden Erfindung eines Fluss-FCB (Flow FCB) eines in der Warteschlange für freie FCBs der Datenflusseinheit befindlichen FCB darstellt;
  • 6 eine Ausführungsform der vorliegenden Erfindung eines Basis-FCB einer in GQs der Datenflusseinheit befindlichen FCB darstellt;
  • 7 eine Ausführungsform der vorliegenden Erfindung eines Fluss-FCB einer in GQs der Datenflusseinheit befindlichen FCB darstellt;
  • 8 eine Ausführungsform der vorliegenden Erfindung eines Basis-FCB eines in Flusswarteschlangen einer Planungseinrichtung befindlichen FCB darstellt;
  • 9 eine Ausführungsform der vorliegenden Erfindung eines Fluss-FCB eines in Flusswarteschlangen einer Planungseinrichtung befindlichen FCB darstellt;
  • 10 eine Ausführungsform der vorliegenden Erfindung eines Basis-FCB eines in TBQs der Datenflusseinheit befindlichen FCB darstellt; und
  • 11 eine Ausführungsform der vorliegenden Erfindung eines Fluss-FCB eines in TBQs der Datenflusseinheit befindlichen FCB darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein Verfahren und ein System zur Verringerung der Anzahl von Zugriffen auf den Speicher zum Erhalten der gewünschten Felddaten in Rahmensteuerblöcken bereit. In einer Ausführungsform der vorliegenden Erfindung umfasst ein System einen Prozessor, der so konfiguriert ist, dass er Datenrahmen verarbeitet. Der Prozessor kann eine Datenflusseinheit umfassen, die so konfiguriert ist, dass sie Datenrahmen empfängt und sendet, wobei jeder Datenrahmen einen zugeordneten Rahmensteuerblock aufweisen kann. Jeder Rahmensteuerblock kann einen ersten und einen zweiten Steuerblock aufweisen. Außerdem kann der Prozessor einen mit der Datenflusseinheit verbundenen ersten Speicher umfassen, wobei dieser eine erste Rahmenpuffersteuereinheit umfasst. Die erste Rahmenpuffersteuereinheit kann Felddaten für den ersten Steuerblock des Rahmensteuerblocks speichern. Außerdem kann der Prozessor eine mit der Datenflusseinheit verbundene Planungseinrichtung umfassen, wobei diese so konfiguriert werden kann, dass sie von der Datenflusseinheit empfangene Datenrahmen zeitlich plant. Die Planungseinrichtung kann einen zweiten Speicher umfassen, wobei dieser eine zweite Rahmenpuffersteuereinheit umfasst. Die zweite Rahmenpuffersteuereinheit kann Felddaten für den zweiten Steuerblock des Rahmensteuerblocks speichern. Wenn der Rahmensteuerblock sich in einer Warteschlange in der Datenflusseinheit befindet, können Daten in den Feldern des ersten Steuerblocks und nicht in den Feldern des zweiten Steuerblocks gespeichert werden. Da nicht auf den zweiten Speicher zugegriffen wird, um aus den Feldern im zweiten Steuerblock zu lesen bzw. in diese zu schreiben, wird die Leistungsfähigkeit der Bandbreite des zweiten Speichers dadurch verbessert. Wenn der Rahmensteuerblock sich in einer Warteschlange in der Planungseinrichtung befindet, können Daten in den Feldern des zweiten Steuerblocks und nicht in den Feldern des ersten Steuerblocks gespeichert werden. Da nicht auf den ersten Speicher zugegriffen wird, um aus den Feldern im ersten Steuerblock zu lesen bzw. in diese zu schreiben, wird die Leistungsfähigkeit der Bandbreite des ersten Speichers dadurch verbessert.
  • 1 stellt einen Paketprozessor 100 dar. Der Paketprozessor 100 kann eine Datenflusseinheit 110 umfassen, die so konfiguriert ist, dass sie digitale Pakete, d.h. Rahmen, von Daten von einem bestimmten Vermittlungspunkt (nicht gezeigt) oder Anschluss (nicht gezeigt) eines Paketvermittlungsnetzes empfängt und die digitalen Pakete, d.h. Rahmen, von Daten an einen anderen Vermittlungspunkt oder Anschluss, z.B. den Vermittlungspunkt/Anschluss 120, im Paketvermittlungsnetz sendet. Jedem Datenrahmen kann ein Rahmensteuerblock (FCB) zugeordnet werden, wobei der FCB den zugeordneten Datenrahmen beschreibt. Jeder einem Datenrahmen zugeordnete FCB kann einem oder mehreren Puffersteuerblöcken (Buffer Control Blocks, BCB) zugeordnet werden, wobei jeder einem FCB zugeordnete BCB einem Puffer in einer Datenspeichereinheit 140 zugeordnet werden kann. Ein BCB kann so konfiguriert werden, dass er den dem nächsten verketteten BCB zugeordneten Puffer beschreibt, wie in der US-Patentanmeldung mit der Seriennummer 09/791 336 (gleichzeitig anhängige PCT-Patentanmeldung unter dem Aktenzeichen RAL000095) beschrieben wird. In einer Ausführungsform kann die Datenflusseinheit 110 sich in einem integrierten Schaltkreis befinden, d.h. in einem integrierten Chip. Die Datenflusseinheit 110 kann mit der Datenspeichereinheit 140 verbunden sein, die so konfiguriert ist, dass sie Datenrahmen zeitweilig speichert, die von der Datenflusseinheit 110 von einem Vermittlungspunkt (nicht gezeigt) oder einem Anschluss (nicht gezeigt) im Paketvermittlungsnetz empfangen wurden. Die Datenflusseinheit 110 kann außerdem mit einer Planungseinrichtung 130 verbunden sein, die so konfiguriert ist, dass sie Datenrahmen zeitlich plant, die von der Datenflusseinheit 110 an den Vermittlungspunkt/Anschluss 120 gesendet werden müssen. In einer Ausführungsform kann die Planungseinrichtung 130 sich in einem integrierten Schaltkreis, d.h. einem integrierten Chip, befinden. Außerdem kann die Datenflusseinheit 110 mit einem eingebetteten Prozessor 150 verbunden sein, der so konfiguriert ist, dass er von der Datenflusseinheit 110 empfangene Datenrahmen verarbeitet.
  • 2 stellt die Datenflusseinheit 110 ausführlicher dar. Die Datenflusseinheit 110 kann eine Empfängersteuereinheit 203 umfassen, die so konfiguriert ist, dass sie Pakete, d.h.
  • Rahmen, von Daten, die von einem Vermittlungspunkt (nicht gezeigt) oder einem Anschluss (nicht gezeigt) in einem Paketvermittlungsnetz empfangen wurden, empfängt und zeitweilig speichert. Die Datenflusseinheit 110 kann außerdem eine Sendersteuereinheit 201 umfassen, die so konfiguriert ist, dass sie die Rahmendaten ändert sowie die geänderten Rahmendaten an einen Vermittlungspunkt (nicht gezeigt) oder Anschluss (nicht gezeigt) in einem Paketvermittlungsnetz überträgt. Die Datenflusseinheit 110 kann außerdem eine Schnittstellensteuereinheit 202 des eingebetteten Prozessors umfassen, die so konfiguriert ist, dass sie vom eingebetteten Prozessor 150 zu verarbeitende Rahmen vermittelt.
  • Pakete, d.h. Rahmen, von Daten können von einer Schnittstellensteuereinheit 221 eines Anschlusses/Vermittlungspunktes empfangen werden. Die Schnittstellensteuereinheit 221 eines Anschlusses/Vermittlungspunktes kann Daten von einem Vermittlungspunkt (nicht gezeigt) im Paketvermittlungsnetz empfangen, wenn die Datenflusseinheit 110 in einem Ausgangsmodus (egress mode) arbeitet. Andernfalls kann die Schnittstellensteuereinheit 221 eines Anschlusses/Vermittlungspunktes Daten von einem Anschluss (nicht gezeigt) empfangen, der als eine Schnittstelle zum Paketvermittlungsnetz arbeitet, wenn die Datenflusseinheit 110 in einem Eingangsmodus (ingress mode) arbeitet. Von der Datenflusseinheit 110 empfangene Daten können zeitweilig in einem Empfangsvorbereitungsbereich-Speicher (receiving preparation area memory) 220 gespeichert werden, bevor sie in der Datenspeichereinheit 140 gespeichert werden, die in Form einer Vielzahl von Sektoren (slices) 205AF vorliegen kann. Die Sektoren 205AF können insgesamt oder einzeln als Sektoren 205 bzw. Sektor 205 bezeichnet werden. Die Anzahl von Sektoren 205 in 2 dient der Veranschaulichung, und eine Ausführungsform der Datenflusseinheit 110 gemäß der vorliegenden Erfindung kann eine andere festgelegte Anzahl von Sektoren 205 aufweisen. Jeder Sektor kann eine Vielzahl von Puffern umfassen. Jeder Sektor kann einen Speichersektor darstellen, z.B. einen dynamischen Arbeitsspeicher (Dynamic Random Access Memory, DRAM), so dass Rahmendaten in verschiedene Puffer in verschiedenen Sektoren geschrieben werden können, um die Speicherbandbreite zu maximieren. Eine Speicherzuteilungseinrichtung (memory arbiter) 204 kann so konfiguriert werden, dass sie Anforderungen, z.B. Lese- und Schreibanforderungen, von der Empfängersteuereinheit 203, der Sendersteuereinheit 201 und der Schnittstelleneinheit 202 des eingebetteten Prozessors sammelt und anschließend den Zugriff auf bestimmte Datenspeichersektoren, d.h. bestimmte Puffer in bestimmten Sektoren 205, zeitlich plant. Beispielsweise kann die Empfängersteuereinheit 203 so konfiguriert werden, dass sie Schreibanforderungen an die Speicherzuteilungseinrichtung 204 ausgibt, um empfangene Daten in einzelne Puffer in einem bestimmten Sektor 205 zu schreiben.
  • Wie oben dargelegt wurde, können Rahmendaten in der Datenspeichereinheit 140, d.h. in einer Vielzahl von Sektoren 205, gespeichert werden. In einer Ausführungsform können Rahmendaten in einem oder mehreren Puffern in einem oder mehreren Sektoren 205 derart gespeichert werden, dass die Daten in jedem bestimmten Rahmen neu zusammengesetzt werden können, indem die Puffer miteinander verkettet werden. Das heißt, die Daten in einem bestimmten Rahmen können in einem oder mehreren Puffern gespeichert werden, die in der Reihenfolge miteinander verkettet werden, in der Daten in den einen oder die mehreren Puffer geschrieben werden. Die Verkettung von dem einen oder den mehreren Puffern kann von einer Puffersteuerblockeinheit (Buffer Control Block Unit, BCBU) 208 in einem mit der Datenflusseinheit 110 verbundenen Speicher 229 gesteuert werden, z.B. einem statischen Arbeitsspeicher mit vierfacher Übertragungsgeschwindigkeit (QDR SRAM). Die BCBU 208 kann so konfiguriert werden, dass sie die Adressen von jedem des einen oder der mehreren miteinander verketteten Puffer in der Reihenfolge umfasst, in der Daten in Puffer geschrieben wurden. Die verschiedenen Puffer, die Daten von denselben Rahmen umfassen, können mit Hilfe von in der BCBU 208 gespeicherten Zeigern miteinander verbunden werden.
  • Wie oben dargelegt wurde, kann jeder Datenrahmen einem Rahmensteuerblock (FCB) zugeordnet werden, wobei der FCB den zugeordneten Datenrahmen beschreibt. Die Rahmensteuerblockeinheit 1 (FCBU1) 209 in einem Speicher 210, z.B. einem QDR SRAM, kann so konfiguriert werden, dass sie die in die Felder der FCBs zu schreibenden Daten, d.h. die Rahmensteuerdaten, speichert. Das heißt, die Datenfelder in FCBs können durch Zugreifen auf den Speicher 210, d.h. auf die FCBU1 209 des Speichers 210, erhalten werden. Zusätzliche Einzelheiten bezüglich der Datenfelder speichernden FCBU1 209 des Speichers 210 werden in der Beschreibung von 3 erläutert.
  • Die in Puffern gespeicherten Rahmendaten können vom eingebetteten Prozessor 150 verarbeitet werden, indem der Vorsatz jedes zu verarbeitenden Rahmens an den eingebetteten Prozessor 150 übertragen wird. Wie oben dargelegt wird, kann jeder Datenrahmen durch einen FCB dargestellt werden. Diese FCBs können zeitweilig in G-Warteschlangen (GQs) 218 gespeichert werden. Eine Zuteilungslogik (dispatcher logic) 217 kann so konfiguriert werden, dass sie den nächsten FCB aus GQs 218 entnimmt. Sobald die Zuteilungslogik 217 den nächsten FCB aus der Warteschlange entnimmt, gibt sie eine Leseanforderung an die Speicherzuteilungseinrichtung 204 zum Lesen der Daten am Beginn des Rahmens aus, d.h. des Rahmenvorsatzes, der in der Datenspeichereinheit 140 gespeichert ist, die dem aus der Warteschlange entnommenen FCB zugeordnet ist. Die von der Zuteilungslogik 217 gelesenen Daten werden sodann vom eingebetteten Prozessor 150 verarbeitet.
  • Sobald die Rahmendaten vom eingebetteten Prozessor 150 verarbeitet wurden, können die verarbeiteten Rahmendaten von der Logik 216 des eingebetteten Prozessors zeitweilig in der Datenspeichereinheit 140, d.h. in den Sektoren 205, gespeichert werden, indem diese eine Schreibanforderung an die Speicherzuteilungseinrichtung 204 ausgibt, um die verarbeiteten Rahmendaten in einzelne Puffer in einem oder mehreren Sektoren 205 zu schreiben.
  • Sobald die Rahmendaten vom eingebetteten Prozessor 150 verarbeitet wurden, gibt die Logik 216 desselben außerdem den dem verarbeiteten Rahmen zugeordneten FCB an die Planungseinrichtung 130 aus. Die Planungseinrichtung 130 kann so konfiguriert werden, dass sie Flusswarteschlangen 223 umfasst, die zur Speicherung von FCBs konfiguriert sind. Außerdem kann die Planungseinrichtung 130 eine Rahmensteuerblockeinheit 2 (FCBU2) 225 in einem Speicher 224 umfassen, z.B. einem QDR SRAM, der so konfiguriert ist, dass er gleichzeitig als FCBU1 209 arbeiten kann. Die FCBU2 225 kann so konfiguriert werden, dass sie die in die Felder der FCBs zu schreibenden Daten speichert, wenn die FCBs sich zeitweilig in Flusswarteschlangen 223 befinden. Zusätzliche Einzelheiten bezüglich der Datenfelder speichernden FCBU2 225 im Speicher 224 der Planungseinrichtung 130 werden in der Beschreibung von 3 erläutert. Die Planungseinrichtung 130 kann so konfiguriert werden, dass sie die in Flusswarteschlangen 223 gespeicherten FCBs an die Einreihungslogik 227 von Zielwarteschlangen (Target Blade Queues, TBQs) überträgt, die so konfiguriert ist, dass sie die empfangenen FCBs in TBQs 215 stellt.
  • Die Entnahme von in TBQs 215 gestellten FCBs aus der Warteschlange kann von der TBQ-Planungseinrichtung 228 zeitlich geplant werden, und anschließend werden diese in den Anschlusssteuerblock (Port Control Block, PCB) 224 geladen. Die TBQ-Planungseinrichtung 228 kann so konfiguriert werden, dass sie den nächsten FCB aus den TBQs 215 entnimmt und diesen FCB in den PCB 224 stellt. Sobald der nächste FCB in den PCB 224 gestellt wurde, kann dieser eine Leseanforderung an die Speicherzuteilungseinrichtung 204 zum Lesen der Daten am Beginn des Rahmens ausgeben, d.h. des Rahmenvorsatzes, der in der Datenspeichereinheit 140 gespeichert ist, die dem aus der Warteschlange entnommenen FCB zugeordnet ist. Die vom PCB 224 gelesenen Daten können zeitweilig im Datenvorbereitungsbereich-Speicher (data preparation area memory) 214 gespeichert werden, bevor die verarbeiteten Rahmendaten an einen Vermittlungspunkt (nicht gezeigt) oder einen Anschluss (nicht gezeigt) in einem Paketvermittlungsnetz übertragen werden. Der Klarheit halber sei darauf hingewiesen, dass der PCB 224 so konfiguriert werden kann, dass er in jeder einzelnen Leseanforderung einen Teil der im verarbeiteten Rahmen gespeicherten Daten liest. Das heißt, die gesamten im verarbeiteten Rahmen gespeicherten Daten können im mehreren vom PCB 224 bereitgestellten Leseanforderungen gelesen werden. Sobald alle im verarbeiteten Rahmen gespeicherten Daten gelesen wurden, kann die Datenspeichereinheit 140 zusätzliche Rahmendaten speichern.
  • Die Sendersteuereinheit 201 kann außerdem einen Rahmenänderungs-Vorbereitungsbereichspeicher (frame alteration preparation area memory) 213 umfassen, der so konfiguriert ist, dass er Befehle zum Ändern der zeitweilig im Datenvorbereitungsbereichspeicher 214 gespeicherten verarbeiteten Rahmen empfängt. Diese Befehle werden allgemein als Rahmenänderungsbefehle bezeichnet, die vom eingebetteten Prozessor 150 ausgegeben und von der Logik 216 des eingebetteten Prozessors in einem bestimmten Bereich in einem bestimmten Puffer gespeichert werden, wie in der US-Patentanmeldung mit der Seriennummer 09/792 557 ausführlicher beschrieben wird. In einer Ausführungsform kann der PCB 224 so konfiguriert werden, dass er die in einem bestimmten Bereich in einem bestimmten Puffer gespeicherten Rahmenänderungsbefehle abruft und sie im Rahmenänderungs-Vorbereitungsbereichspeicher 213 speichert. Eine Rahmenänderungs- (FA-) Logikeinheit 212 kann so konfiguriert werden, dass sie die im Rahmenänderungs-Vorbereitungsbereichspeicher 213 gespeicherten Befehle ausführt, um den Inhalt der zeitweilig im Datenvorbereitungsbereichspeicher 214 gespeicherten verarbeiteten Rahmen zu ändern. Sobald die FA-Logik 212 den Inhalt der verarbeiteten Rahmen geändert hat, können die geänderten verarbeiteten Rahmen durch eine Vermittlungspunkt/Anschlussschnittstelleneinheit 211 übertragen werden. Die Vermittlungspunkt-/Anschlussschnittstelleneinheit 211 kann Daten an einen Anschluss (nicht gezeigt) übertragen, der als Schnittstelle zum Paketvermittlungsnetz arbeitet, wenn die Datenflusseinheit 110 in einem Ausgangsmodus arbeitet. Andernfalls kann die Vermittlungspunkt-/Anschlussschnittstelleneinheit 211 Daten an einen Vermittlungspunkt (nicht gezeigt) im Paketvermittlungsnetz übertragen, wenn die Datenflusseinheit 110 in einem Eingangsmodus arbeitet.
  • Außerdem kann die Datenflusseinheit 110 eine Puffersteuerblock- (BCB-) Zuteilungseinrichtung 207 umfassen, die so konfiguriert ist, dass sie eine Zuweisungsentscheidung für verschiedene BCB-Anforderungen von der Sendersteuereinheit 210, der Schnittstellensteuereinheit 202 des eingebetteten Prozessors und der Empfängersteuereinheit 203 zum Lesen aus dem oder Schreiben in den BCB 208 trifft. Die BCB-Zuteilungseinrichtung 207 kann so konfiguriert werden, dass sie verschiedene Zugriffe zeitlich plant, um die Speicherbandbreite so wirtschaftlich wie möglich zu nutzen. Die Datenflusseinheit 110 kann außerdem eine Rahmensteuerblock- (FCB-) Zuteilungseinrichtung 206 umfassen, die so konfiguriert ist, dass sie eine Zuweisungsentscheidung für verschiedene FCB von der Schnittstellensteuereinheit 202 des eingebetteten Prozessors, der Empfängersteuereinheit 203 und der Sendersteuereinheit 201 zum Lesen aus der oder Schreiben in die FCBU1 209 trifft.
  • Wie oben dargelegt wird, kann jeder Datenrahmen einem FCB zugeordnet werden. Wenn die verarbeiteten Rahmen aus der Datenspeichereinheit 140, z.B. dem DDR DRAM, gelesen und geändert und an einen Vermittlungspunkt (nicht gezeigt) oder einen Anschluss (nicht gezeigt) im Paketvermittlungsnetz übertragen werden, stellt der einem solchen verarbeiteten Rahmen zugeordnete FCB diesen bestimmten Datenrahmen nicht mehr dar. Sobald der FCB nicht mehr Rahmendaten zugeordnet ist, kann er in einer Warteschlange 222 für freie FCBs in der FCB-Zuteilungseinrichtung 206 gespeichert werden. Die Warteschlange 222 für freie FCBs kann so konfiguriert werden, dass sie eine Vielzahl von FCBs umfasst, die keinen bestimmten Rahmendaten mehr zugeordnet sind. Es sei darauf hingewiesen, dass die Warteschlange 222 für freie FCBs eine beliebige Anzahl von FCBs umfassen kann, die nicht mehr bestimmten Rahmendaten zugeordnet sind. Sobald die Datenflusseinheit 110 ein Paket, d.h. einen Rahmen, von Daten empfängt, kann ein Wiederzusammensetzungs-Steuerblock (Reassembly Control Block, RCB) 219 der Empfängersteuereinheit 203 dem empfangenen Datenrahmen einen bestimmten FCB aus der Warteschlange 222 für freie FCBs zuordnen, wobei der neu zugeordnete FCB anschließend vom RCB 219 in GQs 218 gestellt werden kann.
  • Wie oben dargelegt wurde, kann jeder Datenrahmen einem FCB zugeordnet werden. Jeder einem Datenrahmen zugeordnete FCB kann einem oder mehreren BCBs zugeordnet werden, wobei jeder einem FCB zugeordnete BCB einem bestimmten Puffer der Datenspeichereinheit 140 zugeordnet werden kann. Sobald die in einem Puffer der Datenspeichereinheit 140 gespeicherten verarbeiteten Rahmendaten von der Sendersteuereinheit 201 abgerufen und anschließend geändert und an einen Vermittlungspunkt (nicht gezeigt) oder Anschluss (nicht gezeigt) im Paketvermittlungsnetz übertragen werden, umfasst der BCB, der diesem Puffer zugeordnet ist, der keine Rahmendaten mehr enthält, keine gültigen Daten mehr. Das heißt, der BCB, der dem bestimmten Puffer zugeordnet ist, der keine Rahmendaten mehr enthält, enthält Daten, die nicht nützlich sind, da der bestimmte dem BCB zugeordnete Puffer keine Rahmendaten mehr enthält. Sobald der BCB keine gültigen Daten mehr enthält, d.h., sobald die Rahmendaten in einem bestimmten Puffer übertragen wurden, kann der BCB in einer Warteschlange 226 für freie BCBs in der BCB-Zuteilungseinrichtung 206 gespeichert werden. Die Warteschlange 226 für freie BCBs kann so konfiguriert werden, dass sie eine Vielzahl von BCBs umfasst, die keine gültigen Daten umfassen. Es sei darauf hingewiesen, dass die Warteschlange 226 für freie BCBs eine beliebige Anzahl von BCBs umfassen kann, die keine gültigen Daten umfassen. Sobald die Empfängersteuereinheit 203 empfangene Rahmendaten in einen bestimmten Puffer der Datenspeichereinheit 140 schreibt, kann der RCB 219 der Empfängersteuereinheit 203 gültige Daten in den bestimmten BCB in der Warteschlange 226 für freie BCBs schreiben, der dem bestimmten Puffer zugeordnet ist, der den empfangenen Datenrahmen speicherte.
  • Wie oben dargelegt wurde, kann ein FCB sich zeitweilig in der Warteschlange 222 für freie FCBs befinden, oder er kann sich zeitweilig in einer der anderen Warteschlangen befinden, z.B. den GQs 218, den Flusswarteschlangen 223, den TBQs 215. In der Beschreibung von 3 wird eine ausführlichere Beschreibung der "Lebensdauer" des FCB erläutert, wobei ein FCB anfänglich in der Warteschlange 222 für freie FCBs gespeichert und durch verschiedene Warteschlangen, z.B. GQs 218, Flusswarteschlangen 223, TBQs 215 übertragen werden kann, bis er in die Warteschlange 222 für freie FCBs gestellt wird. Ein FCB wird sozusagen aus der Warteschlange 222 für freie FCBs "entliehen", da er während seiner "Lebensdauer" zeitweilig aus der Warteschlange 222 für freie FCBs entnommen werden kann. Es sei darauf hingewiesen, dass jede der Warteschlangen, z.B. die GQs 218, die Flusswarteschlangen 223, die TBQs 215, die Warteschlange 222 für freie FCBs, einen oder mehrere verschiedene FCBs gleichzeitig umfassen können. Außerdem sei darauf hingewiesen, dass die FCBs sich während ihrer "Lebensdauer" zeitweilig in jeder der Warteschlangen befinden, z.B. in den GQs 218, den Flusswarteschlangen 223, den TBQs 215, der Warteschlange 222 für freie FCBs.
  • Wie im Abschnitt "Hintergrundinformationen" dargelegt wurde, umfassen FCBs verschiedene Datenfelder, wobei diese von den Speichern 210 und 224 im Paketprozessor 100 bereitgestellt werden. Das heißt, die Datenfelder in FCBs werden durch Zugreifen auf den Speicher 210, z.B. den QDR SRAM, im Paketprozessor 100 erhalten. Daher wäre es wünschenswert, die Anzahl von Daten benötigenden Feldern in Feldsteuerblöcken zu begrenzen, um dadurch die Anzahl von Speicherzugriffen und folglich den Bedarf an Bandbreite in den Speichern 210 und 224 zu verringern, wie an späterer Stelle erläutert wird.
  • 3 stellt ein Flussdiagramm eines Verfahrens 300 zur Verringerung der Anzahl von Speicherzugriffen dar, z.B. auf den Speicher 210 oder den Speicher 224, um die gewünschten Felddaten in Rahmensteuerblöcken zu erhalten, wodurch die Leistungsfähigkeit der Bandbreite des Speichers. z.B. des Speichers 210, des Speichers 224, verbessert wird. Der Speicher 210 ist ein der Datenflusseinheit 110 zugeordneter Speicher, wohingegen der Speicher 224 ein der Planungseinrichtung 130 zugeordneter Speicher ist.
  • Wie oben dargelegt wurde, kann jeder Datenrahmen einem Rahmensteuerblock (FCB) zugeordnet werden. In einer Ausführungsform der vorliegenden Erfindung kann ein logischer FCB als zwei verschiedene Steuerblöcke dargestellt werden, da es die beiden Speicher 210 und 224 gibt. Beispielsweise kann ein Basis-FCB (BFCB) dem Speicher 210 zugeordnet werden. Ein Fluss-FCB (FFCB) kann dem Speicher 224 zugeordnet werden.
  • Diese beiden verschiedenen Steuerblöcke, d.h. der BFCB und der FFCB, können dieselbe Speicheradresse, d.h. physische Speicheradresse, gemeinsam nutzen, die in den Feldern der beiden verschiedenen Steuerblöcke bereitzustellenden Daten können sich jedoch in gesonderten Speichern befinden, z.B. im Speicher 210, im Speicher 224.
  • Im Schritt 301 kann ein in der Warteschlange 222 für freie FCBs der FCB-Zuteilungseinrichtung 206 befindlicher FCB vom RCB 219 aus derselben entnommen werden. 4 stellt die Felder des BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB dar. Der BFCB 400 kann zwei Einträge oder Zeilen umfassen, wobei jeder Eintrag 36 Bit groß ist. Es sei darauf hingewiesen, dass der BFCB 400 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 4 der Veranschaulichung dient.
  • Der BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB kann zwei Felder umfassen, z.B. NFA (Nächste FCB-Adresse) und ECC (Fehlerkorrekturcode). Das NFA-Feld zeigt auf die nächste FCB-Adresse, wodurch die Verkettung von FCBs ermöglicht wird. Das ECC-Feld kann den Code für den Fehlerkorrekturcode umfassen, wie in der US-Patentanmeldung mit der Seriennummer 09/792 533 beschrieben wird.
  • 5 stellt die Felder des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB dar. Der FFCB 500 kann einen Eintrag oder eine Zeile umfassen, die 36 Bits umfasst. Es sei darauf hingewiesen, dass der FFCB 500 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 5 der Veranschaulichung dient.
  • Der FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB kann zwei Felder umfassen, z.B. NFA, "Bytezählwert" (Byte Count, BCNT) des einen oder der mehreren dem FCB zugeordneten Puffer sowie ein Paritätsbit (PTY). Das NFA-Feld kann einen Zeiger auf die nächste FCB-Adresse umfassen, wodurch die Verkettung der FCBs in der Warteschlange 222 für freie FCBs ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen. Auf die FCBU2 225 des Speichers 224 kann jedoch nicht zugegriffen werden, um Daten zur Speicherung in den Feldern des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB abzurufen, da der FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB möglicherweise keinem Datenrahmen zugeordnet ist. Das heißt, die Felder des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB sind bedeutungslos, und daher besteht keine Notwendigkeit zum Zugriff auf die FCBU2 225 des dem FFCB 500 zugeordneten Speichers 224. Zusätzliche Einzelheiten bezüglich der Zuordnung eines FCB zu einem oder mehreren BCBs sowie bezüglich der in den Feldern von FCBs gespeicherten Daten werden in der US-Patentanmeldung mit der Seriennummer 09/791 336 beschrieben. Einzelheiten des Paritätsbits in einem FCB werden in der US-Patentanmeldung mit der Seriennummer 09/792 533 bereitgestellt.
  • Daten können im BFCB 400 und nicht im FFCB 500 gespeichert werden, da die Warteschlange 222 für freie FCBs von der Datenflusseinheit 110 und nicht von der Planungseinrichtung 130 bearbeitet wird, wie an späterer Stelle ausführlicher erläutert wird. Daher können die Felder im BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB gültige Daten umfassen; wohingegen die Felder im FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB ungültige Daten umfassen können.
  • Wenn die Datenflusseinheit 110 durch die Anschluss-/Vermittlungspunkt-Schnittstelleneinheit 221 Rahmendaten von einem Vermittlungspunkt (nicht gezeigt) in einem Paketvermittlungsnetz oder einem als Schnittstelle zu einem Paketvermittlungsnetz arbeitenden Anschluss (nicht gezeigt) empfängt, wird durch den RCB 219 der Datenflusseinheit 110 ein FCB aus der Warteschlange 222 für freie FCBs entnommen, um die empfangenen Rahmendaten im Schritt 301 einem FCB zuzuordnen, wie oben dargelegt wurde. Der FCB wird vom RCB 219 aus der Warteschlange 222 für freie FCBs entnommen, indem dieser eine Leseanforderung an die FCBU1 209 des Speichers 210 ausgibt, um Daten für die Felder NFA und ECC im BFCB 400 des FCB in der Warteschlange 222 für freie FCBs abzurufen. Der RCB 219 der Datenflusseinheit 110 kann eine Leseanforderung nur an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Daher greift der RCB 219 nicht auf die FCBU2 225 des Speichers 224 zu, um Daten für die Felder, z.B. NFA, BCNT, des FFCB 500 des in der in der Warteschlange 222 für freie FCBs befindlichen FCB abzurufen.
  • Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 302 kann der aus der Warteschlange 222 für freie FCBs entnommene FCB vom RCB 219 in GQs 218 gestellt werden. 6 stellt die Felder des BFCB 600 des in GQs 218 befindlichen FCB dar. Der BFCB 600 kann zwei Einträge umfassen, wobei jeder Eintrag 36 Bit groß ist. Es sei darauf hingewiesen, dass der BFCB 600 eine beliebige Anzahl von Einträgen umfassen kann, die eine beliebige Anzahl von Bits umfassen können, und dass 6 der Veranschaulichung dient.
  • Der BFCB 600 des in GQs 218 befindlichen FCB kann zwei Felder umfassen, z.B. "Nächste FCB-Adresse" (NFA), "Bytezählwertlänge" (BCNT) und ein Paritätsbit (PTY) im ersten Eintrag. Der zweite Eintrag des BFCB 600 des in GQs 218 befindlichen FCB kann drei Felder umfassen, z.B. "Erste BCB-Adresse" (FBA), "Startbyteposition" (Starting Byte Position, SBP) des Puffers, der dem ersten dem FCB zugeordneten BCB zugeordnet ist, "Endbyteposition" (Ending Byte Position, EBP) des Puffers, der dem ersten dem FCB zugeordneten BCB zugeordnet ist, sowie ein Paritätsbit (PTY), ein FCB-Typbit (FCB Type bit, FTO) und ein Abbruchbit (Abort bit, ABOR). Das NFA-Feld kann auf die nächste FCB-Adresse in GQs 218 zeigen, wodurch die Verkettung von FCBs in GQs 218 ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen. Das FBA-Feld kann die Adresse des ersten dem FCB zugeordneten BCB umfassen. Das SBP-Feld kann die Startbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Das EBP-Feld kann die Endbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Wie oben dargelegt wurde, werden zusätzliche Einzelheiten bezüglich der in den Feldern von FCBs gespeicherten Daten, z.B. von FBA, SBP, EBP, in der US-Patentanmeldung mit der Seriennummer 09/791 336 beschrieben. Das FTO-Bit kann den Typ des FCB umfassen. Das ABOR-Bit kann anzeigen, dass die dem FCB zugeordneten Rahmendaten auf eine Ausnahmebedingung treffen und dass der FCB nicht als gültig betrachtet werden darf.
  • 7 stellt die Felder des FFCB 700 des in GQs 218 befindlichen FCB dar. Der FFCB 700 kann einen Eintrag umfassen, der 36 Bit groß ist. Es sei darauf hingewiesen, dass der FFCB 700 eine beliebige Anzahl von Einträgen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 7 der Veranschaulichung dient.
  • Der FFCB 700 des in GQs 218 befindlichen FCB kann zwei Felder, z.B. NFA, "Rahmenbytezählwert" (BCNT), sowie ein Paritätsbit (PTY) umfassen. Das NFA-Feld kann auf die nächste FCB-Adresse zeigen, wodurch die Verkettung der FCBs in GQs 218 ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen. Auf die FCBU2 225 des Speichers 224 kann jedoch nicht zugegriffen werden, um Daten abzurufen, die in den Feldern des FFCB 700 des in GQs 218 befindlichen FCB gespeichert werden müssen, da der FFCB 700 des in GQs 218 befindlichen FCB möglicherweise keinem Datenrahmen zugeordnet ist. Das heißt, die Felder des FFCB 700 des in GQs 218 befindlichen FCB sind bedeutungslos, und daher besteht keine Notwendigkeit zum Zugriff auf die FCBU2 225 des Speichers 224, der dem FFCB 700 zugeordnet ist.
  • Daten können im BFCB 600 und nicht in FFCB 700 gespeichert werden, da die GQs 218 von der Datenflusseinheit 110 und nicht von der Planungseinrichtung 130 bearbeitet werden, wie an späterer Stelle ausführlicher erläutert wird. Daher können die Felder im BFCB 600 des in GQs 218 befindlichen FCB gültige Daten umfassen; wohingegen die Felder im FFCB 700 des in GQs 218 befindlichen FCB ungültige Daten umfassen können.
  • Wie oben dargelegt wurde, stellt der RCB 219 den aus der Warteschlange 222 für freie FCBs entnommenen FCB in GQs 218. Der RCB 219 kann zwei Schreibanforderungen an die FCBU1 209 des Speichers 210 ausgeben, um die Daten in die Felder des BFCB 600 des FCB in GQs 218 zu schreiben. Die erste Schreibanforderung besteht darin, die Daten in die Felder des ersten Eintrags zu schreiben, z.B. in NFA, BCNT. Die zweite Schreibanforderung besteht darin, die Daten in die Felder des zweiten Eintrags zu schreiben, z.B. in FBA, SBP, EBP. Der RCB 219 kann zwei Schreibanforderungen lediglich an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Daher greift der RCB 219 nicht auf die FCBU2 225 des Speichers 224 zu, um Daten für die Felder, z.B. für NFA, BCNT, des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB abzurufen. Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 303 kann der FCB in GQs 218 von der Zuteilungseinrichtungslogik 217 aus der Warteschlange entnommen werden, so dass die dem FCB zugeordneten Rahmendaten vom eingebetteten Prozessor 150 verarbeitet werden, wie in der Beschreibung von 2 erläutert wird. Die Zuteilungseinrichtungslogik 217 kann zwei Leseanforderungen an die FCBU1 209 des Speichers 210 ausgeben, um die Daten in den Feldern des BFCB 600 des FCB in GQs 218 zu lesen. Die erste Leseanforderung kann darin bestehen, die Daten in den Feldern des ersten Eintrags zu lesen, z.B. in NFA, BCNT. Die zweite Leseanforderung besteht darin, die Daten in den Feldern des zweiten Eintrags zu lesen, z.B. in FBA, SBP, EBP. Die Zuteilungseinrichtungslogik 217 kann zwei Leseanforderungen ausschließlich an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Das heißt, die Zuteilungseinrichtungslogik 217 kann Leseanforderungen nur an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 des Speichers 224 ausgeben, da die Daten in den Feldern des FFCB 700 des FCB in GQs 218 bedeutungslose, d.h. ungültige Daten sind. Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 304 kann der FCB in Flusswarteschlangen 223 in der Planungseinrichtung 130 gestellt werden. Wie oben dargelegt wird, gibt die Logik 216 des eingebetteten Prozessors den den verarbeiteten Rahmendaten zugeordneten FCB an die Planungseinrichtung 130 aus. Die Planungseinrichtung 130 kann so konfiguriert werden, dass sie die empfangenen FCBs in Flusswarteschlangen 223 speichert. 8 stellt die Felder des BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB dar. Der BFCB kann zwei Einträge umfassen, wobei jeder Eintrag 36 Bit groß ist. Es sei darauf hingewiesen, dass der BFCB 600 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 8 der Veranschaulichung dient.
  • Der BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB kann ein Feld im ersten Eintrag, z.B. "Nächste Rahmensteuerpufferadresse" (NFA), und drei Felder im zweiten Eintrag umfassen, z.B. "Erste BCB-Adresse" (FBA), "Startbyteposition" (SBP) des dem ersten BCB zugeordneten Puffers, wobei der erste BCB dem FCB zugeordnet ist, "Endbyteposition" (EBP) des dem ersten BCB zugeordneten Puffers, wobei der erste BCB dem FCB zugeordnet ist. Das NFR-Feld kann auf die nächste FCB-Adresse in Flusswarteschlangen 223 zeigen, wodurch die Verkettung von FCBs in Flusswarteschlangen 223 ermöglicht wird. Das FBA-Feld kann die Adresse des ersten dem FCB zugeordneten BCB umfassen. Das SBP-Feld kann die Startbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Das EBP-Feld kann die Endbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Auf die FCBU1 209 des Speichers 210 kann jedoch nicht zugegriffen werden, um Daten abzurufen, die in den Feldern des BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB gespeichert werden müssen, da der BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB möglicherweise keinem Datenrahmen zugeordnet ist. Das Feld im ersten Eintrag des BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB kann Daten umfassen, die bedeutungslos sind, und die Felder im zweiten Eintrag können wichtige Daten umfassen. In der Folge besteht keine Notwendigkeit zum Zugriff auf die FCBU1 209 des dem BFCB 800 zugeordneten Speichers 210.
  • Das heißt, die Felder des BFCB 800 des in Flusswarteschlangen 223 befindlichen FCB sind bedeutungslos, und daher besteht keine Notwendigkeit zum Zugriff auf die FCBU1 209 des dem BFCB 800 zugeordneten Speichers 210.
  • 9 stellt die Felder des FFCB 900 des in Flusswarteschlangen 223 befindlichen FCB dar. Der FFCB 900 kann einen 36 Bit großen Eintrag umfassen. Es sei darauf hingewiesen, dass der FFCB 900 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 9 der Veranschaulichung dient.
  • Der FFCB 900 des in Flusswarteschlangen 223 befindlichen FCB kann zwei Felder, z.B. NFA und "Rahmenbytezählwert" (BCNT), sowie ein Paritätsbit (PTY) umfassen. Das NFA-Feld kann auf die nächste FCB-Adresse zeigen, wodurch die Verkettung der FCBs in Flusswarteschlangen 223 ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen.
  • Daten können im FFCB 900 und nicht im BFCB 800 gespeichert werden, da die Flusswarteschlangen 223 von der Planungseinrichtung 130 und nicht von der Datenflusseinheit 110 bearbeitet werden, wie an späterer Stelle ausführlicher erläutert wird.
  • Wie oben dargelegt wurde, gibt die Logik 216 des eingebetteten Prozessors nach der Verarbeitung der Rahmendaten den den verarbeiteten Rahmendaten zugeordneten FCB an die Planungseinrichtung 130 aus. Die Planungseinrichtung 130 kann so konfiguriert werden, dass sie die empfangenen FCBs im Schritt 304 in Flusswarteschlangen 223 stellt. Die Planungseinrichtung 130 kann eine Schreibanforderung an die FCBU2 225 des Speichers 224 ausgeben, um die Daten in die Felder des FFCB 900 des FCB in Flusswarteschlangen 223 zu schreiben. Die Schreibanforderung kann darin bestehen, die Daten in die Felder des FFCB 900 zu schreiben, z.B. in NFA, BCNT. Die Planungseinrichtung 130 kann eine Leseanforderung nur an die FCBU2 225 des Speichers 224 und nicht an die FCBU1 209 des Speichers 210 ausgeben, der Speicher 224 der Planungseinrichtung 130 und der Speicher 210 der Datenflusseinheit 110 zugeordnet ist. Indem nicht auf den Speicher 210 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 305 kann der FCB in Flusswarteschlangen 223 von der Planungseinrichtung 130 aus der Warteschlange entnommen werden. Die Planungseinrichtung 130 kann eine Leseanforderung an die FCBU2 225 des Speichers 224 ausgeben, um die Daten in den Feldern des FFCB 900 des FCB in Flusswarteschlangen 223 zu lesen. Die Leseanforderung besteht darin, die Daten in den Feldern des FFCB 900 zu lesen, z.B. in NFR, BCNT. Die Planungseinrichtung 130 kann einen Leseanforderung nur an die FCBU2 225 des Speichers 224 und nicht an die FCBU1 209 des Speichers 210 ausgeben, da der Speicher 224 der Planungseinrichtung 130 und der Speicher 210 der Datenflusseinheit 110 zugeordnet ist. Das heißt, die Planungseinrichtung 130 kann eine Leseanforderung an die FCBU2 225 des Speichers 224 und nicht an die FCBU1 209 des Speichers 210 ausgeben, da die Daten in Feldern des BFCB 800 des FCB in Flusswarteschlangen bedeutungslose, d.h. ungültige Daten sind. Indem nicht auf den Speicher 210 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 306 kann der aus Flusswarteschlangen 223 entnommene FCB von der TBQ-Einreihungslogik 227 der Sendersteuereinheit 201 in TBQs 215 gestellt werden. 10 stellt die Felder des BFCB 1000 des in TBQs 215 befindlichen FCB dar. Der BFCB 1000 kann zwei Einträge umfassen, wobei jeder Eintrag 36 Bit groß ist. Es sei darauf hingewiesen, dass der BFCB 1000 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 10 der Veranschaulichung dient.
  • Der BFCB 1000 des in TBQs 215 befindlichen FCB kann zwei Felder im ersten Eintrag, z.B. "Nächste Rahmensteuerpufferadresse" (NFA), "Bytezählwertlänge" (BCNT) des einen oder der mehreren dem FCB zugeordneten BCBs sowie ein Paritätsbit (PTY), und vier Felder, z.B. "Erste BCB-Adresse" (FBA), "Startbyteposition" (SBP) des Puffers, der dem ersten dem FCB zugeordneten BCB zugeordnet ist, "Endbyteposition" (EBP) des Puffers, der dem ersten dem FCB zugeordneten BCB zugeordnet ist, "Rahmentyp" (FT) sowie ein Paritätsbit (PTY) im zweiten Eintrag umfassen. Das NFA-Feld kann auf die nächste FCB-Adresse in TBQs 215 zeigen, wodurch die Verkettung von FCBs in TBQs 215 ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen. Das FBA-Feld kann die Adresse des ersten dem FCB zugeordneten BCB umfassen. Das SBP-Feld kann die Startbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Das EBP-Feld kann die Endbyteposition des Puffers umfassen, der dem ersten dem FCB zugeordneten BCB zugeordnet ist. Das FT-Feld kann den Typ des FCB umfassen.
  • 11 stellt die Felder des FFCB 1100 des in TBQs 215 befindlichen FCB dar. Der FFCB kann einen 36 Bit großen Eintrag umfassen. Es sei darauf hingewiesen, dass der FFCB 1100 eine beliebige Anzahl von Feldern und eine beliebige Anzahl von Zeilen umfassen kann, die eine beliebige Anzahl von Bits umfassen, und dass 11 der Veranschaulichung dient.
  • Der FFCB 1100 des in TBQs 215 befindlichen FCB kann zwei Felder, z.B. NFA, "Bytezählwertlänge" (BCNT) des einen oder der mehreren dem FCB zugeordneten BCBs sowie ein Paritätsbit (PTY) umfassen. Das NFA-Feld kann auf die nächste FCB-Adresse zeigen, wodurch die Verkettung der FCBs in TBQs 215 ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen. Auf die FCBU2 225 des Speichers 224 kann jedoch nicht zugegriffen werden, um Daten abzurufen, die in den Feldern des FFCB 1100 des in TBQs 215 befindlichen FCB gespeichert werden müssen, da der FFCB 1100 des in TBQs 215 befindlichen FCB möglicherweise keinem Datenrahmen zugeordnet ist. Das heißt, die Felder des FCB 1100 des in TBQs 215 befindlichen FCB sind bedeutungslos, und daher besteht keine Notwendigkeit zum Zugriff auf die FCBU2 225 des dem FFCB 1100 zugeordneten Speichers 224.
  • Daten können im BFCB 1000 und nicht im FFCB 1100 gespeichert werden, da die TBQs 215 von der Datenflusseinheit 110 und nicht von der Planungseinrichtung 130 bearbeitet werden, wie an späterer Stelle ausführlicher erläutert wird. Daher können die Felder des BFCB 1000 des in TBQs 215 befindlichen FCB gültige Daten umfassen; wohingegen die Felder des FFCB 1100 des in TBQs 215 befindlichen FCB möglicherweise keine gültigen Daten umfassen.
  • Wie oben dargelegt wurde, stellt die TBQ-Einreihungslogik 227 den von der Planungseinrichtung 130 empfangenen FCB in TBQs 215. Die TBQ-Einreihungslogik 227 kann eine Schreibanforderung an die FCBU1 209 des Speichers 210 ausgeben, um die Daten in die Felder, z.B. NFA, BCNT, des BFCB 1000 des FCB in TBQs 215 zu schreiben. Die TBQ-Einreihungslogik 227 kann von der Planungseinrichtung 130 eine Kopie der Daten im BCNT-Feld im FFCB 900 empfangen, wenn die Sendersteuereinheit 201 den FCB von der Planungseinrichtung 130 empfängt. Die TBQ-Einreihungslogik 227 kann sodann so konfiguriert werden, dass sie die Daten im BCNT-Feld des FFCB 900 in das BCNT-Feld des BFCB 1000 schreibt. Die TBQ-Einreihungslogik 227 gibt keine weitere Schreibanforderung zum Schreiben der Daten in die Felder des zweiten Eintrags aus, da die Daten in den Feldern des zweiten Eintrags des BFCB 800 nicht aktualisiert wurden, während sie sich in Flusswarteschlangen 223 befanden. Anschließend greift die TBQ-Einreihungslogik 227 nur einmal anstatt zweimal auf die FCBU1 209 des Speichers 210 zu, wodurch die Leistungsfähigkeit der Bandbreite des Speichers 210 verbessert wird. Außerdem kann die TBQ-Einreihungslogik 227 eine Schreibanforderung nur an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Daher greift die TBQ-Einreihungslogik 227 nicht auf die FCBU2 225 des Speichers 224 zu, um Daten in die Felder, z.B. NFA, BCNT, des FFCB 1100 des in TBQs 215 befindlichen FCB zu schreiben. Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 307 kann der FCB in TBQs 215 von der TBQ-Planungseinrichtung 228 aus der Warteschlange entnommen werden, so dass die dem FCB zugeordneten Rahmendaten von der TBQ-Planungseinrichtung 228 gelesen werden können, wie in der Beschreibung von 2 erläutert wird. Die TBQ-Planungseinrichtung 228 kann zwei Leseanforderungen an die FCBU1 209 des Speichers 210 ausgeben, um die Daten in den Feldern des BFCB 1000 des FCB in TBQs 215 zu lesen. Die erste Leseanforderung kann darin bestehen, die Daten in den Feldern des ersten Eintrags zu lesen, z.B. in NFA, BCNT. Die zweite Leseanforderung kann darin bestehen, die Daten in den Feldern des zweiten Eintrags zu lesen, z.B. in FBA, FT, SBP, EBP. Die TBQ-Planungseinrichtung 228 kann zwei Leseanforderungen ausschließlich an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Daher greift die TBQ-Planungseinrichtung 228 nicht auf die FCBU2 225 des Speichers 224 zu, um Daten für die Felder, z.B. NFA, BCNT, des FFCB 1100 des in TBQs 215 befindlichen FCB abzurufen. Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Im Schritt 308 kann der FCB in die Warteschlange 222 für freie FCBs der FCB-Zuteilungseinrichtung 206 gestellt werden, sobald die dem FCB zugeordneten verarbeiteten Rahmendaten durch die Vermittlungspunkt-/Anschluss-Schnittstellensteuereinheit 211 an einen Vermittlungspunkt (nicht gezeigt) im Paketvermittlungsnetz oder an einen als Schnittstelle zum Paketvermittlungsnetz arbeitenden Anschluss (nicht gezeigt) übertragen wurden. Die FCB-Zuteilungseinrichtung 206 kann so konfiguriert werden, dass sie den den übertragenen Rahmendaten zugeordneten FCB vom PCB 224 der Sendersteuereinheit empfängt, wobei der FCB vom PCB 224 in die Warteschlange 222 für freie FCBs gestellt werden kann.
  • Wie oben dargelegt wurde, stellt 4 die Felder des BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB dar. Der BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB kann zwei Felder umfassen, z.B. NFA (Nächste FCB-Adresse), ECC (Fehlerkorrekturcode). Das NFA-Feld zeigt auf die nächste FCB-Adresse, wodurch die Verkettung von FCBs in der Warteschlange 222 für freie FCBs ermöglicht wird. Das ECC-Feld kann den Code für den Fehlerkorrekturcode umfassen, wie in der US-Patentanmeldung mit der Seriennummer 09/792 533 beschrieben wird.
  • Wie oben dargelegt wurde, stellt 5 die Felder des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB dar. Der FFCB 500 kann einen 36 Bit großen Eintrag umfassen. Der FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB kann zwei Felder, z.B. NFA, "Bytezählwertlänge" (BCNT) des einen oder der mehreren dem FCB zugeordneten BCBs sowie ein Paritätsbit (PTY) umfassen. Das NFA-Feld zeigt auf die nächste FCB-Adresse, wodurch die Verkettung der FCBs in der Warteschlange 222 für freie FCBs ermöglicht wird. Das BCNT-Feld kann die Bytezählwertlänge des einen oder der mehreren dem FCB zugeordneten BCBs umfassen.
  • Daten können im BFCB 400 und nicht im FFCB 500 gespeichert werden, da die Warteschlange 222 für freie FCBs von der Datenflusseinheit 110 und nicht von der Planungseinrichtung 130 bearbeitet wird, wie an späterer Stelle erläutert wird. Daher können die Felder im BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB gültige Daten umfassen; wohingegen die Felder im FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB ungültige Daten umfassen können.
  • Wie oben dargelegt wurde, kann die FCB-Zuteilungseinrichtung 206 so konfiguriert werden, dass sie den den übertragenen verarbeiteten Rahmendaten zugeordneten FCB vom PCB 224 der Sendersteuereinheit empfängt, wobei der FCB vom PCB 224 in die Warteschlange 222 für freie FCBs gestellt werden kann. Der PCB 224 kann eine Schreibanforderung an die FCBU1 209 des Speichers 210 ausgeben, um Daten für die Felder NFA und ECC in den BFCB 400 des in der Warteschlange 222 für freie FCBs befindlichen FCB schreiben. Der PCB 224 kann eine Schreibanforderung nur an die FCBU1 209 des Speichers 210 und nicht an die FCBU2 225 des Speichers 224 ausgeben, da der Speicher 210 der Datenflusseinheit 110 und der Speicher 224 der Planungseinrichtung 130 zugeordnet ist. Daher greift der PCB 224 nicht auf die FCBU2 225 des Speichers 224 zu, um Daten für die Felder, z.B. NFA, BCNT, des FFCB 500 des in der Warteschlange 222 für freie FCBs befindlichen FCB abzurufen. Indem nicht auf den Speicher 224 zugegriffen wird, wird die Leistungsfähigkeit von dessen Bandbreite verbessert.
  • Es sei darauf hingewiesen, dass das Verfahren 300 die "Lebensdauer" eines FCB beschreibt. Außerdem sei darauf hingewiesen, dass das Verfahren die "Lebensdauer" der anderen FCBs im Netzprozessor 100 beschreiben kann. Des Weiteren sei darauf hingewiesen, dass sich in jeder Warteschlange, z.B. in den GQs 218, den Flusswarteschlangen 223, den TBQs 215, der Warteschlange 222 für freie FCBs, zeitweilig ein oder mehrere verschiedene FCBs gleichzeitig befinden können.

Claims (11)

  1. System, das Folgendes umfasst: einen Prozessor (100), der so konfiguriert ist, dass er Datenrahmen verarbeitet, wobei der Prozessor Folgendes umfasst: eine Datenflusseinheit (110), die so konfiguriert ist, dass sie die Datenrahmen empfängt und sendet, wobei jeder der Datenrahmen einen zugeordneten Rahmensteuerblock aufweist, wobei jeder der Rahmensteuerblöcke einen ersten und einen zweiten Steuerblock umfasst; einen ersten Speicher (210), der mit der Datenflusseinheit verbunden ist, wobei der erste Speicher eine erste Rahmenpuffersteuereinheit umfasst, wobei die erste Rahmenpuffersteuereinheit Felddaten für den ersten Steuerblock des Rahmensteuerblocks speichert; und eine Planungseinrichtung (130), die mit der Datenflusseinheit verbunden ist, wobei die Planungseinrichtung so konfiguriert ist, dass sie von der Datenflusseinheit empfangene Datenrahmen zeitlich plant, wobei die Planungseinrichtung einen zweiten Speicher (224) umfasst, wobei der zweite Speicher eine zweite Rahmenpuffersteuereinheit umfasst, wobei die zweite Rahmenpuffersteuereinheit Felddaten für den zweiten Steuerblock des Rahmensteuerblocks speichert.
  2. System nach Anspruch 1, in dem die Datenflusseinheit eine Vielzahl von Warteschlangen umfasst, wobei einer oder mehrere der Rahmensteuerblöcke sich in einer aus der Vielzahl von Warteschlangen befinden.
  3. System nach Anspruch 2, in dem die Daten in den Feldern des ersten Steuerblocks von einem oder mehreren der Rahmensteuerblöcke, die sich in einer aus der Vielzahl von Warteschlangen der Datenflusseinheit befinden, in der ersten Rahmenpuffersteuereinheit des ersten Speichers gespeichert werden.
  4. System nach irgendeinem der Ansprüche 1 bis 3, in dem die Planungseinrichtung eine erste Warteschlange umfasst, wobei einer oder mehrere der Rahmensteuerblöcke sich in der ersten Warteschlange befinden.
  5. System nach Anspruch 4, in dem die Daten in den Feldern des zweiten Steuerblocks von einem oder mehreren der Rahmensteuerblöcke, die sich in der ersten Warteschlange befinden, in der zweiten Rahmenpuffersteuereinheit des zweiten Speichers gespeichert werden.
  6. Verfahren zum Verringern der Anzahl von Speicherzugriffsvorgängen zum Erhalten der gewünschten Daten in Rahmensteuerblöcken, wobei jeder der Rahmensteuerblöcke einen ersten Steuerblock und einen zweiten Steuerblock umfasst, wobei der erste Steuerblock einem ersten Speicher (210) zugeordnet ist, wobei der zweite Steuerblock einem zweiten Speicher (224) zugeordnet ist, wobei der erste Speicher eine erste Rahmenpuffersteuereinheit umfasst, wobei die erste Rahmenpuffersteuereinheit Felddaten für den ersten Steuerblock des Rahmensteuerblocks speichert, wobei der zweite Speicher eine zweite Rahmenpuffersteuereinheit umfasst, wobei die zweite Rahmenpuffersteuereinheit Felddaten für den zweiten Steuerblock des Rahmensteuerblocks speichert, wobei das Verfahren die folgenden Schritte umfasst: Zugreifen auf den ersten Speicher, um die Daten in Feldern des ersten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben; und Zugreifen auf den zweiten Speicher, um die Daten in Feldern des zweiten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben.
  7. Verfahren nach Anspruch 6, in dem einer oder mehrere der Rahmensteuerblöcke sich in einer aus einer Vielzahl von Warteschlangen in einer Datenflusseinheit befinden, wobei die Datenflusseinheit dem ersten Speicher zugeordnet ist.
  8. Verfahren nach Anspruch 7, in dem auf den ersten Speicher zugegriffen wird, um die Daten in Feldern des ersten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben, wenn der eine oder die mehreren Steuerblöcke sich in einer aus der Vielzahl von Warteschlangen in der Datenflusseinheit befinden.
  9. Verfahren nach irgendeinem der Ansprüche 6 bis 8, in dem einer oder mehrere der Rahmensteuerblöcke sich in einer Warteschlange in einer Planungseinrichtung befinden, wobei die Planungseinrichtung dem zweiten Speicher zugeordnet ist.
  10. Verfahren nach Anspruch 9, in dem auf den zweiten Speicher zugegriffen wird, um die Daten in Feldern des zweiten Steuerblocks aus einem oder mehreren der Rahmensteuerblöcke zu lesen oder in sie zu schreiben, wenn der eine oder die mehreren Rahmensteuerblöcke sich in der Warteschlange der Planungseinrichtung befinden.
  11. Computerprogrammprodukt, das ein Programmcodemittel umfasst, das für die Ausführung der Schritte nach irgendeinem der Ansprüche 6 bis 10 geeignet ist, wenn das Programm in einem Computer ausgeführt wird.
DE60203785T 2001-02-23 2002-02-20 Netzschnittstelle Expired - Lifetime DE60203785T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US792494 2001-02-23
US09/792,494 US7072347B2 (en) 2001-02-23 2001-02-23 Assignment of packet descriptor field positions in a network processor
PCT/GB2002/000748 WO2002069563A2 (en) 2001-02-23 2002-02-20 Network adapter

Publications (2)

Publication Number Publication Date
DE60203785D1 DE60203785D1 (de) 2005-05-25
DE60203785T2 true DE60203785T2 (de) 2006-03-09

Family

ID=25157073

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60203785T Expired - Lifetime DE60203785T2 (de) 2001-02-23 2002-02-20 Netzschnittstelle

Country Status (13)

Country Link
US (1) US7072347B2 (de)
EP (1) EP1362464B1 (de)
JP (1) JP3880520B2 (de)
KR (1) KR100560277B1 (de)
CN (1) CN100479450C (de)
AT (1) ATE293864T1 (de)
AU (1) AU2002232002A1 (de)
CZ (1) CZ20032126A3 (de)
DE (1) DE60203785T2 (de)
ES (1) ES2237667T3 (de)
HU (1) HUP0303240A3 (de)
PL (1) PL363474A1 (de)
WO (1) WO2002069563A2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072347B2 (en) 2001-02-23 2006-07-04 International Business Machines Corporation Assignment of packet descriptor field positions in a network processor
US7200696B2 (en) * 2001-04-06 2007-04-03 International Business Machines Corporation System method structure in network processor that indicates last data buffer of frame packet by last flag bit that is either in first or second position
US7099325B1 (en) * 2001-05-10 2006-08-29 Advanced Micro Devices, Inc. Alternately accessed parallel lookup tables for locating information in a packet switched network
US7535845B2 (en) * 2004-10-28 2009-05-19 Alcatel Lucent Intelligent selective flow-based datapath architecture
US7376809B2 (en) * 2005-03-09 2008-05-20 International Business Machines Corporation Systems and methods for multi-frame control blocks
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
US7787463B2 (en) * 2006-01-26 2010-08-31 Broadcom Corporation Content aware apparatus and method
DE102008018670A1 (de) 2008-04-14 2009-10-15 Merck Patent Gmbh Neue Materialien für organische Elektrolumineszenzvorrichtungen
WO2014125337A1 (en) * 2013-02-15 2014-08-21 Freescale Semiconductor, Inc. Apparatus, system and method for controlling packet data flow
CN111654746B (zh) * 2020-05-15 2022-01-21 北京百度网讯科技有限公司 视频的插帧方法、装置、电子设备和存储介质
CN113835891B (zh) * 2021-09-24 2023-05-23 哲库科技(北京)有限公司 资源分配方法、装置、电子设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817054A (en) * 1985-12-04 1989-03-28 Advanced Micro Devices, Inc. High speed RAM based data serializers
US5136582A (en) 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5983004A (en) * 1991-09-20 1999-11-09 Shaw; Venson M. Computer, memory, telephone, communications, and transportation system and methods
US5604884A (en) * 1993-03-22 1997-02-18 Compaq Computer Corporation Burst SRAMS for use with a high speed clock
DE69329709D1 (de) * 1993-04-29 2001-01-04 Ibm Verfahren und Gerät für Mehrfachübertragung von Daten in einem Kommunikationssystem
US5699536A (en) * 1995-04-13 1997-12-16 International Business Machines Corporation Computer processing system employing dynamic instruction formatting
JPH08328949A (ja) 1995-06-06 1996-12-13 Mitsubishi Electric Corp 記憶装置
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
JP3788867B2 (ja) 1997-10-28 2006-06-21 株式会社東芝 半導体記憶装置
US6035360A (en) * 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
JP4182180B2 (ja) * 1999-02-24 2008-11-19 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
US6427196B1 (en) * 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US6754216B1 (en) * 2000-05-08 2004-06-22 Nortel Networks Limited Method and apparatus for detecting congestion and controlling the transmission of cells across a data packet switch
US6751704B2 (en) * 2000-12-07 2004-06-15 International Business Machines Corporation Dual-L2 processor subsystem architecture for networking system
US7072347B2 (en) 2001-02-23 2006-07-04 International Business Machines Corporation Assignment of packet descriptor field positions in a network processor

Also Published As

Publication number Publication date
HUP0303240A3 (en) 2005-05-30
US20020118690A1 (en) 2002-08-29
JP2004530323A (ja) 2004-09-30
US7072347B2 (en) 2006-07-04
KR20030076679A (ko) 2003-09-26
CN1528078A (zh) 2004-09-08
AU2002232002A1 (en) 2002-09-12
EP1362464A2 (de) 2003-11-19
PL363474A1 (en) 2004-11-15
WO2002069563A3 (en) 2003-04-17
EP1362464B1 (de) 2005-04-20
KR100560277B1 (ko) 2006-03-10
JP3880520B2 (ja) 2007-02-14
ES2237667T3 (es) 2005-08-01
CN100479450C (zh) 2009-04-15
HUP0303240A2 (hu) 2003-12-29
DE60203785D1 (de) 2005-05-25
ATE293864T1 (de) 2005-05-15
WO2002069563A2 (en) 2002-09-06
CZ20032126A3 (cs) 2004-01-14

Similar Documents

Publication Publication Date Title
EP0435046B1 (de) Verfahren zum Wiederherstellen der richtigen Zellfolge, insbesondere in einer ATM-Vermittlungsstelle, sowie Ausgangseinheit hierfür
DE3752370T2 (de) Vermittlungssystem
DE102007004044B4 (de) Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
DE69233194T2 (de) Verfahren und vorrichtung für simultane paketbus.
DE69534758T2 (de) Verfahren und System für Mehrfachübertragung
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
EP0446589A2 (de) Kopierfähige ATM-Vermittlungsstelle
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
EP0320772A2 (de) Verfahren zur hybriden Paketvermittlung und Einrichtungen hierzu
DE60203785T2 (de) Netzschnittstelle
EP0315918B1 (de) Vermittlungsknoten für die Vermittlung von in Datenpaketen übertragenen Datensignalen
EP0024708B1 (de) Zeitlagenvielfach für ein Zeitmultiplexsystem zur Durchkopplung digitaler, insbesondere deltamodulierter, Nachrichtensignale
EP0156339A2 (de) Verfahren und Anordnung zum Herstellen und Betreiben einer Zeitvielfach-Breitbandverbindung in einer Zeitvielfach-Vermittlungsstelle
EP0446586A2 (de) ATM-Vermittlungsstelle
DE60210748T2 (de) System und Verfahren zum Verbinden von Rahmendaten durch das Einfügen von Bestimmungsfeldern in Steuerblöcke
DE19718105A1 (de) Multiprozessorsystem zur Unterstützung einer Rundsendekommunikation und Intermultiprozessor-Kommunikationsverfahren dafür
EP0184706B1 (de) Schnittstelleneinrichtung
DE3738639C2 (de) Speicher-Stern-Netz
DE69731093T2 (de) Adressierbare, schnelle Zähleranordnung
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
EP0555456B1 (de) Verfahren zur datenübertragung und datenverarbeitungsanlage mit verteilten rechnerknoten
DE10052904B4 (de) Warteschlangenbildungsverfahren zur Weiterleitung von Paketen in Folge
DE19911830A1 (de) Verfahren zum Verwalten des Zugriffs auf einen Bus und Bussystem
DE60127028T2 (de) Verfahren zur wechselseitigen Übertragung von Steuerungsparametern durch ein Kommunikationsnetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7