SE516746C2 - Method and apparatus for reducing buffer delay - Google Patents

Method and apparatus for reducing buffer delay

Info

Publication number
SE516746C2
SE516746C2 SE9901606A SE9901606A SE516746C2 SE 516746 C2 SE516746 C2 SE 516746C2 SE 9901606 A SE9901606 A SE 9901606A SE 9901606 A SE9901606 A SE 9901606A SE 516746 C2 SE516746 C2 SE 516746C2
Authority
SE
Sweden
Prior art keywords
frame
frame buffer
pointer
time slot
reading
Prior art date
Application number
SE9901606A
Other languages
Swedish (sv)
Other versions
SE9901606L (en
SE9901606D0 (en
Inventor
Joachim Roos
Original Assignee
Net Insight Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Net Insight Ab filed Critical Net Insight Ab
Priority to SE9901606A priority Critical patent/SE516746C2/en
Publication of SE9901606D0 publication Critical patent/SE9901606D0/en
Priority to PCT/SE2000/000848 priority patent/WO2000067518A1/en
Priority to AU44473/00A priority patent/AU4447300A/en
Publication of SE9901606L publication Critical patent/SE9901606L/en
Publication of SE516746C2 publication Critical patent/SE516746C2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13292Time division multiplexing, TDM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1336Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13361Synchronous systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13393Time slot switching, T-stage, time slot interchanging, TSI

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to methods and an apparatus for switching data. According to the invention, storage means providing three or more frame buffers are used for temporarily storing frames of slots received via an input port of said apparatus. Read and write pointers are provided to designate which of said frame buffers that are used to be read/write accessed at each point in time. Control means are provided for controlling the operation of said pointer means, said control means being arranged to position said pointers so that the frame buffer currently designated by said write pointer is not the same as the one currently designated by said read pointer. Configuring means are provided for enabling, for slots that are to be transmitted from said output port and that are not to be time switched by said switch, reading of data for said slot from the frame buffer that is located one frame buffer ahead, in said round-robin fashion, of the frame buffer designated by said read pointer.

Description

20 25 30 35 a i; i. -- .= :e i; s. : :1 :n r ve o I ~ .l ~, | »r 1- n-~ ~ . f :ffs »fxu 1 1 n i n - x V. No 2 en gemensam ramsynkroniseringssignal. Om det exempelvis finns en fasskillnad mellan ramsynkroniseringssignalen för de komponenter som läser data från bufferten och ramsynkroniseringssignalen för de komponenter som skriver data i bufferten, blir emellertid uppgiften att synkronisera skriv- och läsoperationerna i förhållande till bufferten mer komplicerade. Ett annat problem med rambuffring är att ju större marginal som läggs till mellan skrivningen av data i en rambuffert och läsningen av data från nämnda rambuffert för tillförsäkrande av buffertkonsistens desto större kommer fördröjningen genom växeln att vara. Buffring vid högre buffertkonsistensmarginaler kommer således typiskt att medföra en negativ effekt i form av ökad fördröjning. 20 25 30 35 a i; i. -. =: e i; s .:: 1: n r ve o I ~ .l ~, | »R 1- n- ~ ~. f: ffs »fxu 1 1 n i n - x V. No 2 a common frame synchronization signal. However, if, for example, there is a phase difference between the frame synchronization signal for the components reading data from the buffer and the frame synchronization signal for the components writing data in the buffer, the task of synchronizing the write and read operations relative to the buffer becomes more complicated. Another problem with frame buffering is that the larger the margin that is added between the writing of data in a frame buffer and the reading of data from said frame buffer to ensure buffer consistency, the greater the delay through the switch will be. Buffering at higher buffer consistency margins will thus typically have a negative effect in the form of increased delay.

Ett syfte med föreliggande uppfinning är att åstadkomma ett enkelt och effektivt sätt att synkronisera drift i förhållande till en rambuffert när data växlas mellan en in- och en utport, och i synnerhet när data växlas mellan en eller flera inportar och en eller flera utportar när både tids- och rumsväxling erfordras, samtidigt som fördröjningen hålls låg.An object of the present invention is to provide a simple and efficient way of synchronizing operation relative to a frame buffer when data is switched between an input and an output port, and in particular when data is switched between one or more input ports and one or more output ports when both time and space change is required, while keeping the delay low.

Detta och andra syften åstadkommes av uppfinningen såsom den definieras i de åtföljande patentkraven.This and other objects are achieved by the invention as defined in the appended claims.

Uppfinningen använder ett förfarande med flera buffertar, varvid tre eller flera rambuffertar, där tre är det föredragna alternativet, tillhandahålls för varje inport. Uppfinningen använder således så kallad inportsbuffring, dvs ramar som tas emot via inporten skrivs in från ramens början till ramens slut i nämnda tre eller flera rambuffertar. Skriv- och läspekare tillhandahålls för angivande av vilken bestämd rambuffert som för närvarande används för skrivning av data respektive vilken bestämd rambuffert som för närvarande används för läsning av data, och dessa pekare. Nämnda pekare placeras, baserat på fassambandet mellan nämnda in- och utramsynkroniseringssignal, så att de inte kommer att peka på samma rambuffertar samtidigt och flyttas fram 10 l5 20 25 30 35 . . . . | n n. n, a - f. .- . =~ u» e ß -. n . v v - || n. e . -v - » v m» 1:1 - ». n» 1.- - I - . . u ~ . 1. ; 1. . . u n a . n u r. u 3 vid varje mottagning av en inramssynkroniseringssignal respektive en utramssynkroniserningssignal pà ett cykliskt modulo-3 sätt.The invention uses a multi-buffer method, wherein three or more frame buffers, three of which are the preferred alternative, are provided for each input port. The invention thus uses so-called input buffering, ie frames received via the input are written from the beginning of the frame to the end of the frame in the said three or more frame buffers. Write and read pointers are provided for indicating which particular frame buffer is currently used for writing data and which particular frame buffer is currently used for reading data, and these pointers. Said pointers are placed, based on the phase relationship between said input and output frame synchronizing signal, so that they will not point to the same frame buffers at the same time and are moved forward. . . . | n n. n, a - f. .-. = ~ u »e ß -. n. v v - || n. e. -v - »v m» 1: 1 - ». n »1.- - I -. . u ~. 1.; 1.. . u n a. n u r. u 3 at each reception of a frame synchronizing signal and a framing synchronizing signal, respectively, in a cyclic modulo-3 manner.

För att systemet skall kunna utföra helramsväxling av data, dvs sända en inrams sista inkommande tidlucka som en utrams första utgående tidlucka, och vice versa, behövs en rambuffert. För undvikande av att denna rambuffert inte uppdateras innan data har lästs från den krävs dessutom en andra rambuffert. För anpassning till det faktum att en inram och en utram i nätverk såsom DTM kan vara godtyckligt placerade i fas så länge som det inte finns någon ackumulerad fasdrift mellan de två behövs dessutom en tredje buffert. Märk att även om användning av fler än tre rambuffertar skulle tillfoga ännu mer marginaler mellan läs- och skrivoperationer i förhållande till rambuffertarna, skulle detta även öka fördröjningen genom växeln. Användningen av tre rambuffertar för varje inport anses därför vara den mest föredragna utföringsformen.In order for the system to be able to perform full-frame switching of data, ie to send the last incoming time slot of a frame as the first outgoing time slot of a frame, and vice versa, a frame buffer is needed. In order to avoid that this frame buffer is not updated before data has been read from it, a second frame buffer is also required. In addition, to adapt to the fact that a frame and an output frame in networks such as DTM can be arbitrarily placed in phase as long as there is no accumulated phase operation between the two, a third buffer is also needed. Note that even if the use of more than three frame buffers would add even more margins between read and write operations relative to the frame buffers, this would also increase the delay through the switch. The use of three frame buffers for each input port is therefore considered to be the most preferred embodiment.

När data läses från nämnda buffertar för en tidlucka av en ram som skall sändas från utporten läses enligt uppfinningen, om denna tidlucka är konfigurerad att ta emot data fràn samma luckposition hos en ram som tas emot via nämnda inport, data från en respektive plats hos rambufferten som är belägen en rambuffert framför, på nämnda cykliska sätt, rambufferten som för närvarande anges av nämnda läspekare, vilket därigenom fördelaktigt minskar buffertfördröjningen med avseende på sådana luckor. Som ett resultat av de krav som ställs på pekarna för tillförsäkrande av att de inte anger samma rambuffert samtidigt, kommer deras momentana positioner typiskt att vara sådana att det antingen finns en rambuffert mellan de två eller inga rambuffertar mellan de tvà. I det föregående fallet kan läsning av data en ram framför bufferten som anges av läspekaren alltid utföras. I det senare fallet kommer emellertid skrivningen av luckor i rambufferten som anges av skrivpekaren att vara tidigare 10 15 20 25 30 35 . . « . f | 516 746 4 än en klocka för utgående tidluckor som ger upphov till utläsning av luckor från rambufferten som anges av läspekaren. Följaktligen kommer skrivmekanismen, om data för en uttidluckeposition skall läsas från samma luckposition hos en inram, alltid att ha haft tid att passera nämnda luckposition hos inramen och nämnda läsning av data en rambuffert framför bufferten som anges av läspekaren kan således alltid tillåtas för sådana luckor.When data is read from said buffers for a time slot of a frame to be sent from the output port, according to the invention, if this time slot is configured to receive data from the same slot position of a frame received via said input port, data from a respective location of the frame buffer is read which is located a frame buffer in front of, in said cyclic manner, the frame buffer currently indicated by said reading pointer, thereby advantageously reducing the buffer delay with respect to such gaps. As a result of the requirements placed on the pointers to ensure that they do not specify the same frame buffer at the same time, their instantaneous positions will typically be such that there is either a frame buffer between the two or no frame buffers between the two. In the previous case, reading data a frame in front of the buffer specified by the read pointer can always be performed. In the latter case, however, the writing of gaps in the frame buffer indicated by the writing pointer will be earlier. . «. f | 516 746 4 than a clock for outgoing time slots which gives rise to the reading of slots from the frame buffer specified by the reading pointer. Consequently, if data for an output slot position is to be read from the same slot position of a frame, the writing mechanism will always have had time to pass said slot position of the frame and said reading data a frame buffer in front of the buffer specified by the read pointer may always be allowed for such slots.

Följaktligen kommer, för vilken kanal som helst som växlas från inporten som är associerad med skrivpekaren till utporten som är associerad med läspekaren och som upptar samma luckpositioner inom varje ram som tas emot vid inporten som inom varje ram som skall sändas från utporten, vilkoren för läsning en ram framför läspekaren att vara uppfyllda. Märk att läsning en buffert framför enligt uppfinningen, om den sekventiella ordningen av luckorna hos en sådan kanal måste bibehållas i ordning för bibehållande av kanalkonsistens, måste utföras för alla uttidluckepositioner som definierar kanalen. Detta villkor kommer naturligtvis att uppfyllas om läsning framför enligt uppfinningen endast används för alla luckor hos utramen som inte tidsväxlas med avseende på sina positioner i inramen, oberoende av vilken kanal de tillhör.Consequently, for any channel switched from the input port associated with the write pointer to the output port associated with the read pointer and occupying the same slot positions within each frame received at the input as within each frame to be transmitted from the output port, the read conditions a frame in front of the reading pointer to be met. Note that reading a buffer in front of the invention, if the sequential order of the slots of such a channel must be maintained in order to maintain channel consistency, must be performed for all output time slot positions defining the channel. This condition will of course be fulfilled if front reading according to the invention is only used for all slots of the frame which do not change time with respect to their positions in the frame, regardless of which channel they belong to.

En fördel med uppfinningen är således att den synkroniserar skriv- och läsoperationer i förhållande till bufferten utan att nödvändigtvis låsa inramsynkroniseringssignalen till utramsynkroniseringssignalen, utan att uppfinningen emellertid är begränsad till detta, samtidigt som den minskar fördröjningen för sådana luckor som inte skall tidsväxlas av växeln.An advantage of the invention is thus that it synchronizes write and read operations relative to the buffer without necessarily locking the frame synchronization signal to the frame synchronization signal, without the invention being limited thereto, while reducing the delay for such gaps not to be time-shifted by the switch.

En annan fördel med uppfinningen är att den definierar en enkel regel för att verkligen tillåta användning av en rambuffert för läsning och skrivning samtidigt. Å . » - .e 2. u» lO l5 20 25 30 35 - . . | - . 516 746 5 En annan fördel med uppfinningen är att denna mekanism kan användas individuellt för varje in- /utportkombination. Beteendet för läsaccessen av rambuffertar som används när data läses från en inport till en första utport behöver alltså inte påverka beteendet när nämnda buffertar läsaccessas för läsning av data från nämnda inport till en andra utport.Another advantage of the invention is that it defines a simple rule for really allowing the use of a frame buffer for reading and writing at the same time. Oh. »- .e 2. u» lO l5 20 25 30 35 -. . | -. Another advantage of the invention is that this mechanism can be used individually for each input / output combination. Thus, the behavior of the read access of frame buffers used when reading data from an input port to a first output port need not affect the behavior when said buffers are read access accesses for reading data from said input port to a second output port.

Märk att även om medel tillhandahålls för tillförsäkrande av att läspekaren och skrivpekaren inte anger samma rambuffert samtidigt behöver detta inte betyda att de aldrig tillåts göra det. Exempelvis kan organ för tillhandahållande av en ytterligare marginal för tillåtande av att pekarna anger samma buffert under en kort tidsperiod under stränga bestämmelser kan läggas till systemet.Note that even if means are provided to ensure that the read pointer and the write pointer do not specify the same frame buffer at the same time, this does not necessarily mean that they are never allowed to do so. For example, means for providing an additional margin for allowing the pointers to enter the same buffer for a short period of time under strict regulations may be added to the system.

För såväl ytterligare exemplifierande beskrivning av sådana mekanismer som för ytterligare diskussion med avseende på driften hos ett trippelbuffringssystem av den typ i vilken uppfinningen med fördel implementeras, hänvisas till den ännu ej publicerade svenska patentansökan SE 9704067-9.For further exemplary description of such mechanisms as well as for further discussion with regard to the operation of a triple buffer system of the type in which the invention is advantageously implemented, reference is made to the as yet unpublished Swedish patent application SE 9704067-9.

Eftersom uppfinningen sörjer för en minskning av sambandet mellan läsningen och skrivningen av data i förhållande till ett ramminne, och följaktligen av sambandet mellan ramsynkroniseringssignalerna hos de portar som accessar ramminnet, är uppfinningen speciellt fördelaktig i samband med nätverk i vilka synkroniseringskraven är sådana att varje ramsynkroniseringssignal kan uppvisa ett begränsat jitter och kan vara godtyckligt belägen i fas i förhållande till andra ramsynkroniseringssignaler, men inte kan uppvisa någon ihållande ramdrift i förhållande till andra ramsynkroniseringssignaler_ Ett exempel på ett nätverk av denna typ är DTM-nätverket Mode). nätverk hänvisas till ”The DTM Gigabit Network", (Dynamic synchronous Transfer För ytterligare information avseende ett sådan Christer H w. 10 15 20 25 30 35 » « « | 1 . 516 746 6 Bohm, Per Lindgren, Lars Ramfelt och Peter Sjödin, 3(2):lO9-126, 1994.Since the invention provides for a reduction of the relationship between the reading and writing of data in relation to a frame memory, and consequently of the relationship between the frame synchronization signals of the ports accessing the frame memory, the invention is particularly advantageous in connection with networks in which each synchronization signal can exhibit a limited jitter and may be arbitrarily in phase relative to other frame synchronizing signals, but may not exhibit sustained frame operation relative to other frame synchronizing signals_ An example of a network of this type is the DTM network Mode). network is referred to "The DTM Gigabit Network", (Dynamic synchronous Transfer For further information regarding such Christer H w. 10 15 20 25 30 35 »« «| 1. 516 746 6 Bohm, Per Lindgren, Lars Ramfelt and Peter Sjödin, 3 (2): 10-1-126, 1994.

De ovannämnda egenskaperna, utföringsformerna och Journal of High Speed Networks, aspekter av uppfinningen kommer nu att exemplifieras ytterligare med hänvisning till den bifogade ritningen.The above-mentioned features, embodiments and Journal of High Speed Networks, aspects of the invention will now be further exemplified with reference to the accompanying drawing.

För förenkling av den följande beskrivningen kommer det att antas i det följande att data överförs i ramar med väsentligen fast storlek, som exempelvis har en nominell varaktighet av 125 us, och att början pà varje ram definieras av en ramsynkroniseringssignal, som även kallas för ramstartsignal. Vidare antas det att varje ram delas in i ett flertal tidluckor med fast storlek, t ex 64-bit, som utgör en nyttolast som följer efter ramstartsignalen inom varje ram.To simplify the following description, it will be assumed in the following that data is transmitted in frames of substantially fixed size, which for example have a nominal duration of 125 us, and that the beginning of each frame is defined by a frame synchronizing signal, also called frame start signal. Furthermore, it is assumed that each frame is divided into a plurality of time slots of fixed size, for example 64-bit, which constitute a payload which follows the frame start signal within each frame.

Figur 1 visar ett ramminne 10 som innefattar tre rambuffertar 1-3 för temporär lagring av ramar av luckor som har tagits emot fràn en inport hos en växel.Figure 1 shows a frame memory 10 comprising three frame buffers 1-3 for temporarily storing frames of slots received from an input port of a switch.

Ramminnet 10 är, utöver att det används av nämnda inport, typiskt anordnat att accessas av en eller fler utportar som använder samma ramminne för datahämtning vid sändning av ramar av luckor fràn respektive utport. Var och en av de tre rambuffertarna har kapacitet att lagra en fullständig ram av luckor.The frame memory 10, in addition to being used by said input port, is typically arranged to be accessed by one or more output ports which use the same frame memory for data retrieval when sending frames of gaps from the respective output port. Each of the three frame buffers has the capacity to store a complete frame of gaps.

Sàsom indikeras i Figur 1 kan, samtidigt som en rambuffert uppdateras, de återstående två buffertarna användas för datahämtning. Grunden för rambuffertutväljandet för läsning och skrivning är användningen av en modulo-3-räknare, som räknas upp vid varje förekomst av motsvarande ramstartsignal. För inporten som skriver data i ramminnet 10 tillhandahålls en skrivpekare W som anger vilken buffert av de tre buffertarna som för närvarande skall användas för lagring av en ram som för närvarande tas emot via inporten. Vid varje mottagning av ramstartsignalen frän inporten ökas skrivpekaren W till att ange en nästa rambuffert av de tre rambuffertarna pà ett cykliskt modulo-3-sätt. Pà samma sätt tillhandahålls, för var och en av utportarna u n; lO 15 20 25 30 35 . . v - m 516 746 7 som är anordnad att läsa data från ramminnet 10, en läspekare R som anger vilken rambuffert av de tre rambuffertarna som för närvarande skall användas för läsning av luckor som skall sändas från respektive utport. Vid varje förekomst av utportramstartsignalen ökas respektive läspekare R så att den anger en nästa rambuffert av de tre rambuffertarna på ett cykliskt modulo-3-sätt.As indicated in Figure 1, while updating a frame buffer, the remaining two buffers can be used for data retrieval. The basis for the frame buffer selection for reading and writing is the use of a modulo-3 counter, which is counted at each occurrence of the corresponding frame start signal. For the input port writing data in the frame memory 10, a write pointer W is provided which indicates which buffer of the three buffers is currently to be used for storing a frame currently received via the input port. At each reception of the frame start signal from the input, the write pointer W is incremented to indicate a next frame buffer of the three frame buffers in a cyclic modulo-3 mode. In the same way provided, for each of the outputs u n; lO 15 20 25 30 35. . v - m 516 746 7 which is arranged to read data from the frame memory 10, a reading pointer R which indicates which frame buffer of the three frame buffers is currently to be used for reading gaps to be sent from the respective output port. At each occurrence of the output frame start signal, the respective read pointer R is incremented to indicate a next frame buffer of the three frame buffers in a cyclic modulo-3 mode.

Följaktligen tillhandahålls en unik läspekare i intervallet O, l, 2 för varje in-/utportkombination, vilket gör det möjligt att tillhandahålla fullständigt oberoende hämtning av data i de lagrade ramarna vid vilken hastighetskombination som helst så länge som den (typiskt 125us). Märk som kommer från en nominella ramfrekvensen är densamma att en unik rambuffertplatsadress, tidluckavbildningstabell (som kommer att beskrivas mer detaljerat nedan med hänvisning till figurerna 4 och 5), kommer att tillhandahållas, utöver denna läspekare, vid varje hämtning för identifiering för varje utgående tidlucka av den specifika plats i rambufferten från vilken data skall låsas.Accordingly, a unique read pointer is provided in the range 0, 1, 2 for each input / output combination, which makes it possible to provide completely independent retrieval of data in the stored frames at any speed combination for as long as it (typically 125us). Marks coming from a nominal frame rate are the same that a unique frame buffer location address, time slot mapping table (which will be described in more detail below with reference to Figures 4 and 5), will be provided, in addition to this reading pointer, at each retrieval for identification of each outgoing time slot of the specific location in the frame buffer from which data is to be locked.

Om det exempelvis antas att pekaren W för närvarande pekar rambufferten 3 i Figur 1, kan läspekaren R för en utport peka på rambufferten l, såsom indikeras av den heldragna pilen, eller på rambufferten 2, såsom indikeras av den streckade pilen. Det antas nu att förhållandet mellan in- och utramstartsignalerna har fastställts till sådant att läspekaren R kommer att flyttas fram innan skrivpekaren W flyttas fram, som ett resultat av det faktum att nästa förekomst av utramstartssignalen kommer att äga rum före nästa förekomst av inramstartssignalen.For example, if it is assumed that the pointer W is currently pointing the frame buffer 3 in Figure 1, the read pointer R for an output port can point to the frame buffer 1, as indicated by the solid arrow, or to the frame buffer 2, as indicated by the dashed arrow. It is now assumed that the relationship between the input and output start signals has been determined so that the read pointer R will be advanced before the write pointer W is advanced, as a result of the fact that the next occurrence of the output start signal will occur before the next occurrence of the input start signal.

För tillförsäkrande av buffertkonsistens skall läspekaren sedan företrädesvis inte tillåtas flyttas fram så att den anger samma rambuffert som den som för närvarande anges av läspekaren W, dvs rambufferten 3, eftersom data i rambufferten 3 i såfall potentiellt kan läsas innan de Därför skulle, har blivit skrivna. i den antagna «~ H. lO l5 20 25 30 35 . V . | » w 516 746 8 situationen, den för närvarande korrekta positionen för läspekaren vara att ange rambufferten 1, dvs rambufferten som indikeras av den heldragna pilen till vänster i Figur l.To ensure buffer consistency, the reading pointer should then preferably not be allowed to move forward so that it indicates the same frame buffer as that currently indicated by the reading pointer W, i.e. the frame buffer 3, since data in the frame buffer 3 can then potentially be read before they have been written. . in the assumed «~ H. lO l5 20 25 30 35. V. | »W 516 746 8 situation, the currently correct position for the reading pointer is to enter the frame buffer 1, i.e. the frame buffer indicated by the solid arrow to the left in Figure 1.

Denna situation beskrivs nu mer detaljerat med hänvisning till Figur 2, varvid placeringen av läspekaren och skrivpekaren således antas vara sädana att skrivpekaren pekar tvà rambuffertar framför skrivpekaren.This situation is now described in more detail with reference to Figure 2, whereby the location of the reading pointer and the writing pointer is thus assumed to be such that the writing pointer points two frame buffers in front of the writing pointer.

Oberoende av vilken luckposition hos rambufferten l som en dataläsenhet (såsom tidluckavbildningstabellen som skall beskrivas nedan) anger, dvs vilken plats i rambufferten som data skall hämtas fràn, skulle det inte ge upphov till någon buffertinkonsistens om nämnda hämtning skulle utföras en ram framför, dvs om data istället hämtades frán motsvarande plats eller luckposition hos rambufferten 2, så länge som sàdan läsning framför utförs för alla tidluckepositioner som definierar samma kanal och för alla ramar som skall sändas fràn utporten som läspekaren hänför sig till.Regardless of which slot position of the frame buffer 1 as a data reader (such as the time slot mapping table to be described below) indicates, i.e. which location in the frame buffer data is to be retrieved from, it would not give rise to any buffer inconsistency if said retrieval was performed a frame in front, i.e. data was instead retrieved from the corresponding location or slot position of the frame buffer 2, as long as such forward reading is performed for all time slot positions defining the same channel and for all frames to be transmitted from the output port to which the read pointer refers.

Det antas sedan att en nästa utramstartsignal tas emot, vilken ger upphov till att läspekaren flyttas framåt ett steg så att den anger rambufferten 2. Denna situation beskrivs nu mer detaljerat med hänvisning till Figur 3. Eftersom skrivpekaren nu pekar en rambuffert framför läspekaren, får läsning av data en rambuffert framför rambufferten som för närvarande anges av läspekaren nu endast utföras om data skall hämtas fràn en plats eller tidlucka som har en lägre luckposition eller ett lägre tidluckenummer än den plats eller luckposition till vilken skriving för närvarande sker, såsom schematiskt indikeras i Figur 3.It is then assumed that a next frame start signal is received, which causes the read pointer to move forward one step so that it indicates frame buffer 2. This situation is now described in more detail with reference to Figure 3. Since the write pointer now points a frame buffer in front of the read pointer, read of data a frame buffer in front of the frame buffer currently specified by the read pointer is now performed only if data is to be retrieved from a location or time slot having a lower slot position or a lower time slot number than the location or slot position to which writing is currently taking place, as schematically indicated in Figure 3.

Exempelvis kommer skrivkomponenterna som skriver data i rambufferten 3, när utportskomponenterna är redo att hämta data för den första tidluckan hos utramen, att exempelvis redan vara vid platsen tjugoett hos rambufferten 3. Om avbildningsinstruktionerna för den första tidluckan hos utramen anger att data skall hämtas lO l5 20 25 30 35 516 746 9 frän den första tidluckan hos inramen, kommer läsning en ram framför hos rambufferten 2, som anges av läspekaren, för denna tidlucka följaktligen inte nödvändigtvis ge upphov till buffertinkonsistens. Pà liknande sätt kommer skrivkomponenterna som skriver data i rambufferten 3, när utportkomponenterna är redo att hämta data för tidluckan trettioett hos utramen, pä liknande sätt redan vara vid positionen femtioett hos rambufferten 3. Om avbildningsinstruktionerna för tidluckan trettioett hos utramen anger att data skall hämtas frän tidluckan trettioett hos inramen, kommer läsning en tidlucka framför av rambufferten 2 som anges av läspekaren fortfarande inte nödvändigtvis ge upphov till buffertinkonsistens. Följaktligen kommer, för alla kanaler som växlas från inporten som är associerad med skrivpekarn till utporten som är associerad med läspekaren och som upptar samma luckposition inom varje ram som tas emot vid inporten som inom varje ram som skall sändas fràn utporten, villkoren för läsning en ram framför av läspekaren att vara uppfyllda.For example, when the output components write data in the frame buffer 3, when the output components are ready to retrieve data for the first time slot of the frame, for example, will already be at the twenty-first location of the frame buffer 3. If the mapping instructions for the first time slot of the frame indicate that data is retrieved Consequently, from the first time slot of the frame, reading a frame in front of the frame buffer 2, indicated by the reading pointer, for this time slot does not necessarily give rise to buffer inconsistency. Similarly, when the output components writing data in frame buffer 3, when the output components are ready to retrieve data for time slot thirty-one of the frame, will similarly already be at position fifty-one of frame buffer 3. If the imaging instructions for time slot thirty-one at frame indicate time slot thirty-one of the frame, reading a time slot in front of the frame buffer 2 indicated by the reading pointer will still not necessarily give rise to buffer inconsistency. Consequently, for all channels switched from the input port associated with the write pointer to the output port associated with the read pointer and occupying the same slot position within each frame received at the input as within each frame to be transmitted from the output port, a frame reads in front of the reading pointer to be met.

Ett exempel pä komponenter och mekanismer som används för skrivning och läsning av data frän en trippelbuffert av den typ som visas i Figurerna l-2 kommer nu att beskrivas med hänvisning till Figur 4.An example of components and mechanisms used for writing and reading data from a triple buffer of the type shown in Figures 1-2 will now be described with reference to Figure 4.

Figur 4 visar schematiskt en del 200 av en växel som innefattar anordningen en trippelbuffert 220, som innefattar rambuffertarna 220a-220c, med avseende pà en in-/utportkombination. Utöver trippelbufferten 220 innefattar en räknare 250 för utväljande av skrivbuffert, en indemultiplexor 210, en räknare 240 för inkommande tidluckor, en räknare 260 för utgàende tidluckor, en räknare 270 för utväljande av läsbuffert, en utmultiplexor 230, en tillstàndsmaskin 290 för buffertsekvensering och en tidluckavbildningstabell 280.Figure 4 schematically shows a part 200 of a gear comprising the device a triple buffer 220, which comprises the frame buffers 220a-220c, with respect to an input / output combination. In addition to the triple buffer 220, a write buffer select counter 250 includes an indemultiplexer 210, an incoming time slot counter 240, an outgoing time slot counter 260, a read buffer select counter 270, an output multiplexer 230, a state time slot 290, and a time lapse machine. 280.

Under drift indikerar en inramstartsignal 208 förekomster av ramstartsignalen hos ramarna som tas emot vid inporten och tillhandahålls till räknaren 240 för 10 15 20 25 30 35 - ~ - ~ » n 516 746 10 inkommande tidluckor, tillståndsmaskinen 290 och räknaren 250 för utvåljande av skrivbuffert. Räknaren 250 för utväljande av skrivbuffert använder inramstartsingalen 208 för triggning av framflyttning av en modulo-3-pekare som utgör utmatning till demultiplexorn 210.In operation, a frame start signal 208 indicates instances of the frame start signal of the frames received at the input and provided to the incoming time slot counter 240, the state machine 290 and the write buffer selection counter 250. The write buffer selection counter 250 uses the frame start single 208 to trigger the advancement of a modulo-3 pointer which is output to the demultiplexer 210.

Demultiplexorn 210 skriver ramar 209, som tas emot vid inporten, till en rambuffert såsom identififeras av modulo-3-pekaren från räknaren 250. Utpekaren från räknaren 250 för utväljande av skrivbuffert tillhandahålls även till räknaren 270 för utväljande av läsbuffert.The demultiplexer 210 writes frames 209 received at the input to a frame buffer as identified by the modulo-3 pointer from the counter 250. The pointer from the write buffer selection counter 250 is also provided to the read buffer selection counter 270.

Samtidigt styr räknaren 240 för inkommande tidluckor vilken plats i bufferten som varje sekventiell tidlucka i inramen skrivs i. Räknaren 240 för inkommande tidluckor återställs vid varje mottagning av ramstartsignalen 208 och räknar, med en luckfrekvens takt från en första plats till en sista plats i bufferten i sekventiell ordning, luckorna i varje ram vilka därigenom skrivs i rambufferten så att de placeras i denna med bibehållen sekventiell luckordning.At the same time, the incoming time slot counter 240 controls which location in the buffer each sequential time slot in the frame is written in. sequential order, the slots in each frame which are thereby written in the frame buffer so that they are placed in it with sequential slot order maintained.

Utramstartsignalen 232 indikerar förekomster av ramstartsignalen för ramar som skall sändas från utporten. Den tillhandahålls till räknaren 260 för utgående tidluckor, tillståndsmaskinen 290 och räknaren 270 för utväljande av läsbuffert. Den senare använder ramstartsignalen 232 för triggning av framflyttande av en modulo-3-pekare som utgör utmatning till multiplexorn 230. Multiplexorn 230 vidarebefordrar data, som hämtas från rambufferten som identifieras modulo-3-pekaren från räknaren 270, till utporten.The frame start signal 232 indicates instances of the frame start signal for frames to be transmitted from the output port. It is provided to the outgoing time slot counter 260, the state machine 290 and the read buffer selection counter 270. The latter uses the frame start signal 232 to trigger the advancement of a modulo-3 pointer which is output to the multiplexer 230. The multiplexer 230 forwards data retrieved from the frame buffer identified by the modulo-3 pointer from the counter 270 to the output port.

Baserad på de ovannämnda insignalerna är tillståndsmaskinen 290 anordnad att tillhandahålla en styrsignal till råknaren 270 för utväljande av läsbuffert, varvid nämnda styrsignal fastställs av fassambandet mellan in- och utramstartsignalerna, såsom diskuteras ovan med hänvisning till Figurerna 1-3. 1 . - , 1 u lO l5 20 25 30 35 A . K , x f 516 746 ll Baserat på styrsignalen som tas emot från tillståndsmaskinen 290 kommer räknaren 270 för utväljande av läsbuffert att placera sin utmatade läspekare en eller två rambuffertar bakom rambufferten som identifieras av signalen från räknaren 250 för utväljande av skrivbuffert och fortsätta att använda ramstartsignalen 232 för triggning av framflyttning av modulo-3-pekaren. Dessutom kommer räknaren 270 för utväljande av läsbuffert, om så indikeras av en förskjutningssignal som tas emot från tidluckavbildningstabellen 280, för individuella, specifika luckor i en utram att temporärt räkna upp räknaren som tillhandahålls till multiplexorn 230, vilket därigenom ger upphov till en utläsning av data en rambuffert framför för sådana luckor.Based on the above-mentioned input signals, the state machine 290 is arranged to provide a control signal to the counter 270 for selecting read buffer, said control signal being determined by the phase relationship between the input and output start signals, as discussed above with reference to Figures 1-3. 1. -, 1 u lO l5 20 25 30 35 A. K, xf 516 746 ll Based on the control signal received from the state machine 290, the read buffer selection counter 270 will place its output read pointer one or two frame buffers behind the frame buffer identified by the signal from the write buffer selection counter 250 and continue to use the frame start signal 232. for triggering the advancement of the modulo-3 pointer. In addition, the read buffer selection counter 270, if indicated by an offset signal received from the time slot mapping table 280, for individual, specific slots in a frame will temporarily count up the counter provided to the multiplexer 230, thereby giving rise to a readout of data. a frame buffer in front of such gaps.

Vidare återställs räknaren 260 för utgående tidluckor vid varje mottagning av utramstartsignalen 232 och räknar med en takt av utgående tidluckors frekvens för adressering av en första plats till en sista plats i en tidluckavbildningstabell 280 i sekventiell ordning och stegar således igenom tidluckavbildningstabellen en gång för varje utram. För varje specifik uttidlucka kommer räknaren 260 för utgående tidluckor således att peka pà en respektive plats i tidluckavbildningstabellen 280.Further, the output time slot counter 260 is reset at each reception of the frame start signal 232 and calculates a rate of the output of the time slot for addressing a first location to a last location in a time slot mapping table 280 in sequential order and thus steps through the time slot mapping table once for each frame. Thus, for each specific time slot, the outgoing time slot counter 260 will point to a respective location in the time slot mapping table 280.

Tidluckavbildningstabellen 280 (för vilken ett tillhandahåller en respektive utförande visas mer detaljerat i Figur 5) i sin tur, för varje position i denna, a) adress till trippelbufferten 220, som anger från vilken position av denna som luckdata skall hämtas, b) en respektive identifikation av vilken inport, dvs vilken trippelbuffert som data skall hämtas från, och c) en respektive förskjutning som utgör nämnda förskjutningssignal till räknaren 270 för utväljande av läsbuffert. Märk att portidentifikationssignalen b) inte indikeras i Figur 4. Platserna i tidluckavbildningstabellen 280 definierar således den önskade lucktidindelningen för utramen. m hm lO 15 20 25 30 35 » | . . .- 516 746 12 Märk att adressen som tillhandahålls från tidluckavbildningstabellen 280 som en ingång till vid drift i förhållande till ett till alla trippelbuffertar, dvs till trippelbufferten hos varje trippelbufferten 220, flertal inportar, kan sändas ut ("multicast") inport, och nämnda förskjutning kan sändas ut till alla räknare för utväljande av läsbuffert som verkar i förhållande till en kombination av utporten som är associerad med nämnda tidluckavbildningstabell och en respektive inport. Vidare kommer nämnda identifikation som anger vilken inport som dess data skall hämtas från tillhandahållas till en ytterligare multiplexor (inte visad) som hämtar data från nämnda för utväljande läsbuffert avsedda räknare för utväljande av vilka av nämnda data som skall vidarebefordras för den specifika uttidluckan.The time slot mapping table 280 (for which one provides a respective embodiment is shown in more detail in Figure 5) in turn, for each position therein, a) address of the triple buffer 220, indicating from which position of this the slot data is to be retrieved, b) a respective identification of which input, i.e. which triple buffer the data is to be retrieved from, and c) a respective offset constituting said offset signal to the counter 270 for selecting read buffer. Note that the port identification signal b) is not indicated in Figure 4. The locations in the time slot mapping table 280 thus define the desired slot time division for the frame. m hm lO 15 20 25 30 35 »| . . Note that the address provided from the time slot mapping table 280 as an input to in operation relative to one to all triple buffers, i.e. to the triple buffer of each triple buffer 220, multiple inputs, can be sent out ("multicast") input port, and said offset can be sent out to all counters for selecting read buffer operating in relation to a combination of the output port associated with said time slot mapping table and a respective input port. Furthermore, said identification indicating which input its data is to be retrieved from will be provided to an additional multiplexer (not shown) which retrieves data from said selectable buffer buffer for selecting which of said data is to be forwarded for the specific time slot.

Såsom visas i den exemplifierande tidluckavbildningstabellen SMT som visas i Figur 5 adresseras tabellen av utsignalen från en räknare SC för utgående tidluckor (260 i Figur 4). Vid var och en av platserna tillhandahåller en första kolumn ”INTIDLUCKA” respektive adress till trippelbufferten, som anger från vilken plats av denna som luckdata skall hämtas, tillhandahåller en andra kolumn "INPORT" identifikation av vilken inport, dvs vilken respektive trippelbuffert som data skall hämtas från för respektive utport och tillhandahåller en tredje kolumn ”FÖRSKJUTNING” en respektive förskjutning som utgör nämnda förskjutningssignal, vilken typiskt tillhandahålls till en mekanism för utväljande av läsbuffert (270 i Figur 4).As shown in the exemplary time slot mapping table SMT shown in Figure 5, the table is addressed by the output of an output time slot counter SC (260 in Figure 4). At each of the locations, a first column provides "INTID HOLIDAY" and the address of the triple buffer, respectively, indicating from which location thereof the data to be retrieved, a second column "INPORT" provides identification of which input, ie which respective triple buffer the data is to be retrieved from. from for each output port and a third column "OFFSET" provides a respective offset constituting said offset signal, which is typically provided to a reading buffer selection mechanism (270 in Figure 4).

Att märka i Figur 5 är att om positionen eller platsen hos en trippelbuffert som återfinns i kolumnen ”INTIDLUCKA” är densamma som positionen eller platsen hos tidluckavbildningstabellen SMT som sådan, vilket således indikerar att luckpositionen från vilken data skall hämtas från den inkommande ramen är densamma som 10 15 20 25 30 35 516 746 13 positionen för tidluckan i den utgående ramen i vilken nämnda data skall sändas, till ett sätts förskjutningssignalen (1), vilket således indikerar att läsning en rambuffert framför är tillåten. I Figur 5 är detta exempelvis giltigt för enheterna O, l, 2, 6, 7, . . ., och 999. Förskjutningen sätts således till ett (1) för dessa platser. Detta är emellertid inte giltigt för platserna 3,4 och 5, varvid förskjutningen i detta fall således sätts till noll (O).Note in Figure 5 that if the position or location of a triple buffer found in the "INTIMATE DOOR" column is the same as the position or location of the time slot mapping table SMT as such, thus indicating that the slot position from which data is to be retrieved from the incoming frame is the same as The position of the time slot in the outgoing frame in which said data is to be transmitted, to one the offset signal (1) is set, which thus indicates that reading a frame buffer in front is permitted. In Figure 5, this is valid, for example, for units 0, 1, 2, 6, 7,. . ., and 999. The offset is thus set to one (1) for these locations. However, this is not valid for places 3,4 and 5, whereby the displacement in this case is thus set to zero (0).

I Figur 6 har en växel S två gränssnitt mot två respektive enkelriktade kommunikationsbussar A och B på vilka ramar av luckor sänds på ett fleraccessätt. Såsom visas tar växel emot en inram från bussen A som innefattar luckorna Al-A4 och en inram från bussen B som innefattar luckorna Bl-B4. I ramen som utmatas på bussen A har de tre första luckorna Al-A3 exakt samma positioner som i den mottagna ramen. Läsning av data för dessa tre luckor en rambuffert framför enligt uppfinningen, och såsom beskrivits ovan, används därför för dessa tre utluckor. Data för den fjärde tidluckan som skall utmatas på biströmmen A skall emellertid hämtas från den andra tidluckan B2 i ramen som togs emot på bussen B. För denna tidlucka kommer därför alternativet att läsa en rambuffert framför typiskt inte att vara en giltig operation.In Figure 6, a switch S has two interfaces to two and one-way communication buses A and B, respectively, on which frames of slots are transmitted in a multi-access manner. As shown, the gear unit receives a frame from the bus A comprising the slots A1-A4 and a frame from the bus B comprising the slots B1-B4. In the frame discharged on bus A, the first three slots A1-A3 have exactly the same positions as in the received frame. Reading data for these three slots a frame buffer in front of the invention, and as described above, is therefore used for these three slots. However, data for the fourth time slot to be output on the substream A must be retrieved from the second time slot B2 in the frame received on the bus B. For this time slot, therefore, the option to read a frame buffer in front will typically not be a valid operation.

Följaktligen kommer, för vilken kanal som helst som definieras av luckor av en ram som överförs på en fleraccessbuss och som bara skall vidarebefordras av växeln nedströms i samma tidlucka och på samma buss som den togs emot på, villkoren att vara uppfyllda för läsning en ram framför av läspekaren i förhållande till en trefaldig (eller mer) buffert av den typ som uppfinningen inriktar sig på. Även om exemplifierande utföringsformer av uppfinningen har beskrivits i detalj ovan, kan modifieringar, kombinationer och förändringar av dessa göras, såsom kommer att framgå för fackmannen inom - \ » . ~| :f .n- -- 1 1 2 » u - .~» . -. .ß ~. .. n , u 1 1 »g ' =. v. 1: »= s - ; = u k..Consequently, for any channel defined by slots of a frame transmitted on a multi-access bus and to be forwarded only by the switch downstream in the same time slot and on the same bus on which it was received, the conditions for reading a frame in front will be met. of the reading pointer relative to a triple (or more) buffer of the type to which the invention is directed. Although exemplary embodiments of the invention have been described in detail above, modifications, combinations and alterations thereof may be made, as will be apparent to those skilled in the art. ~ | : f .n- - 1 1 2 »u -. ~». -. .ß ~. .. n, u 1 1 »g '=. v. 1: »= s -; = u k ..

M - f 1,, _. zç» z « i. : » f l f: . .-; n ; 1 . n v : > - v . _ \. «. 1 1..,- 14 området, inom uppfinningens ram, vilken definieras av de åtföljande patentkraven.M - f 1 ,, _. zç »z« i.: »f l f:. .-; n; 1. n v:> - v. _ \. «. The field, within the scope of the invention, which is defined by the appended claims.

Claims (9)

10 15 20 25 30 35 -V-u « > | u , f m: . v en » fi « f , ., V 1- 1» v. n: s s - a '- z v f; -_= un» n; -f a w 1; i. ; s r o v 1 n = e y x -a X n V! 15 PATENTKRAV10 15 20 25 30 35 -V-u «> | u, f m:. v en »fi« f,., V 1- 1 »v. n: s s - a '- z v f; -_ = un »n; -f a w 1; i .; s r o v 1 n = e y x -a X n V! 15 PATENT REQUIREMENTS 1. Förfarande för styrning av dataöverföring, varvid nämnda förfarande innefattar stegen: att temporärt lagra ramar av tidluckor som tas emot via en inport hos en växel i tre eller flera rambuffertar; att tillhandahålla en skrivpekare som anger vilken rambuffert av nämnda tre eller flera rambuffertar som används för lagring av en ram av luckor som för närvarande tas emot via nämnda inport; att tillhandahålla en läspekare som anger vilken rambuffert av nämnda tre eller flera rambuffertar som skall användas för läsning av data som skall sändas i ramar fràn en utport hos nämnda växel; att flytta fram nämnda skrivpekare sä att den anger en nästa rambuffert av nämnda rambuffertar pà ett cykliskt sätt som ett resultat av varje mottagning av en första signal som hänför sig till början pà en nästa ram av luckor som tas emot via nämnda inport; att flytta fram nämnda läspekare sä att den anger en nästa rambuffert av nämnda rambuffertar pà ett cykliskt sätt som ett resultat av varje mottagning av en andra signal som hänför sig till början pà en nästa ram av luckor som skall sändas fràn nämnda utport; att placera nämnda pekare sà att ingen av nämnda pekare kommer att flyttas fram sä att den anger samma rambuffert som den andra pekaren av nämnda pekare; att för den n:te tidluckan av ramar som skall sändas fràn nämnda utport, om den är konfigurerad för mottagning av data fràn den n:te tidluckan av ramar som tas emot via nämnda utport, läsa data fràn en respektive plats hos rambufferten som, pà nämnda cykliska sätt, är belägen en rambuffert framför rambufferten som för närvarande anges av nämnda läspekare.A method of controlling data transmission, said method comprising the steps of: temporarily storing frames of time slots received via an input port of a switch in three or more frame buffers; providing a write pointer indicating which frame buffer of said three or more frame buffers is used for storing a frame of gaps currently received via said input port; providing a read pointer indicating which frame buffer of said three or more frame buffers is to be used for reading data to be transmitted in frames from an output port of said exchange; advancing said write pointer so as to indicate a next frame buffer of said frame buffers in a cyclic manner as a result of each reception of a first signal relating to the beginning of a next frame of gaps received via said input port; advancing said reading pointer so as to indicate a next frame buffer of said frame buffers in a cyclic manner as a result of each reception of a second signal relating to the beginning of a next frame of gaps to be transmitted from said output port; positioning said pointer so that none of said pointers will be advanced so that it indicates the same frame buffer as the other pointer of said pointer; for the nth time slot of frames to be transmitted from said output port, if it is configured to receive data from the nth time slot of frames received via said output port, read data from a respective location of the frame buffer which, on said cyclic mode, a frame buffer is located in front of the frame buffer currently indicated by said reading pointer. 2. Förfarande enligt patentkrav 1, varvid nämnda lagringssteg innefattar lagring av den n:te tidluckan hos lO 15 20 25 30 35 » . > . . . 516 746 16 varje ram som tas emot via nämnda inport i en nzte plats hos nämnda rambuffert som anges av nämnda skrivpekare vid en respektive tidpunkt; och varvid nämnda läsningssteg innefattar läsning, för den nzte tidluckan av varje ram som skall sändas från nämnda utport, om den är konfigurerad att ta emot data fràn den nzte tidluckan av ramar som tas emot via nämnda inport, av data fràn nämnda nzte plats hos rambufferten som, pà nämnda cykliska sätt, är belägen en rambuffert framför rambufferten som anges av nämnda läspekare vid en respektive tidpunkt.The method of claim 1, wherein said storing step comprises storing the nth time slot of 10 15 20 25 30 35 ». >. . . Each frame received via said input port in a nzte location of said frame buffer specified by said write pointer at a respective time; and wherein said reading step comprises reading, for the nth time slot of each frame to be transmitted from said output port, if it is configured to receive data from the nth time slot of frames received via said input port, data from said nth place of the frame buffer which, in said cyclic manner, is located a frame buffer in front of the frame buffer indicated by said reading pointer at a respective time. 3. Förfarande enligt patentkrav 1, varvid nämnda placeringssteg innefattar detektering av vilken av nämnda första signal och nämnda andra signal som tas emot först i tiden och justering av en eller bàda av nämnda pekare så att rambufferten som anges av nämnda skrivpekare, om nämnda första signal tas emot först, är ätminstone tvà rambuffertar framför, pà nämnda cykliska sätt, rambufferten som anges av nämnda läspekare, eller sä att rambufferten som anges av nämnda läspekare, om nämnda andra signal tas emot först, är åtminstone tvà rambuffertar framför, pà nämnda cykliska sätt, rambufferten som anges av nämnda skrivpekare.The method of claim 1, wherein said locating step comprises detecting which of said first signal and said second signal is received first in time and adjusting one or both of said pointers so that the frame buffer specified by said write pointer, if said first signal received first, are at least two frame buffers in front, in said cyclic manner, the frame buffer indicated by said read pointer, or so that the frame buffer specified by said read pointer, if said second signal is received first, are at least two frame buffers in front, in said cyclic manner , the frame buffer specified by said write pointer. 4. Förfarande enligt patentkrav 1, innefattande stegen: att tillhandahålla en ytterligare läspekare som anger vilken rambuffert av nämnda tre eller flera rambuffertar som skall användas för läsning av data som skall sändas i ramar frän en annan utport hos nämnda växel; att flytta fram nämnda ytterligare läspekare så att den anger en nästa rambuffert av nämnda rambuffertar pà ett cykliskt sätt som ett resultat av varje mottagning av en tredje signal som hänför sig till början pà en nästa ram av luckor som skall sändas fràn nämnda ytterligare utport; att placera nämnda pekare sà att ingen av nämnda skrivpekare och nämnda ytterligare läspekare kommer att < . 1 l 1 » lO l5 20 25 30 35 u vf» 516 746 17 flyttas fram så att den anger samma rambuffert som någon annan pekare.The method of claim 1, comprising the steps of: providing an additional read pointer indicating which frame buffer of said three or more frame buffers is to be used for reading data to be transmitted in frames from another output port of said exchange; advancing said further reading pointer so as to indicate a next frame buffer of said frame buffers in a cyclic manner as a result of each reception of a third signal relating to the beginning of a next frame of gaps to be transmitted from said further output port; to position said pointer so that none of said writing pointer and said additional reading pointer will <. 1 l 1 »lO l5 20 25 30 35 u vf» 516 746 17 is moved forward so that it indicates the same frame buffer as any other pointer. 5. Förfarande enligt patentkrav 4, innefattande stegen att för den nzte tidluckan av ramar som skall sändas från nämnda ytterligare utport, om den är konfigurerad att ta emot data fràn den nzte tidluckan av ramar som tas emot via nämnda inport, läsa data fràn en respektive plats hos rambufferten som är, pà nämnda cykliska sätt, belägen en rambuffert framför rambufferten som för närvarande anges av nämnda ytterligare läspekare.The method of claim 4, comprising the steps of reading for the ninth time slot of frames to be transmitted from said additional output, if configured to receive data from the nth time slot of frames received via said input port, from a respective time slot place of the frame buffer which is, in said cyclic manner, located a frame buffer in front of the frame buffer currently indicated by said further reading pointer. 6. Anordning för växling av data mellan portar hos nämnda anordning, vilken anordning innefattar: ett lagringsorgan som tillhandahåller tre eller flera rambuffertar som är avsedda att användas för temporär lagring av ramar av luckor som tas emot via en inport hos nämnda anordning; ett skrivpekarorgan för angivande av vilken rambuffert av nämnda tre eller flera rambuffertar som är avsedd att användas för lagring av en ram av luckor som för närvarande tas emot via nämnda inport, varvid nämnda skrivpekarorgan är anordnat att flyttas fram för angivande av en nästa rambuffert av nämnda tre eller flera rambuffertar pà ett cykliskt sätt som ett resultat av varje mottagning av en första signal som hänför sig till början pä en nästa ram av luckor som tas emot vid nämnda inport; ett läspekarorgan för angivande av vilken rambuffert av nämnda tre eller flera rambuffertar som för närvarande används för läsning av data som skall sändas i ramar fràn en utport hos nämnda anordning, varvid nämnda läspekarorgan är anordnat att flyttas fram för angivande av en nästa rambuffert av nämnda tre eller flera rambuffertar pà ett cykliskt sätt som ett resultat av varje mottagning av en andra signal som hänför sig till början av en nästa ram av luckor som skall sändas fràn nämnda utport; och 1 . . . . . lO 15 20 25 30 35 H == , . « . = » .- 516 746 H ..- 18 ett styrorgan för styrning av nämnda pekarorgans drift för placering av nämnda pekare så att ingen av nämnda pekare kommer att flyttas fram så att den anger samma rambuffert som den andra pekaren av nämnda pekare; ett utväljandeorgan som är anordnat att för den n:te tidluckan av ramar som skall sändas fràn utporten, om den är konfigurerad att ta emot data fràn den n:te tidluckan av ramar som tas emot via nämnda inport, välja ut data fràn en respektive plats hos rambufferten som är belägen en rambuffert framför, pà nämnda cykliska sätt, rambufferten som för närvarande anges av nämnda läspekarorgan.An apparatus for exchanging data between ports of said device, the device comprising: a storage means providing three or more frame buffers for use in temporarily storing frames of gaps received via an input port of said device; a writing pointer means for indicating which frame buffer of said three or more frame buffers is intended to be used for storing a frame of gaps currently received via said input port, said writing pointer means being arranged to move forward to indicate a next frame buffer of said three or more frame buffers in a cyclic manner as a result of each reception of a first signal relating to the beginning of a next frame of slots received at said input port; a reading pointer means for indicating which frame buffer of said three or more frame buffers is currently used for reading data to be transmitted in frames from an output port of said device, said reading pointer means being arranged to move forward to indicate a next frame buffer of said three or several frame buffers in a cyclic manner as a result of each reception of a second signal relating to the beginning of a next frame of gaps to be transmitted from said output port; and 1. . . . . lO 15 20 25 30 35 H ==,. «. A control means for controlling the operation of said pointer means for positioning said pointers so that none of said pointers will be advanced so as to indicate the same frame buffer as the second pointer of said pointers; a selecting means arranged to select for the nth time slot of frames to be transmitted from the output port, if it is configured to receive data from the nth time slot of frames received via said input port, for data from a respective location of the frame buffer located a frame buffer in front of, in said cyclic manner, the frame buffer currently indicated by said reading pointer means. 7. Anordning enligt patentkrav 6, varvid nämnda lagringsorgan är anordnat att lagra den n:te tidluckan hos varje ram som tas emot via nämnda inport i en n:te plats hos rambufferten vid en respektive tidpunkt som anges av nämnda skrivpekare, och varvid nämnda utväljandeorgan innefattar utväljande, för den n:te tidluckan hos varje ram som skall sändas fràn nämnda utport om den är konfigurerad att ta emot data fràn den n:te tidluckan av ramar som tas emot via nämnda inport, av data fràn nämnda n:te plats hos rambufferten som, pà nämnda cykliska sätt, är belägen en rambuffert framför rambufferten som anges av nämnda läspekare vid en respektive tidpunkt.An apparatus according to claim 6, wherein said storage means is arranged to store the nth time slot of each frame received via said input in a nth place of the frame buffer at a respective time specified by said write pointer, and wherein said selecting means comprises selecting, for the nth time slot of each frame to be transmitted from said output port if it is configured to receive data from the nth time slot of frames received via said input port, data from said nth place of the frame buffer which, in said cyclic manner, is located a frame buffer in front of the frame buffer indicated by said reading pointer at a respective time. 8. Anordning enligt patentkrav 6 eller 7, innefattande: N inportar M utportar; N skrivpekarorgan av ovannämnda typ, vilka vart och ett är anordnat att verka i förhållande till en respektive inport; N lagringsorgan av ovannämnda typ, vilka vart och ett är anordnat att temporärt lagra ramar av tidluckedata som tas emot vid en respektive inport; NxM läspekarorgan av ovannämnda typ, vilka var och en är anordnade att verka i förhållande till en respektive in-/utportskombination; och NxM utväljandeorgan av ovannämnda typ, vilka vart och ett är anordnat att verka i förhållande till en respektive in- /utportskombination. » v . » . | . , » . .- 516 746 19Device according to claim 6 or 7, comprising: N inputs M outputs; N writing pointer means of the above-mentioned type, each of which is arranged to operate in relation to a respective input port; N storage means of the above-mentioned type, each of which is arranged to temporarily store frames of time slot data received at a respective input port; NxM reading pointer means of the above-mentioned type, each of which is arranged to operate in relation to a respective input / output combination; and NxM selecting means of the above-mentioned type, each of which is arranged to operate in relation to a respective input / output combination. »V. ». | . , ». .- 516 746 19 9. Anordning enligt patentkrav 6, 7 eller 8, varvid nämnda andra signal är synkroniserad enligt nämnda första signal på ett sådant sätt att: a) nämnda andra signal tillåts uppvisa en godtycklig fasskillnad i förhållande till nämnda första signal; b) nämnda andra signal tillåts uppvisa ett godtagbart fasjitter i förhållande till nämnda första signal; och c) nämnda andra signal inte tillåts uppvisa någon ihållande fasdrift i förhållande till nämnda första signal.The apparatus of claim 6, 7 or 8, wherein said second signal is synchronized according to said first signal in such a manner that: a) said second signal is allowed to exhibit an arbitrary phase difference with respect to said first signal; b) said second signal is allowed to exhibit an acceptable phase jitter relative to said first signal; and c) said second signal is not allowed to exhibit any sustained phase operation relative to said first signal.
SE9901606A 1999-05-04 1999-05-04 Method and apparatus for reducing buffer delay SE516746C2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SE9901606A SE516746C2 (en) 1999-05-04 1999-05-04 Method and apparatus for reducing buffer delay
PCT/SE2000/000848 WO2000067518A1 (en) 1999-05-04 2000-05-03 Method and apparatus for reducing buffer delay
AU44473/00A AU4447300A (en) 1999-05-04 2000-05-03 Method and apparatus for reducing buffer delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9901606A SE516746C2 (en) 1999-05-04 1999-05-04 Method and apparatus for reducing buffer delay

Publications (3)

Publication Number Publication Date
SE9901606D0 SE9901606D0 (en) 1999-05-04
SE9901606L SE9901606L (en) 2000-11-05
SE516746C2 true SE516746C2 (en) 2002-02-26

Family

ID=20415457

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9901606A SE516746C2 (en) 1999-05-04 1999-05-04 Method and apparatus for reducing buffer delay

Country Status (3)

Country Link
AU (1) AU4447300A (en)
SE (1) SE516746C2 (en)
WO (1) WO2000067518A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4005272A (en) * 1974-08-14 1977-01-25 Arthur A. Collins, Inc. Time folded TST (time space time) switch
US4791629A (en) * 1986-06-02 1988-12-13 Ibm Corporation Communications switching system
US4809261A (en) * 1987-07-10 1989-02-28 Solid State Systems, Inc. Space and time switch for 22 PCM highways
US5128929A (en) * 1988-11-15 1992-07-07 Nec Corporation Time division switching system capable of broad band communications service
US5862136A (en) * 1995-07-07 1999-01-19 Northern Telecom Limited Telecommunications apparatus and method
US5790770A (en) * 1995-07-19 1998-08-04 Fujitsu Network Communications, Inc. Method and apparatus for reducing information loss in a communications network

Also Published As

Publication number Publication date
SE9901606L (en) 2000-11-05
SE9901606D0 (en) 1999-05-04
AU4447300A (en) 2000-11-17
WO2000067518A1 (en) 2000-11-09

Similar Documents

Publication Publication Date Title
US5825767A (en) ATM switch with input and output ports
US7516253B2 (en) Apparatus for storing data having minimum guaranteed amounts of storage
EP1124179B1 (en) An apparatus for signal synchronization between two clock domains
CN100493037C (en) Switch for integrated telecommunication networks
EP1045558B1 (en) Very wide memory TDM switching system
US8861515B2 (en) Method and apparatus for shared multi-bank memory in a packet switching system
US20010010692A1 (en) Memory organization in a switching device
US20030043851A1 (en) Transmit virtual concatenation processor
GB1486105A (en) Multiplexer
CN1264531A (en) Switching fabric arrangement with time stamp function
JPH03139044A (en) Switch circuit net for atm system and switch circuit net module
US6430180B1 (en) Method and apparatus for switching data between bitstreams of a time division multiplexed network
US7106692B1 (en) APS/port mirroring
US8040878B2 (en) Multi-service transport apparatus with switch for integrated transport networks
US7492760B1 (en) Memory egress self selection architecture
US6473435B1 (en) Method and apparatus for transferring packets to a memory
US7197031B2 (en) Cross-connection of high bandwidth signal traffic across independent parallel shelves
US20070140232A1 (en) Self-steering Clos switch
SE516746C2 (en) Method and apparatus for reducing buffer delay
US7184442B1 (en) Buffer management method and apparatus
US8588255B2 (en) Full-T cross apparatus and method
SE456629B (en) PROCEDURE AND DEVICE FOR TRANSFERING INFORMATION FROM A BUS SYSTEM
US7924938B2 (en) Context-sensitive overhead processor
US7224693B1 (en) Long packet handling
US7542484B2 (en) Managing payload specific latencies in a cross-connect system

Legal Events

Date Code Title Description
NUG Patent has lapsed