WO2017140398A1 - Network node device and method for data switching - Google Patents
Network node device and method for data switching Download PDFInfo
- Publication number
- WO2017140398A1 WO2017140398A1 PCT/EP2016/080922 EP2016080922W WO2017140398A1 WO 2017140398 A1 WO2017140398 A1 WO 2017140398A1 EP 2016080922 W EP2016080922 W EP 2016080922W WO 2017140398 A1 WO2017140398 A1 WO 2017140398A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- framebuffercell
- network node
- memory unit
- node device
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Definitions
- the present invention relates to a network node device configured for receiving, switching and forwarding data at a plurality of data ports.
- the erfindungsge ⁇ Permitted network node device is preferably designed for a safety-critical application.
- the present invention further relates to a network device and a network arrangement for a safety-critical use and to a method for switching data.
- Data packet-oriented networks are finding an increasing application for measuring, controlling and regulating complex technical
- Actuators a steering wheel position is converted by an electric motor into a wheel position.
- a move away from a traditional bus structure towards a data packet oriented network in a vehicle control system places increased demands on network node devices.
- the network can be loaded for example by high data rates, so that important control ⁇ or sensor data can not be exchanged between the network node devices. It is therefore necessary to consider such load situations in safety-critical overall systems in order to ensure reliable operation of the network node devices in the network.
- the applicant has already proposed a teaching in the German patent specification DE102012000188B4, according to which an annular network of network devices takes place with a network designed in particular for Ethernet communication.
- a redundant implementation of the network device with duplicated network node and control devices in the respective network device provides secure and reliable data transport in the network.
- the network node device known in the art as Switch device, adapted for receiving, Ver ⁇ mediation and routing of data packets, which are exchanged bi-directionally over a plurality of data ports of the network node device with network devices or control devices.
- incoming and outgoing data ports are usually combined in a case-by-case bidirectional data port.
- a storage unit comprises a plurality of queues, wherein one queue comprises a plurality of buffer cells. Up to a certain size of a data packet is provided to buffer a data packet per buffer cell. If the size of the data packet to be buffered exceeds the size of a buffer cell, the data packet to be buffered is divided into several buffer cells. Alternatively, buffering of outgoing data packets in the corresponding opposite direction is also known.
- a prioritization of data packets is advantageous in safety-critical networks or overall systems.
- data packets exchanged between the network node device and a controller are provided with a higher priority class than data packets exchanged with network devices become.
- the first data packets are usually exchanged via an "in ⁇ ternal" data port, which are like the control ⁇ device and the network node device on a common microcircuit.
- the microcircuit is designed eg as SoC (system-on-a-chip), FPGA (field programmable gate array) or ASIC (application specific integrated circuit).
- SoC system-on-a-chip
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- the object of the invention is therefore to provide a suitable in particular for safety-critical applications ei ⁇ NEN network node device, wherein a kete for buffering the pa- necessary storage space compared to known network node devices is reduced.
- the object is achieved by a Netzknotenein ⁇ direction with the features of claim 1.
- a generic network node device which is adapted to Entge ⁇ genddling, switching and routing of data to a plurality of data ports comprises data ports for bidirectional communication with network nodes or re chen painen a network. Data packets arriving at a data port are provided for buffering before being forwarded. In this case, each data port is assigned a first SpeI ⁇ cherü which comprises a plurality of waiting Schlan ⁇ gene, wherein each queue contains a plurality of precursor cells PUF.
- this network node device in particular for a safety-critical application, provision is made for assigning at least one data port to a respectively assigned second memory unit having a plurality of addressable buffer cells. Furthermore, a buffer control unit is provided, which for detecting ei ⁇ ner queue affiliation of a buffered pa ⁇ kets, for assignment to a free addressable buffer cell in the second memory unit and for depositing a pointer to an address of the addressable buffer cell in a next free buffer cell within the the queues belonging particular queue is formed of ers ⁇ th memory unit.
- the object is further achieved by a network device according to the invention having the features of patent claim 6, by a network arrangement according to the invention with the characteristics len of claim 7, solved by an inventive Ver ⁇ drive with the features of claim 9 and by an inventive computer program product with means for performing the method.
- FIG. 1 shows a schematic representation of a network node device according to the prior art
- Figure 4 is a schematic representation of an organization of cells ⁇ tion in an inventive memory unit for buffering data packets
- Fig. 1 shows a generic known Netzknoteneinrich ⁇ device according to the prior art.
- One or more data ports P1, P2, P3, P4 form bidirectional interfaces for the exchange of data packets which are buffered in a memory unit FB or "frame buffer" FB.
- the memory unit FB is organized in queues, wherein a queue comprises a plurality of buffer cells with usually identical recording capacity for receiving a plurality of data packets.
- the occupancy of the buffer cells of the memory unit FB is controlled by a buffer control unit BM or »buffer management «.
- a queue control unit QMU or "Queue Management Unit” controls a data transfer between the data ports P1, P2, P3, P4 and the memory unit FB.
- the queue ⁇ control unit QMU arranges the data packets to be switched in the appropriate queue. In outgoing direction takes a - not shown - scheduler device of the queue control unit QMU the data packets from the queue and transfers them to the respective outgoing ⁇ the data port P1, P2, P3, P4 of the network node device.
- the queue control unit QMU takes in an extended ⁇ staltung the network node device for a safety-critical applications continue the task, to take over based on a determined from the data packet priority class assignment of the data packet to a queue, the Puf ⁇ precursor cells already contain other data packets of this priority class or - in the event that there is no queue yet, their buffer cells already have data packets of this
- the queue control unit QMU assumes a determination of the queue membership based on the priority class.
- a conversion unit LU or "Look Up Engine” is used to handle a MAC address when deciding to which data ports a data packet is to be forwarded.
- a central switching unit SE or "switch engine” forms the central core of the network node device, via the data packet between the respective functional input port P1, P2, P3, P4 are transferred to or to the respective functional output ports P1, P2, P3, P4.
- the Vunsein ⁇ ness SE can next to a real "switching fabric” - in other words a "fabric” for the formation of cross-links - including optional functions which have been described above in separate functional units.
- Fig. 2 shows a cell organization in a memory unit for buffering data packets according to the prior art.
- the memory unit FB known from FIG. 1 is referred to below as the first memory unit FBI.
- each of the two dargestell ⁇ th data ports P1, P2 are each assigned a plurality of queues FrameQueue_l, ... FrameQueuelO.
- a waiting ⁇ snake the data packet are stored which have been received at a respective data port P1, P2.
- a respective buffer cell FrameBufferCell_l, ... FrameBufferCell_n is provided for sequentially progressively recording a respective data packet within a respective queue FrameQueue_l,.
- a priority class assigned to the data packet For the data packets to be buffered, membership in a queue is determined according to a priority class assigned to the data packet.
- a first memory unit FBI is shown, which is provided for processing up to ten priority classes, wherein one of a total of ten queues FrameQueue_l, ... FrameQueuelO is provided for each priority class.
- a associated with the jewei ⁇ time data packet priority class determined depending according to criticality of one of the underlying chroori- tetiert communicating application - ie in a vehicle, for example, steering, braking system, navigation, infotainment, etc. - about whether the communication of this application to other applications preferred or subordinate forward.
- the depth of a queue so the maximum expected ⁇ and the buffering data packets per queue is largely determined by the duration of one application cycle as well as during an application cycle maximum expect ⁇ tend dataset.
- FrameBufferCell_l ... must FrameBufferCell_n within a queue FrameQueue_l, ... FrameQueuelO for receiving data packets with high priority class to be large enough to accommodate the maximum expected amount of data during a Applikati ⁇ onszyklus. This requirement applies in particular to data packets which are to be replaced with an application of high Prio ⁇ rticianst to ensure even in overload situations reliable operation of the network node device without packet loss.
- the priority class within the Netzkno ⁇ ten driving is - at least not tenden for buffering DA - not evaluated in such a way that at this
- the priority class is only about the categories ei ⁇ ne temporarily reserved for this priority class War ⁇ tesch long intended to buffer data packets of each priority class sequentially in a particular queue. However, since at this point there is no assessment of the priority class, is to avoid briver- losses at a buffering of data packets for all queues, even for the lowest priority class, so the maximum expected and puf ⁇ fernden data packets the maximum depth, which should also be provided for the highest priority class queue.
- General ⁇ my can or should be done in advance no provision into which the queue for buffering traffic ⁇ assigns inserted.
- a vehicle For purposes of illustration, reference will again be made to a vehicle as an example of a safety-critical overall system.
- the braking system would be assigned a highest priority class, while an infotainment system would occupy a much lower priority class.
- the data packet-oriented communication with the brake system according to the above is so safety-critical that packet losses are intolerable, packet losses in an infotainment system without greater safety-critical concerns should be acceptable.
- the maximum depth of the queue is reserved, which is also to be provided for the queues with the highest priority class.
- Fig. 3 shows a schematic representation of a cell Orga ⁇ tion in a first storage unit FBI according to the prior art buffering a plurality of data packets FrameBufferCell_l, ... FrameBufferCell_n in a respective queue FrameQueue_l, ... FrameQueuel 0. From are overview establish ⁇ only the ten queues associated with the first data port PI, FrameQueue_l, ..., FrameQueuelO of the first memory unit FBI are shown.
- the figure illustrates this example ei ⁇ nen time at the end of the application cycle in which only some buffer cells framebuffer Cell 1, ... FrameBufferCell_n a respective queue FrameQueue_l, ... FrameQueuelO are occupied.
- FrameBufferCell_2 shows in Vorliegeenden example, only one-tenth of security reasons always kept available space is occupied, while nine-tenths of the storage ⁇ space must be reserved unnecessarily. In future automobiles further large amounts of data for an environment detection and advanced infotainment fall, so that the maximum expected amount of data during an application cycle is likely to increase, the number n of Puf ⁇ precursor cells FrameBufferCell_l ... FrameBufferCell_n within a queue FrameQueue_l .. FrameQueuelO will be even bigger to size.
- bursty traffic due to the cyclical processing of applications.
- Bursty Traffic means irregular data traffic with occasionally high data volumes. This type of data traffic also leads to an increase in the maximum amount of data to be buffered during an application cycle.
- the object of the invention is also to take measures other than the one despite an increase in the maximum amount of data to be expected during an application cycle Number of buffer cells FrameBufferCell_l, ... FrameBufferCell_n within a queue FrameQueue_l, ... FrameQueuelO, thus keeping or even reducing the space required to buffer the data packets.
- FIG. 4 shows an illustration of the further development of a cell organization in a memory unit according to the invention for buffering data packets.
- an additional second memory unit FB2 which is at least one data port zugordnet, a plurality of addressable buffer cells
- PointerBufferCell_l ... PointerBufferCell_n.
- the second memory unit ⁇ FB2 is all data ports P1, P2, associated with P3, P4, although 4 are shown for reasons of clarity only two data ports P1, P2 in Fig..
- a pointer Ptr_l, Ptr_n FrameBufferCell_n is in the ⁇ ers th memory unit FBI then the cached address of the addressable PUF ferzelle FrameBufferCell_l ... stored.
- PointerBufferCell_n stored within the queued queue of the first memory unit FBI.
- the first memory unit FBI thus further ensures a sequence of data packets in the order of their arrival within the queue, but - by means of a pointer - by a reference to the second memory unit FB2.
- the pointer Ptr_l, Ptr_n now only contains the address of the addressable buffer cell, while the data packet itself is stored in an addressable buffer cell of the second memory unit FB2, wherein the pointer Ptr_l, Ptr_n to the address of the addressable buffer cells
- FrameBufferCell_l ... FrameBufferCell_n of the second memory unit FB2.
- a length of a few bytes suffices for the pointer Ptr_l, Ptr_n.
- a realistic length of 2 bytes for a pointer Ptr_l, Ptr_n would result in a memory requirement of the first memory unit FBI of approximately 145 kB per data port P1, P2, P3, P4 instead of a memory requirement of 1.25 required in the prior art MB per data port P1, P2, P3, P4.
- Fig. 5 is shown to that shown in Fig. 3 situation in an analogous manner, were a plurality of data packets in buffer cells FrameBufferCell_l, ... FrameBufferCell_n, this time in the two ⁇ th memory unit FB2 buffered at the end of a Applikati ⁇ onszyklus, ,
- PointerBufferCell_l ... PointerBufferCell_n of the first memory unit FBI, but not with the
- a network node device suitable for safety-critical use in which a memory space necessary for buffering the data packets is reduced.
- the data packets are stored in a second memory unit FB2, which is assigned to at least one, ideally several or even all data ports P1, P2, P3, P4 of the network node device. Since in a security-relevant network node device with the support of several priority classes can not be predicted how many data packets must be buffered in which queue of the same priority class or "priority queue" remain in the art according to the situation shown in FIG. 3, large parts of for a queue FrameQueue_l, ... FrameQueuelO held buffer ⁇ cells FrameBufferCell_l, ...
- FrameBufferCell_n the first memory unit FBI unused. Therefore, in the prior art all queues FrameQueue_l, ... FrameQueueO of the first memory unit FBI must be dimensioned so large that they can accommodate the entire data volume or »traffic « within an application cycle. As a result, only one queue is used in summary, all others remain empty.
- the second memory FB2 assigned to all data ports P1, P2, P3, P4 has a storage capacity which corresponds exactly to the total data volume occurring at all data ports P1, P2, P3, P4 within one application cycle equivalent.
- the buffer cells PointerBufferCell 1, ... PointerBufferCell n provided for receiving the pointers Ptr_l, Ptr_n Wartenden PointerQueue_l, ... PointerQueuel 0 the first memory unit FBI are occupied, as in the state of Tech ⁇ nik provided for receiving the data packets Pufferzel ⁇ len FrameBufferCell_l, ... FrameBufferCell_n in the queues FrameQueue_l, ... FrameQueuelO the first memory unit FBI, ie summarily only one queue is used, all others remain empty. Since for the deposit of a pointer Ptr_l, Ptr_n but a considerably smaller dimensioning of the buffer cells PointerBufferCell_l, ...
- PointerBufferCell_n the first storage unit FBI requires as the larger in the art to be dimensioned buffer cells FrameBufferCell_l, ... FrameBufferCell_n for pa ⁇ kete, for example 2 bytes instead of 128 bytes, a sig ⁇ nifikanter proportion of the total storage space required can be saved.
- the inventively additionally provided second memory unit FB2 does not change the overall balance of the total required memory space, since the sum of the storage capacity of first and second memory unit FB1, FB2 according to the invention is not known in the prior art first memory unit FBI for buffering
- the saving of the total benötig ⁇ th memory footprint has a positive effect on the cost of an ASIC and especially a FPGA-based imple ⁇ tion of the network node device.
- the present invention proceeds from a network node device or switch in which an intermediate storage of received data packets is known.
- the data packets were buffered in the prior art in a first memory unit.
- This first storage unit is divided into queues and queues, wherein a waiting ⁇ snake having a plurality of buffer cells with usually equal to ⁇ holding capacity. Since no data packet losses can be tolerated for a security-critical deployment of the network node device, the queues or queues in known switches are usually oversized. It is provided according to the invention to provide an additional second memory unit, each assigned to at least one data port, with a plurality of addressable buffer cells.
- a queue belonging to a buffering pa ⁇ kets is detected and supplied to have a free addressable buffer cell in the second storage unit. Instead of the data packet, a pointer to an address of the addressable buffer cell in the next free buffer cell of the first memory unit is now stored in the first memory unit. Although this first memory unit is occupied by the deposit of the pointer similar fragmentary as in the prior art by the deposit with data packets. However, since the pointers require a significantly smaller storage space for the buffer cells than the buffer cells for data packets, a significant portion of the required storage space can be saved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to a network node device or switch, in which intermediate storage of received data is known. In prior art, the data packets are buffered in a first memory unit. Said first memory unit is divided into queues, one queue comprising a plurality of buffer cells with generally the same receiving capacity. As any loss of data packets cannot be tolerated for a security-critical use of the network node device, the queues are mostly overdimensioned in known switches. According to the invention, an additional second memory unit respectively associated with at least one data port is provided with a plurality of adressable buffer cells. The association of a data packet to be buffered to a queue is detected and the data packet allocated to a free addressable buffer cell in the second memory unit. In the first memory unit, instead of the data packet, a pointer to an address of the addressable buffer cell is recorded in the next free buffer cell of the first memory unit. Said first memory unit is used by recording the pointer in a similarly fragmentary manner to that of the prior art recording with data packets. As the pointer however requires a considerably smaller storage space for the buffer cells than the buffer cells for data packets, for example 2 instead of 128 bytes, a significant portion of the required storage space is saved.
Description
Beschreibung description
Netzknoteneinrichtung und Verfahren zur Vermittlung von Daten Die vorliegende Erfindung betrifft eine Netzknoteneinrichtung eingerichtet zur Entgegennahme, Vermittlung und Weiterleitung von Daten an einer Mehrzahl von Datenports. Die erfindungsge¬ mäße Netzknoteneinrichtung ist vorzugsweise für einen sicherheitskritischen Einsatz ausgelegt. Die vorliegende Erfindung betrifft des Weiteren eine Netzwerkeinrichtung und eine Netzwerkanordnung für einen sicherheitskritischen Einsatz sowie ein Verfahren zur Vermittlung von Daten. Network Node Device and Method for Switching Data The present invention relates to a network node device configured for receiving, switching and forwarding data at a plurality of data ports. The erfindungsge ¬ Permitted network node device is preferably designed for a safety-critical application. The present invention further relates to a network device and a network arrangement for a safety-critical use and to a method for switching data.
Datenpaketorientierte Netzwerke finden eine zunehmende Anwen- dung zum Messen, Steuern und Regeln komplexer technischerData packet-oriented networks are finding an increasing application for measuring, controlling and regulating complex technical
Systeme. Beispielsweise werden zunehmend Netzwerke in Kraft¬ fahrzeugen eingesetzt, um Fahrzeugsteuerungssysteme auszubil¬ den. In entsprechenden komplexen und sicherheitskritischen technischen Systemen werden hohe Anforderungen an die Verfüg- barkeit der Steuerungskomponenten und der Netzknoteneinrichtungen gestellt. Besonders sicherheitskritisch sind sogenannte Drive-by-Wire-Systeme, z.B. Steer-by-Wire-Systeme, bei de¬ nen über eine Netzwerkkopplung von Sensor-, Steuer- und Systems. For example, networks are increasingly being used in motor vehicles ¬ to vehicle control systems trainees ¬. In corresponding complex and safety-critical technical systems, high demands are placed on the availability of the control components and the network node devices. Particularly safety-critical are so-called drive-by-wire systems, such as steer-by-wire systems, de ¬ nen via a network coupling of sensor, control and
Aktoreinrichtungen eine Lenkradstellung elektromotorisch in eine Radposition umgesetzt wird. Actuators a steering wheel position is converted by an electric motor into a wheel position.
Eine Abkehr von einer klassischen Busstruktur hin zu einem datenpaketorientierten Netzwerk in einem Fahrzeugsteuerungssystem stellt eine Auslegung von Netzknoteneinrichtungen vor erhöhte Anforderungen. Das Netzwerk kann beispielsweise durch hohe Datenraten belastet werden, so dass wichtige Steuer¬ oder Sensordaten nicht mehr zwischen den Netzknoteneinrichtungen ausgetauscht werden können. Es ist also notwendig, solche Lastsituationen in sicherheitskritischen Gesamtsyste- men zu berücksichtigen, um einen zuverlässigen Betrieb der Netzknoteneinrichtungen im Netzwerk zu gewährleisten.
Die Anmelderin hat hierzu in der Deutschen Patentschrift DE102012000188B4 bereits eine Lehre vorgeschlagen, gemäß der mit einem insbesondere für eine Ethernet-Kommunikation ausgestalteten Netzwerk eine ringförmige Kopplung von Netzwerkein- richtungen erfolgt. Eine redundante Ausführung der Netzwerkeinrichtung mit gedoppelten Netzknoten- und Steuereinrichtungen in der jeweiligen Netzwerkeinrichtung bietet einen sicheren und zuverlässigen Datentransport im Netzwerk. Die Netzknoteneinrichtung, in der Fachwelt auch als Switch- Einrichtung bekannt, ist eingerichtet zur Entgegennahme, Ver¬ mittlung und Weiterleitung von Datenpaketen, welche bidirektional über einer Mehrzahl von Datenports der Netzknoteneinrichtung mit Netzwerkeinrichtungen oder Steuereinrichtungen ausgetauscht werden. In zeitgemäßen Netzknoteneinrichtungen sind ein- und ausgehende Datenports üblicherweise in einem fallweise bidirektionalen Datenport kombiniert. A move away from a traditional bus structure towards a data packet oriented network in a vehicle control system places increased demands on network node devices. The network can be loaded for example by high data rates, so that important control ¬ or sensor data can not be exchanged between the network node devices. It is therefore necessary to consider such load situations in safety-critical overall systems in order to ensure reliable operation of the network node devices in the network. For this purpose, the applicant has already proposed a teaching in the German patent specification DE102012000188B4, according to which an annular network of network devices takes place with a network designed in particular for Ethernet communication. A redundant implementation of the network device with duplicated network node and control devices in the respective network device provides secure and reliable data transport in the network. The network node device, known in the art as Switch device, adapted for receiving, Ver ¬ mediation and routing of data packets, which are exchanged bi-directionally over a plurality of data ports of the network node device with network devices or control devices. In modern network node devices, incoming and outgoing data ports are usually combined in a case-by-case bidirectional data port.
Allgemein ist in Netzknoteneinrichtungen eine Zwischenspei- cherung von entgegengenommenen Datenpaketen erforderlich, bis eine Vermittlung und Weiterleitung an die jeweiligen ausgehenden Datenports erfolgt. Eingehende Datenpakete werden in Pufferzellen mit vorwiegend fester Größe gepuffert. Eine Speichereinheit umfasst mehrere Warteschlangen bzw. Queues, wobei eine Warteschlange mehrere Pufferzellen umfasst. Bis zu einer bestimmten Größe eines Datenpakets ist vorgesehen, pro Pufferzelle ein Datenpaket zu puffern. Übersteigt die Größe des zu puffernden Datenpakets die Größe einer Pufferzelle, wird das zu puffernde Datenpaket auf mehrere Pufferzellen aufgeteilt. Alternativ ist auch eine Pufferung ausgehender Datenpaketen in entsprechender Gegenrichtung bekannt. In general, in network node devices an intermediate storage of received data packets is required until a transfer and forwarding to the respective outgoing data ports takes place. Incoming data packets are buffered in buffer cells of predominantly fixed size. A storage unit comprises a plurality of queues, wherein one queue comprises a plurality of buffer cells. Up to a certain size of a data packet is provided to buffer a data packet per buffer cell. If the size of the data packet to be buffered exceeds the size of a buffer cell, the data packet to be buffered is divided into several buffer cells. Alternatively, buffering of outgoing data packets in the corresponding opposite direction is also known.
Weiterhin ist in sicherheitskritischen Netzwerken bzw. Gesamtsystemen eine Priorisierung von Datenpaketen vorteilhaft. Gemäß dieser Priorisierung werden Datenpakete, die zwischen der Netzknoteneinrichtung und einer Steuereinrichtung ausgetauscht werden, mit einer höheren Prioritätsklasse versehen als Datenpakete, die mit Netzwerkeinrichtungen ausgetauscht
werden. Erstere Datenpakete werden meistens über einen »in¬ ternen« Datenport ausgetauscht, welcher sich wie die Steuer¬ einrichtung und die Netzknoteneinrichtung auf einem gemeinsamen Mikroschaltkreis befinden. Der Mikroschaltkreis ist z.B. als SoC ( System-on-a-Chip) , FPGA (Field Programmable Gate Ar- ray) oder ASIC (Application Specific Integrated Circuit) gestaltet. Dagegen werden die letztgenannten Datenpakete mit niedrigerer Prioritätsklasse üblicherweise über einen »exter¬ nen« Datenport mit Netzwerkeinrichtungen im Netzwerk ausge- tauscht. Weitere Prioritätsklassen können je nach Kritikali- tät der zugrundeliegenden Anwendung - also beispielsweise Lenkung, Bremssystem, Navigation, Infotainment etc. - vorgesehen sein. Eine steigende Anzahl an benötigten Datenports führt dazu, dass die zur Pufferung der Datenpakete vorgesehene Speicher¬ einheit erheblich größer dimensioniert werden muss. Die Not¬ wendigkeit einer größeren Dimensionierung der zur Pufferung der Datenpakete vorgesehenen Speichereinheit wird zusätzlich erhöht im Fall einer Netzknoteneinrichtung, welche für ein sicherheitskritisches Gesamtsystem ausgelegt ist und bei der für verschiedene Prioritätsklassen verschiedene Warteschlangen zur Pufferung der Datenpakete vorgesehen sind. Des Weiteren können bei Netzknoteneinrichtungen, welche für ein sicherheitskritisches Gesamtsystem ausgelegt sind, keine Datenpaketverluste toleriert werden. Diese Forderung unter¬ scheidet die hier in Rede stehende Netzknoteneinrichtung von Netzknoteneinrichtungen für datentechnischen Büroeinsatz, für welche Datenpaketverluste durchaus, zumindest vorübergehend, tolerierbar sind. Furthermore, a prioritization of data packets is advantageous in safety-critical networks or overall systems. According to this prioritization, data packets exchanged between the network node device and a controller are provided with a higher priority class than data packets exchanged with network devices become. The first data packets are usually exchanged via an "in ¬ ternal" data port, which are like the control ¬ device and the network node device on a common microcircuit. The microcircuit is designed eg as SoC (system-on-a-chip), FPGA (field programmable gate array) or ASIC (application specific integrated circuit). In contrast, the latter data packets with lower priority class will be a "exter ¬ nen" data port communicates with network devices on the network excluded. Further priority classes can be provided depending on the criticality of the underlying application - that is, for example, steering, brake system, navigation, infotainment, etc. An increasing number of required data ports leads to the envisaged for buffering the data packets ¬ memory unit must be sized considerably larger. The emergency ¬ necessity of a greater dimensioning of the provided for buffering the data packets storage unit is additionally increased in the case of a network node device which is designed for a safety-critical system as a whole and are provided in different for different priority classes queue for buffering the data packets. Furthermore, no data packet losses can be tolerated in network node devices which are designed for a safety-critical overall system. This requirement under ¬ divides the one in question network node device of network node devices for data-technical office use for which packet loss entirely, at least temporarily, be tolerated.
Bei einer Realisierung der Netzknoteneinrichtung in ASIC- und insbesondere in FPGA-Komponenten führt eine größer dimensio- nierte Speichereinheit zu einer wesentlichen Steigerung derIn a realization of the network node device in ASIC and in particular in FPGA components leads a larger-sized memory unit to a significant increase in
Komponentenkosten. Kostengünstigere, externe Speicherbaustei¬ ne kommen indes wegen einer geringeren Performanz des erreichbaren Datendurchsatzes nicht in Frage.
Aufgabe der Erfindung ist es daher, eine insbesondere für ei¬ nen sicherheitskritischen Einsatz geeignete Netzknoteneinrichtung zu schaffen, bei der ein zur Pufferung der Datenpa- kete notwendiger Speicherplatz gegenüber bekannten Netzknoteneinrichtungen reduziert ist. Component costs. Lower cost, external Speicherbaustei ¬ ne, however, does not come into question because of a lower performance of the achievable data throughput. The object of the invention is therefore to provide a suitable in particular for safety-critical applications ei ¬ NEN network node device, wherein a kete for buffering the Datenpa- necessary storage space compared to known network node devices is reduced.
Die Aufgabe wird erfindungsgemäß durch eine Netzknotenein¬ richtung mit den Merkmalen des Patentanspruchs 1 gelöst. The object is achieved by a Netzknotenein ¬ direction with the features of claim 1.
Eine gattungsgemäße Netzknoteneinrichtung, welche zur Entge¬ gennahme, Vermittlung und Weiterleitung von Daten an einer Mehrzahl von Datenports eingerichtet ist, umfasst Datenports für eine bidirektionale Verbindung mit Netzknoten oder Re- cheneinrichtungen eines Netzwerks. An einem Datenport eintreffende Datenpakete werden vor deren Weiterleitung zur Pufferung vorgesehen. Dabei ist jedem Datenport eine erste Spei¬ chereinheit zugeordnet, welche eine Mehrzahl an Warteschlan¬ gen umfasst, wobei jede Warteschlange eine Mehrzahl an Puf- ferzellen enthält. A generic network node device which is adapted to Entge ¬ gennahme, switching and routing of data to a plurality of data ports comprises data ports for bidirectional communication with network nodes or re cheneinrichtungen a network. Data packets arriving at a data port are provided for buffering before being forwarded. In this case, each data port is assigned a first SpeI ¬ chereinheit which comprises a plurality of waiting Schlan ¬ gene, wherein each queue contains a plurality of precursor cells PUF.
Gemäß der erfindungsgemäßen Weiterbildung dieser Netzknoteneinrichtung, insbesondere für einen sicherheitskritischen Einsatz, ist vorgesehen, mindestens einem Datenport eine je- weils zugeordnete zweite Speichereinheit mit einer Mehrzahl adressierbarer Pufferzellen zuzuordnen. Weiterhin ist eine Puffersteuerungseinheit vorgesehen, welche zur Erfassung ei¬ ner Warteschlangenzugehörigkeit eines zu puffernden Datenpa¬ kets, zur Zuweisung an eine freie adressierbare Pufferzelle in der zweiten Speichereinheit und zur Hinterlegung eines Zeigers auf eine Adresse der adressierbaren Pufferzelle in einer nächsten freien Pufferzelle innerhalb der durch die Warteschlangenzugehörigkeit bestimmten Warteschlange der ers¬ ten Speichereinheit ausgebildet ist. According to the development of this network node device according to the invention, in particular for a safety-critical application, provision is made for assigning at least one data port to a respectively assigned second memory unit having a plurality of addressable buffer cells. Furthermore, a buffer control unit is provided, which for detecting ei ¬ ner queue affiliation of a buffered Datenpa ¬ kets, for assignment to a free addressable buffer cell in the second memory unit and for depositing a pointer to an address of the addressable buffer cell in a next free buffer cell within the the queues belonging particular queue is formed of ers ¬ th memory unit.
Die Aufgabe wird des Weiteren durch eine erfindungsgemäße Netzwerkeinrichtung mit den Merkmalen des Patentanspruchs 6, durch eine erfindungsgemäße Netzwerkanordnung mit den Merkma-
len des Patentanspruchs 7, durch ein erfindungsgemäßes Ver¬ fahren mit den Merkmalen des Patentanspruchs 9 sowie durch ein erfindungsgemäßes Computerprogrammprodukt mit Mitteln zur Durchführung des Verfahrens gelöst. The object is further achieved by a network device according to the invention having the features of patent claim 6, by a network arrangement according to the invention with the characteristics len of claim 7, solved by an inventive Ver ¬ drive with the features of claim 9 and by an inventive computer program product with means for performing the method.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche. Further advantageous embodiments of the invention are the subject of the dependent claims.
Im Folgenden werden weitere Ausführungsbeispiele und Vorteile der Erfindung anhand der Zeichnung näher erläutert. Dabei zeigen : eine schematische Darstellung einer Netzknoteneinrichtung gemäß dem Stand der Technik; eine schematische Darstellung einer Zellenorganisa tion in einer Speichereinheit zur Pufferung von Da tenpaketen gemäß dem Stand der Technik; eine schematische Darstellung einer Zellenorganisa tion in einer Speichereinheit gemäß dem Stand der Technik mit Pufferung einer Mehrzahl von Datenpake ten; Fig. 4: eine schematische Darstellung einer Zellenorganisa¬ tion in einer erfindungsgemäßen Speichereinheit zur Pufferung von Datenpaketen; und In the following, further embodiments and advantages of the invention will be explained in more detail with reference to the drawing. 1 shows a schematic representation of a network node device according to the prior art; a schematic representation of a cell organization tion in a memory unit for buffering data packets according to the prior art; a schematic representation of a cell organization tion in a memory unit according to the prior art with buffering of a plurality of Datenpake th; Figure 4 is a schematic representation of an organization of cells ¬ tion in an inventive memory unit for buffering data packets;. and
Fig. 5: eine schematische Darstellung eine Zellenorganisa- tion in einer erfindungsgemäßen Speichereinheit mit5: a schematic representation of a cell organization in a storage unit according to the invention with
Pufferung einer Mehrzahl von Datenpaketen. Buffering of a plurality of data packets.
Fig. 1 zeigt eine gattungsgemäß bekannte Netzknoteneinrich¬ tung gemäß dem Stand der Technik. Einer oder mehrere Datenports P1,P2,P3,P4 bilden bidirektionale Schnittstellen zum Austausch von Datenpaketen, welche in einer Speichereinheit FB bzw. »Frame Buffer« FB gepuffert werden.
Die Speichereinheit FB ist in Warteschlangen bzw. »Queues« organisiert, wobei eine Warteschlange mehrere Pufferzellen mit üblicherweise gleicher Aufnahmekapazität zur Aufnahme mehrerer Datenpakete umfasst. Die Belegung der Pufferzellen der Speichereinheit FB wird von einem Puffersteuerungseinheit BM bzw. »Buffer Management« gesteuert. Fig. 1 shows a generic known Netzknoteneinrich ¬ device according to the prior art. One or more data ports P1, P2, P3, P4 form bidirectional interfaces for the exchange of data packets which are buffered in a memory unit FB or "frame buffer" FB. The memory unit FB is organized in queues, wherein a queue comprises a plurality of buffer cells with usually identical recording capacity for receiving a plurality of data packets. The occupancy of the buffer cells of the memory unit FB is controlled by a buffer control unit BM or »buffer management«.
Eine Warteschlangesteuereinheit QMU bzw. »Queue Management Unit« steuert einen Datentransfer zwischen den Datenports P1,P2,P3,P4 und der Speichereinheit FB. Die Warteschlange¬ steuereinheit QMU ordnet die zu vermittelnden Datenpakete in die entsprechende Warteschlange ein. In ausgehender Richtung entnimmt eine - nicht dargestellte - Scheduler-Einrichtung der Warteschlangesteuereinheit QMU die Datenpakete aus der Warteschlange und übergibt diese an den jeweiligen ausgehen¬ den Datenport P1,P2,P3,P4 der Netzknoteneinrichtung. A queue control unit QMU or "Queue Management Unit" controls a data transfer between the data ports P1, P2, P3, P4 and the memory unit FB. The queue ¬ control unit QMU arranges the data packets to be switched in the appropriate queue. In outgoing direction takes a - not shown - scheduler device of the queue control unit QMU the data packets from the queue and transfers them to the respective outgoing ¬ the data port P1, P2, P3, P4 of the network node device.
Die Warteschlangesteuereinheit QMU übernimmt in einer Ausge¬ staltung der Netzknoteneinrichtung für einen sicherheitskri- tischen Einsatz weiterhin die Aufgabe, anhand einer aus dem Datenpaket ermittelten Prioritätsklasse eine Zuordnung des Datenpakets zu einer Warteschlange zu übernehmen, deren Puf¬ ferzellen bereits andere Datenpakete dieser Prioritätsklasse enthalten oder - für den Fall, dass noch keine Warteschlange existiert, deren Pufferzellen bereits Datenpakete dieserThe queue control unit QMU takes in an extended ¬ staltung the network node device for a safety-critical applications continue the task, to take over based on a determined from the data packet priority class assignment of the data packet to a queue, the Puf ¬ precursor cells already contain other data packets of this priority class or - in the event that there is no queue yet, their buffer cells already have data packets of this
Prioritätsklasse enthalten - eine noch leere Warteschlange zur Pufferung des Datenpakets für diese Prioritätsklasse neu belegt wird. Die Warteschlangesteuereinheit QMU übernimmt mit anderen Worten eine Bestimmung der Warteschlangenzugehörig- keit anhand der Prioritätsklasse. Contain a priority class - an empty queue is buffered for buffering the data packet for this priority class. In other words, the queue control unit QMU assumes a determination of the queue membership based on the priority class.
Eine Umsetzungseinheit LU bzw. »Look Up Engine« dient einer Behandlung einer MAC-Adresse bei einer Entscheidung, an welche Datenports ein Datenpaket weiterzuleiten ist. A conversion unit LU or "Look Up Engine" is used to handle a MAC address when deciding to which data ports a data packet is to be forwarded.
Eine zentrale Vermittlungseinheit SE bzw. »Switch Engine« bildet den zentralen Kern der Netzknoteneinrichtung, über die Datenpaket zwischen dem jeweiligen funktionalen Eingangsport
P1,P2,P3,P4 zum oder zu den jeweiligen funktionalen Ausgangsports P1,P2,P3,P4 transferiert werden. Die Vermittlungsein¬ heit SE kann neben einem eigentlichen »Switching Fabric« - also einem »Gewebe« zur Ausbildung von Quervernetzungen - optional auch Funktionen beinhalten, welche oben in separaten Funktionseinheiten beschrieben wurden. A central switching unit SE or "switch engine" forms the central core of the network node device, via the data packet between the respective functional input port P1, P2, P3, P4 are transferred to or to the respective functional output ports P1, P2, P3, P4. The Vermittlungsein ¬ ness SE can next to a real "switching fabric" - in other words a "fabric" for the formation of cross-links - including optional functions which have been described above in separate functional units.
Die obige Darstellung anhand einzelner Funktionseinheiten ist nicht konstituierend zu verstehen und dient lediglich einer kurzen Funktionsdarstellung einer beispielshaften Netzknoteneinrichtung anhand einer beispielhaften Komponentenaufteilung. Eine Trennung und Zuweisung von Aufgaben zu einzelnen Funktionseinheiten wird sich je nach Systemdesign unterscheiden, ohne dass dies auf die im Folgenden erläuterte Pufferung von Datenpaketen in einer Speichereinheit Auswirkungen hätte. The above representation based on individual functional units is not to be understood as constituting and merely serves for a brief functional representation of an exemplary network node device on the basis of an exemplary component distribution. Separation and assignment of tasks to individual functional units will differ depending on the system design, without this having an effect on the buffering of data packets in a storage unit explained below.
Fig. 2 zeigt eine Zellenorganisation in einer Speichereinheit zur Pufferung von Datenpaketen gemäß dem Stand der Technik. Auf die aus Fig. 1 bekannte Speichereinheit FB wird im Fol- genden als erste Speichereinheit FBI Bezug genommen. In der ersten Speichereinheit FBI sind jedem der beiden dargestell¬ ten Datenports P1,P2 jeweils eine Mehrzahl von Warteschlangen FrameQueue_l , ... FrameQueuelO zugeordnet. In einer Warte¬ schlange werden die Datenpaket gespeichert, welche an einem jeweiligen Datenport P1,P2 empfangen wurden. Dabei ist zur sequentiell fortschreitenden Aufnahme eines jeweiligen Datenpakets innerhalb einer jeweiligen Warteschlange FrameQueue_l , ... FrameQueuelO eine jeweilige Pufferzelle FrameBufferCell_l , ... FrameBufferCell_n vorgesehen. Fig. 2 shows a cell organization in a memory unit for buffering data packets according to the prior art. The memory unit FB known from FIG. 1 is referred to below as the first memory unit FBI. In the first memory unit FBI, each of the two dargestell ¬ th data ports P1, P2 are each assigned a plurality of queues FrameQueue_l, ... FrameQueuelO. In a waiting ¬ snake the data packet are stored which have been received at a respective data port P1, P2. In this case, a respective buffer cell FrameBufferCell_l, ... FrameBufferCell_n is provided for sequentially progressively recording a respective data packet within a respective queue FrameQueue_l,.
Für die zu puffernden Datenpakete wird die Zugehörigkeit zu einer Warteschlange nach einer dem Datenpaket zugeordneten Prioritätsklasse bestimmt. Im Beispiel der Fig. 2 ist eine erste Speichereinheit FBI dargestellt, welche zur Bearbeitung von bis zu zehn Prioritätsklassen vorgesehen ist, wobei für jede Prioritätsklasse eine von insgesamt zehn Warteschlangen FrameQueue_l , ... FrameQueuelO vorgesehen ist. Eine dem jewei¬ ligen Datenpaket zugeordnete Prioritätsklasse bestimmt je
nach Kritikalität einer der zugrundeliegenden datenpaketori- entiert kommunizierenden Anwendung - also in einem Fahrzeug beispielsweise Lenkung, Bremssystem, Navigation, Infotainment etc. - darüber, ob die Kommunikation dieser Anwendung gegen- über anderen Anwendungen bevorzugt oder nachrangig weiterzuleiten ist. For the data packets to be buffered, membership in a queue is determined according to a priority class assigned to the data packet. In the example of FIG. 2, a first memory unit FBI is shown, which is provided for processing up to ten priority classes, wherein one of a total of ten queues FrameQueue_l, ... FrameQueuelO is provided for each priority class. A associated with the jewei ¬ time data packet priority class determined depending according to criticality of one of the underlying Datenpaketori- tetiert communicating application - ie in a vehicle, for example, steering, braking system, navigation, infotainment, etc. - about whether the communication of this application to other applications preferred or subordinate forward.
Die Tiefe einer Warteschlange, also die maximal zu erwarten¬ den und zu puffernden Datenpakete pro Warteschlange, wird maßgeblich durch die Dauer eines Applikationszyklus sowie durch die während eines Applikationszyklus maximal zu erwar¬ tende Datenmenge bestimmt. Die Anzahl n an Pufferzellen The depth of a queue, so the maximum expected ¬ and the buffering data packets per queue is largely determined by the duration of one application cycle as well as during an application cycle maximum expect ¬ tend dataset. The number n of buffer cells
FrameBufferCell_l , ... FrameBufferCell_n muss innerhalb einer Warteschlange FrameQueue_l , ... FrameQueuelO zur Aufnahme von Datenpaketen mit hoher Prioritätsklasse groß genug sein, um die maximal zu erwartende Datenmenge während eines Applikati¬ onszyklus aufnehmen zu können. Diese Forderung gilt insbesondere für Datenpakete, welche mit einer Anwendung hoher Prio¬ ritätsklasse auszutauschen sind, um selbst in Lastsituationen einen zuverlässigen Betrieb der Netzknoteneinrichtung ohne Datenpaketverluste zu gewährleisten. FrameBufferCell_l, ... must FrameBufferCell_n within a queue FrameQueue_l, ... FrameQueuelO for receiving data packets with high priority class to be large enough to accommodate the maximum expected amount of data during a Applikati ¬ onszyklus. This requirement applies in particular to data packets which are to be replaced with an application of high Prio ¬ ritätsklasse to ensure even in overload situations reliable operation of the network node device without packet loss.
Allerdings wird die Prioritätsklasse innerhalb der Netzkno¬ teneinrichtung - zumindest nicht für die Pufferung von Da- tenpaketen - nicht dahingehend ausgewertet, dass an dieserHowever, the priority class within the Netzkno ¬ teneinrichtung is - at least not tenpaketen for buffering DA - not evaluated in such a way that at this
Stelle eine Gewichtung der Prioritätsklassen vorgenommen würde. Die Prioritätsklasse wird lediglich zur Einordnung in ei¬ ne für diese Prioritätsklasse vorübergehend reservierte War¬ teschlange bestimmt, um Datenpakete einer jeweiligen Priori- tätsklasse sequentiell in einer jeweiligen Warteschlange zu puffern. Da jedoch an dieser Stelle keine Bewertung der Prioritätsklasse erfolgt, ist zur Vermeidung von Datenpaketver- lusten bei einer Pufferung von Datenpaketen für alle Warteschlangen, auch für die mit niedrigster Prioritätsklasse, die maximale Tiefe, also die maximal zu erwartenden und zu puf¬ fernden Datenpakete, vorzuhalten, die auch für die Warteschlange mit höchster Prioritätsklasse vorzusehen ist. Allge¬ mein kann oder soll im Vorhinein keine Bestimmung erfolgen,
in welche Warteschlange der zu puffernde Datenverkehr einge¬ ordnet wird. A weighting of the priority classes would be made. The priority class is only about the categories ei ¬ ne temporarily reserved for this priority class War ¬ tesch long intended to buffer data packets of each priority class sequentially in a particular queue. However, since at this point there is no assessment of the priority class, is to avoid Datenpaketver- losses at a buffering of data packets for all queues, even for the lowest priority class, so the maximum expected and puf ¬ fernden data packets the maximum depth, which should also be provided for the highest priority class queue. General ¬ my can or should be done in advance no provision into which the queue for buffering traffic ¬ assigns inserted.
Besonders relevant wird dieses Problem in sicherheitskriti- sehen Anwendungen, in denen sich ein Verlust von Datenpaketen durch überlaufende Puffer auf die Sicherheit des Gesamtsys¬ tems auswirken kann, insbesondere in »Fail Operational« Sys¬ temen wie etwa Steer-by-Wire im Automobil. Ein Datenpaketver- lust ist in Netzknoteneinrichtungen für einen sicherheitskri- tischen Einsatz unbedingt zu vermeiden. Particularly relevant this problem is seen in safetycritical applications where a loss of data packets may be affected by overflowing buffers on the safety of Gesamtsys ¬ tems, especially in "Fail Operational" Sys ¬ temen such as steer-by-wire in automobiles. A data packet loss must be absolutely avoided in network node devices for security-critical use.
Zur Illustrierung wird erneut auf ein Fahrzeug als Beispiel eines sicherheitskritischen Gesamtsystems Bezug genommen. In einem Fahrzeug würde man dem Bremssystem eine höchste Priori- tätsklasse zuordnen, während ein Infotainmentsystem eine wesentlich niedrigere Prioritätsklasse einnehmen würde. Während die datenpaketorientierte Kommunikation mit dem Bremssystem nach dem oben gesagten so sicherheitskritisch ist, dass Paketverluste nicht tolerierbar sind, dürften Paketverluste bei einem Infotainmentsystem ohne größere sicherheitskritische Bedenken hinnehmbar sein. Allerdings ist auch für derartig niedrigpriore Datenpakete zur Kommunikation mit dem Infota- inmentsystem in der ersten Speichereinheit FBI die maximale Tiefe der Warteschlange reserviert, die auch für die Warte- schlänge mit höchster Prioritätsklasse vorzusehen ist. For purposes of illustration, reference will again be made to a vehicle as an example of a safety-critical overall system. In a vehicle, the braking system would be assigned a highest priority class, while an infotainment system would occupy a much lower priority class. While the data packet-oriented communication with the brake system according to the above is so safety-critical that packet losses are intolerable, packet losses in an infotainment system without greater safety-critical concerns should be acceptable. However, even for such low-priority data packets for communication with the information-in-system in the first memory unit FBI, the maximum depth of the queue is reserved, which is also to be provided for the queues with the highest priority class.
Fig. 3 zeigt eine schematische Darstellung einer Zellenorga¬ nisation in einer ersten Speichereinheit FBI gemäß dem Stand der Technik mit Pufferung einer Mehrzahl von Datenpaketen FrameBufferCell_l , ... FrameBufferCell_n in einer jeweiligen Warteschlange FrameQueue_l , ... FrameQueuel 0. Aus Übersichts¬ gründen sind lediglich die zehn dem ersten Datenport PI zugeordneten Warteschlangen FrameQueue_l , ... FrameQueuelO der ersten Speichereinheit FBI dargestellt. Fig. 3 shows a schematic representation of a cell Orga ¬ tion in a first storage unit FBI according to the prior art buffering a plurality of data packets FrameBufferCell_l, ... FrameBufferCell_n in a respective queue FrameQueue_l, ... FrameQueuel 0. From are overview establish ¬ only the ten queues associated with the first data port PI, FrameQueue_l, ..., FrameQueuelO of the first memory unit FBI are shown.
Die schematische Darstellung zeigt hierbei beispielsweise ei¬ nen Zeitpunkt zum Ende eines Applikationszyklus, bei der nur einige Pufferzellen FrameBufferCell 1 , ... FrameBufferCell_n
einer jeweiligen Warteschlange FrameQueue_l , ... FrameQueuelO belegt sind. Eine Belegung einer Pufferzelle The figure illustrates this example ei ¬ nen time at the end of the application cycle in which only some buffer cells framebuffer Cell 1, ... FrameBufferCell_n a respective queue FrameQueue_l, ... FrameQueuelO are occupied. An assignment of a buffer cell
FrameBufferCell_l , ... FrameBufferCell_n mit einem dort gepuf¬ ferten Datenpaket ist in der Zeichnung durch eine das jewei- lige Bezugszeichen der Pufferzelle FrameBufferCell_l , ... FrameBufferCell_l, ... with a FrameBufferCell_n there gepuf ¬ ferten data packet is in the drawing by a celled jewei- the reference numerals of the buffer cell FrameBufferCell_l, ...
FrameBufferCell_n überdeckende Schraffur dargestellt. FrameBufferCell_n masking hatching.
Bei der in Fig. 3 dargestellten Situation sind fünf Warteschlangen FrameQueue_l , FrameQueue_3 , FrameQueue_4 , Frame- Queue_6, FrameQueue7 völlig unbelegt. In drei Warteschlangen FrameQueue_2 , FrameQueue_8 , FrameQueue_l 0 ist lediglich eine jeweilige erste Pufferzelle FrameBufferCell_l belegt. Ledig¬ lich zwei Warteschlangen FrameQueue_5 , FrameQueue_9 sind mit mindestens zwei Pufferzellen FrameBufferCell_l , In the situation illustrated in FIG. 3, five queues FrameQueue_l, FrameQueue_3, FrameQueue_4, FrameQueue_6, FrameQueue7 are completely unoccupied. In three queues FrameQueue_2, FrameQueue_8, FrameQueue_l 0, only one respective first buffer cell FrameBufferCell_l is occupied. Single ¬ Lich two queues FrameQueue_5, FrameQueue_9 are at least two buffer cells FrameBufferCell_l,
FrameBufferCell_2 belegt, im Vorliegeenden Beispiel ist nur ein Zehntel des aus Sicherheitsgründen stets vorzuhaltenden Speicherplatzes belegt, während neun Zehntel des Speicher¬ platzes unnötig vorgehalten werden müssen. In zukünftigen Automobilen fallen des Weiteren hohe Datenmengen für eine Umfelderkennung und erweitertes Infotainment an, so dass die maximal zu erwartende Datenmenge während eines Applikationszyklus eher zunehmen wird, die Anzahl n an Puf¬ ferzellen FrameBufferCell_l , ... FrameBufferCell_n innerhalb einer Warteschlange FrameQueue_l , ... FrameQueuelO noch größer zu dimensionieren sein wird. FrameBufferCell_2 shows in Vorliegeenden example, only one-tenth of security reasons always kept available space is occupied, while nine-tenths of the storage ¬ space must be reserved unnecessarily. In future automobiles further large amounts of data for an environment detection and advanced infotainment fall, so that the maximum expected amount of data during an application cycle is likely to increase, the number n of Puf ¬ precursor cells FrameBufferCell_l ... FrameBufferCell_n within a queue FrameQueue_l .. FrameQueuelO will be even bigger to size.
Einen weiteren Einfluss verursacht sogenannter »Bursty Traf- fic« aufgrund der zyklischen Bearbeitung von Applikationen. Unter Bursty Traffic wird ein unregelmäßiger Datenverkehr mit fallweise hohem Datenaufkommen verstanden. Auch diese Art von Datenverkehr führt zu einer Erhöhung der maximal zu erwartenden zu puffernden Datenmenge während eines Applikationszyklus . A further influence is caused by so-called "bursty traffic" due to the cyclical processing of applications. Bursty Traffic means irregular data traffic with occasionally high data volumes. This type of data traffic also leads to an increase in the maximum amount of data to be buffered during an application cycle.
Die erfindungsgemäße Aufgabe besteht auch darin, trotz einer Erhöhung der maximal zu erwartenden Datenmenge während eines Applikationszyklus, andere Maßnahmen zu ergreifen, als die
Anzahl an Pufferzellen FrameBufferCell_l , ... FrameBufferCell_n innerhalb einer Warteschlange FrameQueue_l , ... FrameQueuelO zu erhöhen und auf diese Weise den zur Pufferung der Datenpakete benötigten Speicherplatz im Rahmen zu halten oder sogar zu verringern. The object of the invention is also to take measures other than the one despite an increase in the maximum amount of data to be expected during an application cycle Number of buffer cells FrameBufferCell_l, ... FrameBufferCell_n within a queue FrameQueue_l, ... FrameQueuelO, thus keeping or even reducing the space required to buffer the data packets.
Fig. 4 zeigt eine Darstellung der erfindungsgemäßen Fortbildung einer Zellenorganisation in einer erfindungsgemäßen Speichereinheit zur Pufferung von Datenpaketen. 4 shows an illustration of the further development of a cell organization in a memory unit according to the invention for buffering data packets.
Dabei ist vorgesehen, in einer zusätzlichen zweiten Speichereinheit FB2, welche mindestens einem Datenport zugordnet ist, eine Mehrzahl adressierbarer Pufferzellen It is provided, in an additional second memory unit FB2, which is at least one data port zugordnet, a plurality of addressable buffer cells
PointerBufferCell_l , ... PointerBufferCell_n vorzuhalten. PointerBufferCell_l, ... PointerBufferCell_n.
Im vorliegenden Ausführungsbeispiel ist die zweite Speicher¬ einheit FB2 allen Datenports P1,P2,P3,P4 zugeordnet, obgleich in Fig. 4 aus Übersichtlichkeitsgründen lediglich zwei Datenports P1,P2 dargestellt sind. In the present embodiment, the second memory unit ¬ FB2 is all data ports P1, P2, associated with P3, P4, although 4 are shown for reasons of clarity only two data ports P1, P2 in Fig..
Die - in Fig. 4 nicht dargestellte - Puffersteuerungseinheit BM erfasst eine Warteschlangenzugehörigkeit eines zu puffernden Datenpakets, welcher dann an eine freie adressierbare Pufferzelle FrameBufferCell_l , ... FrameBufferCell_n in der zweiten Speichereinheit FB2 zur dortigen Speicherung zugewiesen wird. Eine Adresse dieser so belegten Pufferzelle wird von der Puffersteuerungseinheit BM erfasst. In der ers¬ ten Speichereinheit FBI wird dann ein Zeiger Ptr_l , Ptr_n auf die zwischengespeicherte Adresse der adressierbaren Puf- ferzelle FrameBufferCell_l , ... FrameBufferCell_n gespeichert. The buffer control unit BM-not shown in FIG. 4-detects a queue membership of a data packet to be buffered, which is then assigned to a free addressable buffer cell FrameBufferCell_l,... FrameBufferCell_n in the second memory unit FB2 for storage there. An address of this occupied buffer cell is detected by the buffer control unit BM. A pointer Ptr_l, Ptr_n FrameBufferCell_n is in the ¬ ers th memory unit FBI then the cached address of the addressable PUF ferzelle FrameBufferCell_l ... stored.
Dieser Zeiger Ptr_l , Ptr_n wird genauer gesagt in einer nächsten freien Pufferzelle PointerBufferCell_l , ... This pointer Ptr_l, Ptr_n is more precisely stated in a next free buffer cell PointerBufferCell_l, ...
PointerBufferCell_n innerhalb der durch die Warteschlangenzu- gehörigkeit bestimmten Warteschlange der ersten Speichereinheit FBI gespeichert.
Die erste Speichereinheit FBI gewährleistet also weiterhin eine Sequenz von Datenpaketen in der Reihenfolge ihres Eintreffens innerhalb der Warteschlange, allerdings - mittels eines Zeigers - durch einen Verweis auf die zweite Speicher- einheit FB2. PointerBufferCell_n stored within the queued queue of the first memory unit FBI. The first memory unit FBI thus further ensures a sequence of data packets in the order of their arrival within the queue, but - by means of a pointer - by a reference to the second memory unit FB2.
Der Zeiger Ptr_l , Ptr_n enthält nun lediglich die Adresse der adressierbaren Pufferzelle, während das Datenpaket selbst in einer adressierbaren Pufferzellen der zweiten Speicherein- heit FB2 abgelegt wird, wobei der Zeiger Ptr_l , Ptr_n auf die Adresse der adressierbaren Pufferzellen The pointer Ptr_l, Ptr_n now only contains the address of the addressable buffer cell, while the data packet itself is stored in an addressable buffer cell of the second memory unit FB2, wherein the pointer Ptr_l, Ptr_n to the address of the addressable buffer cells
FrameBufferCell_l , ... FrameBufferCell_n der zweiten Speichereinheit FB2 verweist. Für den Zeiger Ptr_l , Ptr_n reicht demnach eine Länge von wenigen Bytes. Eine realistische Länge von 2 Byte für einen Zeiger Ptr_l , Ptr_n ergäbe in diesem Beispiel einen Speicherbedarf der ersten Speichereinheit FBI von ca. 145 kB pro Datenport P1,P2,P3,P4 statt einem im Stand der Technik benö- tigten Speicherbedarf von 1,25 MB pro Datenport P1,P2,P3,P4. FrameBufferCell_l, ... FrameBufferCell_n of the second memory unit FB2. Accordingly, a length of a few bytes suffices for the pointer Ptr_l, Ptr_n. In this example, a realistic length of 2 bytes for a pointer Ptr_l, Ptr_n would result in a memory requirement of the first memory unit FBI of approximately 145 kB per data port P1, P2, P3, P4 instead of a memory requirement of 1.25 required in the prior art MB per data port P1, P2, P3, P4.
In Fig. 5 wird in einer analogen Weise zu der in Fig. 3 dargestellten Situation gezeigt, bei der Ende eines Applikati¬ onszyklus eine Mehrzahl von Datenpaketen in Pufferzellen FrameBufferCell_l , ... FrameBufferCell_n, diesmal in der zwei¬ ten Speichereinheit FB2, gepuffert wurden. In Fig. 5 is shown to that shown in Fig. 3 situation in an analogous manner, were a plurality of data packets in buffer cells FrameBufferCell_l, ... FrameBufferCell_n, this time in the two ¬ th memory unit FB2 buffered at the end of a Applikati ¬ onszyklus, ,
Wiederum sind lediglich ein Zehntel der Pufferzellen Again, only one-tenth of the buffer cells are
PointerBufferCell_l , ... PointerBufferCell_n der ersten Spei- chereinheit FBI belegt, dieses Mal allerdings nicht mit denPointerBufferCell_l, ... PointerBufferCell_n of the first memory unit FBI, but not with the
Datenpaketen selbst, sondern mit Zeigern auf die Datenpakete. Da diese Zeiger nur wenige Bytes lang sind, bleibt sehr viel weniger Speicherplatz der ersten Speichereinheit FBI ungenutzt. Die mit den größeren Pufferzellen FrameBufferCell_l , ... FrameBufferCell_n ausgestattete zweite Speichereinheit FB2 ist in diesem Ausführungsbeispiel dagegen voll belegt.
Erfindungsgemäß werden also nicht die Datenpakete in den War¬ teschlangen FrameQueue_l , ... FrameQueuelO der Netzknotenein¬ richtung abgelegt, sondern Zeiger Ptr_l , Ptr_n auf die Da¬ tenpakete. Die Zeiger Ptr_l , Ptr_n sind dabei wesentlich kürzer als die Datenpakete selbst. Damit wird eine für einen sicherheitskritischen Einsatz geeignete Netzknoteneinrichtung geschaffen, bei der ein zur Pufferung der Datenpakete notwendiger Speicherplatz reduziert ist. Die Datenpakete werden in einer zweite Speichereinheit FB2 abgelegt, welcher mindestens einem, idealerweise mehreren oder sogar allen Datenports P1,P2,P3,P4 der Netzknoteneinrichtung zugeordnet ist. Da in einer sicherheitsrelevanten Netzknoteneinrichtung mit Unterstützung mehrerer Prioritätsklassen nicht vorhergesagt werden kann, wie viele Datenpakete in welcher Warteschlange gleicher Prioritätsklasse bzw. »Prioritäts-Queue« gepuffert werden müssen, bleiben im Stand der Technik gemäß der in Fig. 3 dargestellten Situation große Teile der für eine Warteschlange FrameQueue_l , ... FrameQueuelO vorgehaltenen Puffer¬ zellen FrameBufferCell_l , ... FrameBufferCell_n der ersten Speichereinheit FBI ungenutzt. Daher müssen im Stand der Technik alle Warteschlangen FrameQueue_l , ... FrameQueuelO der ersten Speichereinheit FBI so groß dimensioniert werden, dass sie das gesamte Datenaufkommen bzw. »Traffic« innerhalb eines Applikationszyklus aufnehmen können. In Folge dessen wird summarisch lediglich eine Warteschlange genutzt, alle anderen bleiben leer. Data packets themselves, but with pointers to the data packets. Since these pointers are only a few bytes long, much less storage space of the first memory unit FBI remains unused. In contrast, the second memory unit FB2 equipped with the larger buffer cells FrameBufferCell_l,... FrameBufferCell_n is fully populated in this exemplary embodiment. According to the invention, therefore, not the data packets are stored in the queue ¬ framesQueue_l, ... FrameQueuelO the Netzknotenein ¬ direction, but pointer Ptr_l, Ptr_n on the Da ¬ tenpakete. The pointers Ptr_l, Ptr_n are substantially shorter than the data packets themselves. Thus, a network node device suitable for safety-critical use is provided, in which a memory space necessary for buffering the data packets is reduced. The data packets are stored in a second memory unit FB2, which is assigned to at least one, ideally several or even all data ports P1, P2, P3, P4 of the network node device. Since in a security-relevant network node device with the support of several priority classes can not be predicted how many data packets must be buffered in which queue of the same priority class or "priority queue" remain in the art according to the situation shown in FIG. 3, large parts of for a queue FrameQueue_l, ... FrameQueuelO held buffer ¬ cells FrameBufferCell_l, ... FrameBufferCell_n the first memory unit FBI unused. Therefore, in the prior art all queues FrameQueue_l, ... FrameQueueO of the first memory unit FBI must be dimensioned so large that they can accommodate the entire data volume or »traffic« within an application cycle. As a result, only one queue is used in summary, all others remain empty.
Gemäß einer Ausführungsform der Erfindung ist daher vorgesehen, dass der allen Datenports P1,P2,P3,P4 zugewiesene zweite Speicher FB2 eine Speicherkapazität aufweist, welche genau dem gesamten, an allen Datenports P1,P2,P3,P4 anfallenden Da- tenaufkommen innerhalb eines Applikationszyklus entspricht. According to one embodiment of the invention, it is therefore provided that the second memory FB2 assigned to all data ports P1, P2, P3, P4 has a storage capacity which corresponds exactly to the total data volume occurring at all data ports P1, P2, P3, P4 within one application cycle equivalent.
Die zur Aufnahme der Zeiger Ptr_l , Ptr_n vorgesehenen Pufferzellen PointerBufferCell 1, ... PointerBufferCell n in den
Wartschlagen PointerQueue_l , ... PointerQueuel 0 der ersten Speichereinheit FBI werden so belegt, wie im Stand der Tech¬ nik die zur Aufnahme der Datenpakete vorgesehenen Pufferzel¬ len FrameBufferCell_l , ... FrameBufferCell_n in den Wartschla- gen FrameQueue_l , ... FrameQueuelO der ersten Speichereinheit FBI, d.h. summarisch wird lediglich eine Warteschlange genutzt, alle anderen bleiben leer. Da für die Hinterlegung eines Zeigers Ptr_l , Ptr_n aber eine erheblich kleinere Dimensionierung der Pufferzellen PointerBufferCell_l , ... The buffer cells PointerBufferCell 1, ... PointerBufferCell n provided for receiving the pointers Ptr_l, Ptr_n Wartenden PointerQueue_l, ... PointerQueuel 0 the first memory unit FBI are occupied, as in the state of Tech ¬ nik provided for receiving the data packets Pufferzel ¬ len FrameBufferCell_l, ... FrameBufferCell_n in the queues FrameQueue_l, ... FrameQueuelO the first memory unit FBI, ie summarily only one queue is used, all others remain empty. Since for the deposit of a pointer Ptr_l, Ptr_n but a considerably smaller dimensioning of the buffer cells PointerBufferCell_l, ...
PointerBufferCell_n der ersten Speichereinheit FBI erfordert als die im Stand der Technik größer zu dimensionierenden Pufferzellen FrameBufferCell_l , ... FrameBufferCell_n für Datenpa¬ kete, beispielsweise 2 Bytes anstatt 128 Bytes, kann ein sig¬ nifikanter Anteil des insgesamt benötigten Speicherplatzes eingespart werden. Die erfindungsgemäß zusätzlich vorgesehene zweite Speichereinheit FB2 ändert nichts an der Gesamtbilanz des insgesamt benötigten Speicherplatzes, da die Summe der Speicherkapazität aus erster und zweiter Speichereinheit FB1,FB2 gemäß der Erfindung nicht die der im Stand der Tech- nik bekannten ersten Speichereinheit FBI zur Pufferung vonPointerBufferCell_n the first storage unit FBI requires as the larger in the art to be dimensioned buffer cells FrameBufferCell_l, ... FrameBufferCell_n for Datenpa ¬ kete, for example 2 bytes instead of 128 bytes, a sig ¬ nifikanter proportion of the total storage space required can be saved. The inventively additionally provided second memory unit FB2 does not change the overall balance of the total required memory space, since the sum of the storage capacity of first and second memory unit FB1, FB2 according to the invention is not known in the prior art first memory unit FBI for buffering
Datenpakete übersteigt. Die Einsparung des insgesamt benötig¬ ten Speicherplatzbedarfs wirkt sich positiv auf die Kosten eines ASIC und insbesondere einer FPGA-basierten Implementie¬ rung der Netzknoteneinrichtung aus. Data packets exceeds. The saving of the total benötig ¬ th memory footprint has a positive effect on the cost of an ASIC and especially a FPGA-based imple ¬ tion of the network node device.
Zusammenfassend geht die vorliegende Erfindung von einer Netzknoteneinrichtung bzw. Switch aus, bei der eine Zwischen- speicherung von entgegengenommenen Datenpaketen bekannt ist. Die Datenpakete wurden im Stand der Technik in einer ersten Speichereinheit gepuffert. Diese erste Speichereinheit ist in Warteschlangen bzw. Queues unterteilt, wobei eine Warte¬ schlange mehrere Pufferzellen mit üblicherweise gleicher Auf¬ nahmekapazität aufweist. Da für einen sicherheitskritischen Einsatz der Netzknoteneinrichtung keine Datenpaketverluste toleriert werden können, sind die Warteschlangen bzw. Queues in bekannten Switches meist überdimensioniert.
Erfindungsgemäß ist vorgesehen, eine mindestens einem Daten¬ port jeweils zugeordnete zusätzliche zweite Speichereinheit mit einer Mehrzahl adressierbarer Pufferzellen vorzusehen. Eine Warteschlangenzugehörigkeit eines zu puffernden Datenpa¬ kets wird erfasst und an eine freie adressierbare Pufferzelle in der zweiten Speichereinheit zugeweisen. In der ersten Speichereinheit wird nun statt des Datenpakets ein Zeiger auf eine Adresse der adressierbaren Pufferzelle in einer nächsten freien Pufferzelle der ersten Speichereinheit hinterlegt. Diese erste Speichereinheit wird zwar durch die Hinterlegung der Zeiger ähnlich fragmentarisch belegt wie im Stand der Technik durch die Hinterlegung mit Datenpaketen. Da die Zeiger aber einen erheblich kleineren Speicherplatz für die Pufferzellen erfordert als die der Pufferzellen für Datenpakete, kann ein signifikanter Anteil des benötigten Speicherplatzes eingespart werden.
In summary, the present invention proceeds from a network node device or switch in which an intermediate storage of received data packets is known. The data packets were buffered in the prior art in a first memory unit. This first storage unit is divided into queues and queues, wherein a waiting ¬ snake having a plurality of buffer cells with usually equal to ¬ holding capacity. Since no data packet losses can be tolerated for a security-critical deployment of the network node device, the queues or queues in known switches are usually oversized. It is provided according to the invention to provide an additional second memory unit, each assigned to at least one data port, with a plurality of addressable buffer cells. A queue belonging to a buffering Datenpa ¬ kets is detected and supplied to have a free addressable buffer cell in the second storage unit. Instead of the data packet, a pointer to an address of the addressable buffer cell in the next free buffer cell of the first memory unit is now stored in the first memory unit. Although this first memory unit is occupied by the deposit of the pointer similar fragmentary as in the prior art by the deposit with data packets. However, since the pointers require a significantly smaller storage space for the buffer cells than the buffer cells for data packets, a significant portion of the required storage space can be saved.
Claims
1. Netzknoteneinrichtung, insbesondere für einen sicherheitskritischen Einsatz, die Netzknoteneinrichtung eingerichtet zur Entgegennahme, Vermittlung und Weiterleitung von Daten an einer Mehrzahl von Datenports ( PI , P2 , P3 , P4 ) , die Datenports (PI, P2, P3, P4) eingerichtet für eine bidirektionale Verbindung mit Netzknoten oder Recheneinrichtungen eines Netzwerks, wobei, 1. network node device, in particular for a safety-critical use, the network node device configured for receiving, switching and forwarding data to a plurality of data ports (PI, P2, P3, P4), the data ports (PI, P2, P3, P4) set up for a bidirectional connection to network nodes or computing devices of a network, wherein
- an einem Datenport ( PI , P2 , P3 , P4 ) eintreffende Datenpakete vor deren Weiterleitung zur Pufferung vorgesehen sind, jedem Datenport eine erste Speichereinheit (FBI) zugeord¬ net ist, die erste Speichereinheit (FBI) umfassend eine Mehrzahl an Warteschlangen (FrameQueue_l , ... Frame- QueuelO), jede Warteschlange (FrameQueue_l , ... Frame-- to a data port (PI, P2, P3, P4) incoming data packets are provided before forwarding them to buffer, each data port, a first storage unit (FBI) is zugeord ¬ net, the first memory unit (FBI) comprising a plurality (of queues FrameQueue_l, ... QueueO), every queue (FrameQueue_l, ... frame-
QueuelO) umfassend eine Mehrzahl an Pufferzellen QueuelO) comprising a plurality of buffer cells
(FrameBufferCell_l , ... FrameBufferCell_n) , (FrameBufferCell_l, ... FrameBufferCell_n),
gekennzeichnet durch, marked by,
eine mindestens einem Datenport ( PI , P2 , P3 , P4 ) jeweils zu- geordnete mindestens eine zweite Speichereinheit (FB2) mit einer Mehrzahl adressierbarer Pufferzellen a respective at least one second memory unit (FB2) having a plurality of addressable buffer cells assigned to at least one data port (PI, P2, P3, P4)
(FrameBufferCell_l , ... FrameBufferCell_n) ; und; (FrameBufferCell_l, ... FrameBufferCell_n); and;
eine Puffersteuerungseinheit (BM) zur Erfassung einer Warteschlangenzugehörigkeit eines zu puffernden Datenpa- kets, zur Zuweisung an eine freie adressierbare Puffer¬ zelle (FrameBufferCell_l , ... FrameBufferCell_n) in der zweiten Speichereinheit und zur Hinterlegung eines Zei¬ gers ( Ptr_l , Ptr_n) auf eine Adresse der adressierbaren Pufferzelle (FrameBufferCell_l , ... FrameBufferCell_n) in einer nächsten freien Pufferzelle ( PointerBufferCell_l , ...a buffer control unit (BM) for detecting a queue assignment of a to be buffered Datenpa- kets, for allocating an available addressable buffer ¬ cell (FrameBufferCell_l, ... FrameBufferCell_n) in the second storage unit and to deposit an Zei ¬ gers (Ptr_l, Ptr_n) on an address of the addressable buffer cell (FrameBufferCell_l, ... FrameBufferCell_n) in a next free buffer cell (PointerBufferCell_l, ...
PointerBufferCell_n) der ersten Speichereinheit (FBI) innerhalb der durch die Warteschlangenzugehörigkeit be¬ stimmten Warteschlange ( PointerQueue_l , ... PointerQueuel 0 ) der ersten Speichereinheit (FBI). PointerBufferCell_n) of the first storage unit (FBI) within the be by the queue belonging ¬ voted queue (PointerQueue_l, ... PointerQueuel 0) of the first storage unit (FBI).
2. Netzknoteneinrichtung gemäß Patentanspruch 1, dadurch gekennzeichnet,
dass die zweite Speichereinheit (FB2) allen Datenports 2. network node device according to claim 1, characterized that the second memory unit (FB2) all data ports
(PI, P2, P3, P4) der Netzknoteneinrichtung zugordnet ist. (PI, P2, P3, P4) is assigned to the network node device.
3. Netzknoteneinrichtung gemäß Patentanspruch 2, dadurch ge- kennzeichnet, 3. network node device according to claim 2, characterized
dass die zweite Speichereinheit (FB2) eine Speicherkapazität aufweist, welche dem gesamten, an allen Datenports in that the second memory unit (FB2) has a memory capacity which is the total, at all data ports
(PI, P2, P3, P4) anfallenden Datenaufkommen innerhalb eines Applikationszyklus entspricht. (PI, P2, P3, P4) corresponds to accumulating data within an application cycle.
4. Netzknoteneinrichtung gemäß einem der vorgenannten Patentansprüche, gekennzeichnet durch, 4. network node device according to one of the preceding claims, characterized by,
eine Warteschlangesteuereinheit (QMU) zur Bestimmung der War¬ teschlangenzugehörigkeit durch eine dem Datenpaket zugeordne- te Prioritätsklasse. a queue control unit (QMU) for determining the War ¬ tesch long affiliation by the data packet zugeordne- th priority class.
5. Netzknoteneinrichtung gemäß einem der vorgenannten Patentansprüche, dadurch gekennzeichnet, 5. network node device according to one of the preceding claims, characterized
dass die Netzknoteneinrichtung als Teil eines Mikroschalt- kreises, insbesondere als SoC bzw. System-on-a-Chip, FPGA bzw. Field Programmable Gate Array und/oder ASIC bzw. Appli¬ cation Specific Integrated Circuit implementiert ist. that the network node device circuit as part of a Mikroschalt-, in particular as SoC or system on a chip, FPGA or field-programmable gate array and / or ASIC or Appli ¬ cation specific integrated circuit is implemented.
6. Netzwerkeinrichtung mit mindestens einer Netzknotenein- richtung gemäß einem der vorgenannten Patentansprüche und mindestens einer Steuerungseinrichtung. 6. Network device with at least one network node device according to one of the aforementioned claims and at least one control device.
7. Netzwerkanordnung eingerichtet zum Betrieb eines Netzwerks für einen sicherheitskritischen Einsatz, mit mindestens einer Netzwerkeinrichtung gemäß Patentanspruch 6. 7. Network arrangement set up for operating a network for a safety-critical use, with at least one network device according to claim 6.
8. Fahrzeug mit mindestens einer Netzwerkeinrichtung gemäß Patentanspruch 6. 8. Vehicle with at least one network device according to claim 6.
9. Verfahren zur Vermittlung von Daten, mit einer Netzknoteneinrichtung eingerichtet zur Entgegennahme, Vermittlung und Weiterleitung von Daten an einer Mehrzahl von Datenports (PI, P2, P3, P4) , insbesondere für einen sicherheitskritischen
Einsatz, die Datenports ( PI , P2 , P3 , P4 ) eingerichtet für eine bidirektionale Verbindung mit Netzknoten oder Recheneinrichtungen eines Netzwerks, wobei 9. A method for switching data, set up with a network node device for receiving, switching and forwarding data to a plurality of data ports (PI, P2, P3, P4), in particular for a safety-critical Insert, the data ports (PI, P2, P3, P4) set up for bidirectional connection to network nodes or computing devices of a network, wherein
an einem Datenport ( PI , P2 , P3 , P4 ) eintreffende Datenpakete vor deren Weiterleitung zur Pufferung gepuffert werden, jedem Datenport eine erste Speichereinheit (FBI) zugeord¬ net ist, die erste Speichereinheit (FBI) umfassend eine Mehrzahl an Warteschlangen (FrameQueue_l , ... Frame- QueuelO), jede Warteschlange (FrameQueue_l , ... Frame- QueuelO) umfassend eine Mehrzahl an Pufferzellen at a data port (PI, P2, P3, P4) incoming data packets are buffered before they are forwarded to buffer, each data port, a first storage unit (FBI) is zugeord ¬ net, the first memory unit (FBI) comprising a plurality (of queues FrameQueue_l. .. Frame QueuelO), each queue (FrameQueue_l, ... Frame QueuelO) comprising a plurality of buffer cells
(FrameBufferCell_l , ... FrameBufferCell_n) , (FrameBufferCell_l, ... FrameBufferCell_n),
dadurch gekennzeichnet, dass characterized in that
mindestens einem Datenport ( PI , P2 , P3 , P4 ) jeweils eine zweite Speichereinheit (FB2) mit einer Mehrzahl adres¬ sierbarer Pufferzellen (FrameBufferCell_l , ... at least one data port (PI, P2, P3, P4) each comprise a second storage unit (FB2) (having a plurality adres ¬ sierbarer buffer cells FrameBufferCell_l, ...
FrameBufferCell_n) zugeordnet ist; FrameBufferCell_n) is assigned;
für eine zu puffernden Datenpaket eine Warteschlangenzu¬ gehörigkeit erfasst wird, das Datenpaket an eine freie adressierbare Pufferzelle (FrameBufferCell_l , ... for a data packet to buffer a Warteschlangenzu ¬ affiliation is detected, the data packet (to a free addressable buffer cell FrameBufferCell_l, ...
FrameBufferCell_n) in der zweiten Speichereinheit (FB2) zugeweisen wird und ein auf eine Adresse der adressierba¬ ren Pufferzelle (FrameBufferCell_l , ... FrameBufferCell_n) weisender Zeiger ( Ptr_l , Ptr_n) in einer nächsten freien Pufferzelle ( PointerBufferCell_l , ... PointerBufferCell_n) innerhalb der durch die Warteschlangenzugehörigkeit be¬ stimmten Warteschlange ( PointerQueue_l , ... FrameBufferCell_n) (in the second storage unit FB2) is supplied wise and a (on an address of the adressierba ¬ ren buffer cell FrameBufferCell_l, ... FrameBufferCell_n) facing pointer (Ptr_l, Ptr_n) (in a next free buffer cell PointerBufferCell_l, ... PointerBufferCell_n) within loading by the queue belonging ¬ voted queue (PointerQueue_l, ...
PointerQueuel 0 ) der ersten Speichereinheit hinterlegt wird . PointerQueuel 0) of the first memory unit is stored.
10. Verfahren gemäß Patentanspruch 9, dadurch gekennzeichnet, dass die zweite Speichereinheit (FB2) allen Datenports 10. The method according to claim 9, characterized in that the second memory unit (FB2) all data ports
(PI, P2, P3, P4) der Netzknoteneinrichtung zugordnet ist. (PI, P2, P3, P4) is assigned to the network node device.
11. Verfahren gemäß Patentanspruch 10, dadurch gekennzeichnet, 11. The method according to claim 10, characterized
dass der zweite Speicher (FB2) eine Speicherkapazität auf¬ weist, welche dem gesamten, an allen Datenports ( PI , P2 , P3 , P4 )
anfallenden Datenaufkommen innerhalb eines Applikationszyklus entspricht . that the second memory (FB2) has a storage capacity ¬ which the whole, in all data ports (PI, P2, P3, P4) corresponding data volume within an application cycle corresponds.
12. Verfahren gemäß einem der vorgenannten Patentansprüche 9 bis 11, dadurch gekennzeichnet, 12. The method according to any one of the aforementioned claims 9 to 11, characterized
dass zur Bestimmung der Warteschlangenzugehörigkeit eine dem Datenpaket zugeordnete Prioritätsklasse herangezogen wird. in that a priority class assigned to the data packet is used to determine the queue membership.
13. Computerprogrammprodukt mit Mitteln zur Durchführung des Verfahrens nach einem der vorhergehenden vorgenannten Patentansprüche 9 bis 12, wenn das Computerprogrammprodukt an einer Netzknoteneinrichtung zur Ausführung gebracht wird.
13. Computer program product having means for carrying out the method according to one of the preceding aforementioned claims 9 to 12, when the computer program product is brought to execution at a network node device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016202331.4 | 2016-02-16 | ||
DE102016202331.4A DE102016202331A1 (en) | 2016-02-16 | 2016-02-16 | Network node device and method for switching data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017140398A1 true WO2017140398A1 (en) | 2017-08-24 |
Family
ID=57589014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2016/080922 WO2017140398A1 (en) | 2016-02-16 | 2016-12-14 | Network node device and method for data switching |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102016202331A1 (en) |
WO (1) | WO2017140398A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543129A (en) * | 2020-11-27 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | Queue depth confirmation method and system and message simulator |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3694166B1 (en) * | 2019-02-06 | 2022-09-21 | Hitachi Energy Switzerland AG | Cyclic time-slotted operation in a wireless industrial network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026205A1 (en) * | 2001-07-31 | 2003-02-06 | Mullendore Rodney N. | Packet input thresholding for resource distribution in a network switch |
US20090180475A1 (en) * | 2008-01-10 | 2009-07-16 | Fujitsu Limited | Packet forwarding apparatus and controlling method |
US20090257441A1 (en) * | 2008-04-15 | 2009-10-15 | Fujitsu Limited | Packet forwarding apparatus and method for discarding packets |
US20140185442A1 (en) * | 2012-12-27 | 2014-07-03 | Cisco Technology, Inc. | Supporting quality of service differentiation using a single shared buffer |
DE102012000188B4 (en) | 2012-01-09 | 2015-05-28 | Siemens Aktiengesellschaft | Method for operating a communication network and network arrangement |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535963B1 (en) * | 1999-06-30 | 2003-03-18 | Cisco Technology, Inc. | Memory apparatus and method for multicast devices |
-
2016
- 2016-02-16 DE DE102016202331.4A patent/DE102016202331A1/en not_active Ceased
- 2016-12-14 WO PCT/EP2016/080922 patent/WO2017140398A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026205A1 (en) * | 2001-07-31 | 2003-02-06 | Mullendore Rodney N. | Packet input thresholding for resource distribution in a network switch |
US20090180475A1 (en) * | 2008-01-10 | 2009-07-16 | Fujitsu Limited | Packet forwarding apparatus and controlling method |
US20090257441A1 (en) * | 2008-04-15 | 2009-10-15 | Fujitsu Limited | Packet forwarding apparatus and method for discarding packets |
DE102012000188B4 (en) | 2012-01-09 | 2015-05-28 | Siemens Aktiengesellschaft | Method for operating a communication network and network arrangement |
US20140185442A1 (en) * | 2012-12-27 | 2014-07-03 | Cisco Technology, Inc. | Supporting quality of service differentiation using a single shared buffer |
Non-Patent Citations (1)
Title |
---|
SANDER O ET AL: "Priority-based packet communication on a bus-shaped structure for FPGA-systems", DESIGN, AUTOMATION&TEST IN EUROPE CONFERENCE&EXHIBITION, 2009. DATE '09, IEEE, PISCATAWAY, NJ, USA, 20 April 2009 (2009-04-20), pages 178 - 183, XP032317486, ISBN: 978-1-4244-3781-8, DOI: 10.1109/DATE.2009.5090654 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543129A (en) * | 2020-11-27 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | Queue depth confirmation method and system and message simulator |
CN112543129B (en) * | 2020-11-27 | 2022-06-21 | 北京经纬恒润科技股份有限公司 | Queue depth confirmation method and system and message simulator |
Also Published As
Publication number | Publication date |
---|---|
DE102016202331A1 (en) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3751046T2 (en) | Switching system. | |
DE69631055T2 (en) | STORAGE INTERFACE UNIT, SWITCHING SYSTEM WITH COMMON STORAGE AND METHOD THEREFOR | |
DE69628631T2 (en) | Data input / output device by referencing between central processing units and input / output devices | |
DE69836812T2 (en) | METHOD AND APPARATUS FOR DYNAMIC QUEUE ASSESSMENT | |
DE60203057T2 (en) | Efficient optimization algorithm for memory usage in network applications | |
DE69112746T2 (en) | Data buffering system with a buffer memory that stores data blocks with a fixed or variable length. | |
DE69031220T2 (en) | High speed multi-port FIFO buffer circuit | |
DE69810132T2 (en) | MULTIPORT DRAMS WITH INTERNAL CACHE | |
DE69033213T2 (en) | Connection structure for the connection between an input and arbitrary outputs from a group of outputs | |
DE3728805A1 (en) | DATA PACKAGING | |
DE69527110T2 (en) | Method and device for routing interlaced cells arriving after an asynchronous transfer mode with reduced switching | |
EP0641099A1 (en) | Method and circuit for intermediate storage of data packets and a node having such circuit | |
WO2000007335A2 (en) | Bridge module | |
DE19757965A1 (en) | Distributed buffer system for ATM switch | |
WO2007134922A1 (en) | Multi-processor gateway | |
DE69817159T2 (en) | Switching system with a masking mechanism for changing the internal routing process | |
WO2017140398A1 (en) | Network node device and method for data switching | |
DE112013001211T5 (en) | Multithreaded packet processing | |
DE3875079T2 (en) | ADMINISTRATIVE DEVICE FOR ASYNCHRONOUS TIME MULTIPLEX DATA SWITCHING UNIT. | |
EP0322075A2 (en) | Switching network and controller for a switching system | |
DE102007049044A1 (en) | Data exchange device i.e. communication structure, for e.g. application specific integrated circuit, has function modules for processing interface-related functions, and master unit including number of signal inputs | |
EP0960551B1 (en) | Method and circuit for transmitting information cells during virtual linking with various priorities | |
DE60115998T2 (en) | Improvements in or to switching devices | |
EP3013009B1 (en) | Network assembly and method for detecting a utilisation peak in a convergent network | |
DE10027845B4 (en) | Submodule for controlling a data queue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16815805 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16815805 Country of ref document: EP Kind code of ref document: A1 |