专利名称:用于处理公共存储器开关中的单元组的设备和方法
本申请要求1998年11月11日在韩国工业产权局申请的序号为No.98-48174、题目为“用于处理公共存储器开关中的单元组的设备和方法”的申请的优先权。
本发明一般地涉及一种公共存储器开关,特别涉及一种用于将输入/输出(I/O)端分组的单元组处理设备和方法。
在用户之间切换的交换机系统一般带有一个开关。这个开关可以用许多方式实现,以便将通过一预定输入端接收的信息切换到一个相应的输出端。
在每个交换机系统中可以使用不同的开关。在这里描述用于交换机系统的所有开关类型是不可能的,也是无意义的。因此这里仅描述一个异步传输模式(ATM)开关的四种主要的设计方案共享存储器开关,共享媒体开关,完全互连开关,以及空间分割开关。
在上述开关中,在ATM交换机中一般使用公共存储器开关(或公共缓冲器开关),其常规结构如图1所示。
参考图1,将单元加到四个输入端Pin0至Pin3中的第一、第二和第三输入端Pin0、Pin1和Pin2。在这里假设第一、第二和第三输入端Pin0、Pin1和Pin2分别是第四、第三和第一输出端Pout3、Pout2和Pout0的对应端。
在一个单元输入操作中,通过相应的输入端将单元馈送到多路复用器(MUX)110,MUX110将这些单元多路传输成一个单元流。例如,MUX110根据如图1所示的输入顺序和访问这些输入端的顺序将通过输入端Pin0至Pin3并行接收的单元变换成一个在时分上的串行单元流。
每个单元包括一个用于单元路由选择的标题。这个标题是从单元中提取出来的,被发送给标题变换器140。提取出的标题提供关于一相应单元的目的输出端的信息。提取该标题的结构及其操作是公知技术,因此这里省略对其的描述和图示。标题变换器140确定一个对应于所提取的标题的单元是否有效。然后,空闲地址池(IAP)170响应于从标题变换器140接收的有效校验信号RD_IAP只给一个有效单元分配公共存储器120的一个可用单元地址。在图1中,将单元地址“a、b和c”分别分配给具有指定信息“3、2和1”的输出端的单元,并将从MUX 110输出的单元存储在公共存储器120中的所分配的单元地址。
在存储单元的同时,标题变换器140检验存储的单元被传送时所通过的端口,并产生信号WR0至WR3,用于启动要存储单元地址的第一至第四AFIFO(地址先进先出)缓冲器152至158。AFIFO缓冲器152至158由信号WR0至WR3启动,并存储从IAP170接收的单元地址。
例如,从IAP 170向加到输入端Pin0并从输出端Pout3输出的单元分配一个单元地址‘a’。将单元地址“a”存储在由从标题变换器140接收的信号WR3启动的第四AFIFO缓冲器158中。
现在,在一个单元输出操作中,读定时发生器180产生读信号RD0至RD3,用于顺序地读出存储在第一至第四AFIFO缓冲器152至158中的单元地址。将读出的单元地址以不同路径加到MUX 160的输入。MUX 160多路传输该单元地址,并将多路传输的单元地址送到公共存储器120。例示性地将“c、b和a”送到公共存储器120,公共存储器120从图1中的单元地址“c、b和a”输出存储的单元。在这里,“c、b和a”是以多路传输的顺序安排的。在某些情况下,公共存储器120读一个空AFIFO缓冲器,例如第二AFIFO缓冲器154,然后输出一个空闲单元。在图1中用“xx”表示的单元是一个空闲单元。
多路分离器(DEMUX)130将从公共存储器120接收的单元多路分离,并将多路分离的单元输出到它们的目的输出端。
同时,MUX 160将这些单元返回IAP 170,以供下次使用,并将这些单元送到公共存储器120。地址校验器190位于返回路径中,以确定返回的单元地址是否有错,只将无错误的单元地址返回IAP 170,并舍弃有错误的单元地址。
如上所述,在常规的公共存储器ATM开关中输入端和输出端是单独操作的。因此,一旦一个单元已经被加到一特定输入端上,则该单元只被引向一个作为该输入端的相对端的输出端。也就是说,由于每个地址缓冲器是单独操作的,所以例如以155Mbps加到每个输入端的单元只能由端口速率为155Mbps的开关来处理。例如,如果一个公共存储器ATM开关是单元输入速率为155Mbps的4×4开关,则它不能用一个2×2开关以310Mbps的单元输入速率操作。因此,在设计一个系统中对开关模块的使用上有限制。
因此,本发明的一个目的是提供一种用于启动组开关的公共存储器开关及其处理方法。
本发明的另一个目的是提供一个公共存储器开关及其处理方法,其中,为了提高开关模块的效率,通过应用内部缓冲器和缓冲器管理器,单个端口可以用作为一个成组端口以及一个单个化端口。
为了实现上述目的,提供了用于处理公共存储器开关中的单元组的设备和方法。将公共存储器开关中的输出端分成一个单个输出端组和一个成组输出端组,单个输出端组只有一个输出端作为其成员,而成组输出端组有多个输出端作为其成员,每个输出端被分配一个唯一的组号。依据本发明的一个实施例,在该单元组处理设备中,多路复用器将通过输入端接收的单元多路传输。标题变换器顺序地接收从多路传输的单元提取出的标题,确定这些单元是否有效,并为有效单元产生一个有效确认信号和一个组信号。空闲地址发生器响应于该有效确认信号,顺序地分配存储所述单元的空闲地址,当一个开关模块被初始化时,处理器提供初始分组信息和初始地址缓冲器选择信息。组信息存储器具有用于存储初始分组信息的第一表,并根据第一表确定对应于该组信号的分组信息。地址缓冲器选择存储器具有用于存储初始地址缓冲器选择信息、然后在接收到下一个地址缓冲器选择信息时用下一个地址缓冲器选择信息替换初始地址缓冲器选择信息的第二表,并根据第二表确定对应于该组信号的地址缓冲器选择信息。地址缓冲器选择信息发生器接收分组信息和地址缓冲器选择信息,确定下一个地址缓冲器选择信息,并将该下一个地址缓冲器选择信息输出到地址缓冲器选择存储器。由地址缓冲器选择信息启动多个地址缓冲器,以存储由空闲地址发生器分配的空闲地址,公共存储器在空闲地址存储从多路复用器接收的单元。
从下面结合附图的详细说明中,本发明的上述和其他目的、特征和优点将变得更加明显,其中图1是一个典型公共存储器开关的方框图;图2是依据本发明的一个实施例的公共存储器开关的方框图;图3是依据本发明的另一个实施例的公共存储器开关的方框图;图4A和4B是如图3所示的FIFO写发生缓冲器的操作中的信号波形的时序图5A和5B是如图3所示的FIFO读发生缓冲器的操作中的信号波形的时序图;图6A显示了从图3中所示的标题变换器产生的写请求信号的一个例子;以及图6B显示了从图3中所示的读定时发生器产生的读请求信号的一个例子。
下面将参考
本发明的最佳实施例。在下面的说明中,为了不会以不必要的细节影响本发明的说明,将不详细描述公知的功能或构造。
图2是依据本发明的一个实施例的公共存储器开关的方框图。参看图2,公共存储器开关具有同样多的输入端和输出端。将输入端分成单个输入端和成组输入端,也将输出端分成单个输出端和成组输出端。单个输入/输出组单个地处理一个单元,而成组输入/输出组作为一组中的一个成员来处理一个单元。每个输入或输出端被分配一个唯一的号,加到一个输入端上的单元包括主体和表明所希望的输出端的组号的标题。对于所有输出端都用作为单个组的情况,应该准备与输出端同样多的唯一的组号。例如,如果有四个输出端,则需要四个组号。在这种情况下,组号可以表示为GR(03)。如果每个组号被分配给一个相应的输出端,并且然后至少两个输出端是成组的,则使用两个所分配组号中的一个所希望的组号。
在上述假设的基础上,依据本发明的第一个实施例的公共存储器开关除了如图1所示的部件之外,还包括写FIFO选择存储器216、组信息存储器218、以及下一个FIFO写发生器238。
更具体地,第一MUX 210将从单个或成组输入端接收的单元多路传输。在图2中,单元的结构为主体A/标题0、主体B/标题2、主体C/标题0以及主体D/标题1。
标题变换器220顺序地接收从多路传输的单元中提取出的标题Head_sig(0K),并确定这些单元是否有效。如果一个单元有效,则标题变换器220产生一个有效确认信号RD IAP和该单元的组号。如上所述,该组号是该单元所要发送到的单个或成组输出端的号。在图2中,将四个组号(即,GR(03))分配给四个输出端。如果第一输出端Pout0和第二输出端Pout1被限制在一个组中,则使用四个所分配组号中的三个(即,GR(02))。应该注意的是,将四个组号表示为GR(03)是为了表示组号的个数,将三个组号表示为GR(03)是为了表示该三个组号被使用。
一个IAP 232响应于有效确认信号RD_IAP顺序地分配单元地址。所分配的单元地址与地址缓冲器一样多或更多,循环地分配单元地址。AFIFO缓冲器222至228的个数由输入端或输出端的个数决定。如果单元地址是“a、b、c和d”,则按照“a→b→c→d→a→b→c...”的顺序对其进行分配。
中央处理单元(CPU)240是一个用于提供对系统的全局控制的上层处理器。CPU 240存储对应于组号的初始写FIFO选择信息和初始分组信息。一旦在输入端初始接收到单元,CPU 240将初始分组信息和初始写FIFO选择信息送给组信息存储器218和写FIFO选择存储器216。
组信息存储器218通知一个输入/输出端是成组的还是单个的。存储器218的内容由CPU在包括图2结构的开关模块的初始化时写入。在写操作期间,将成组或单个端口设置为“1”。例如,在一个4×4开关中,如果端口0和1是成组的,端口2和3是单个的,则CPU 240将表中所列信息写入组信息存储器218中。
表1
表1中的A至D表示第一至第四输出端。根据表1,分组信息存储器218具有关于三个组的信息。组0被设置为“0011”,表示第一和第二输出端A和B是成组的。组1和组2被设置为“0100”和“1000”,表示它们各自的成员是第三和第四输出端。组信息存储器218输出由从标题变换器220接收的组号GR(03)指定的组的初始分组信息,作为分组信息。例如,在从标题变换器220接收到表示组1的“GR1”之后,组信息存储器218输出“0100”作为分组信息。
在开关模块初始化时,CPU 240将初始写FIFO选择信息写进写FIFO选择存储器216。写FIFO选择存储器216根据从标题变换器220接收到的组号GR(03),产生写信号WR(03),送到用于存储单元地址的第一至第四AFIFO缓冲器222至228。在这里,根据对应于由组号GR(03)表示的组的写FIFO选择信息,产生写信号WR(03)。例如,在一个4×4开关中,如果端口0和1为成组的,端口2和3为单个的,则如下表所示将初始写FIFO选择信息写进写FIFO选择存储器216。
在表2中,A至D是第一至第四输出端。每个组被分配一个唯一的组号。如上所述,每个组的写FIFO选择信息对应于一个用于指定第一至第四AFIFO缓冲器222至228的写信号WR(03)。例如,一旦从标题变换器220接收到表示端口2的“GR1”,因为GR1表示组1,则写FIFO选择存储器216输出写FIFO选择信息“0100”作为写信号WR(2)。在这里,因为组1和组2的每组具有一个单个端口作为其成员,所以组1和组2的初始写FIFO选择信息保持不变,而具有成组的多个端口的组0的初始写FIFO选择信息被写FIFO选择存储器216所改变。例如,每次当单元的目的为组0中的端口0和1时,下一个FIFO写发生器238则将写FIFO选择信息“0001(WR(0))和0010(WR(1))”写进写FIFO选择存储器216中,用于交替选择第一和第二AFIFO缓冲器222和224。
下一个FIFO写发生器238根据从组信息存储器218接收的分组信息和从写FIFO选择存储器216接收的写FIFO选择信息,产生表明要存储下一个输入单元的AFIFO缓冲器的下一个写FIFO选择信息,并将该下一个写FIFO选择信息送给写FIFO选择存储器216。
公共存储器开关的其他部件在操作上与图1所示的常规公共存储器开关的相应部件相同,这里不再说明。因此省略了对这些部件的说明。
在参考表1和表2说明依据本发明的第一个实施例的公共存储器开关的操作之前,应该理解,下述说明主要是针对对于常规公共存储器开关为附加的部件、即组信息存储器220、写FIFO选择存储器216、以及下一个FIFO写发生器238进行的。如上所述,假设第一和第二输出端被界定在一个组中,第三和第四输出端是单个的。因此,分配了四个组号(即,GR(03)),但由于这里只使用了三个组号,因此将从标题变换器220产生的组号限定为三个(GR(02))。
参看图2和表1和表2,输出端0和1被分到组0中,输出端2是组1中的单个输出端,输出端3是组2中的单个输出端。由CPU 240在开关模块的初始化时将分组指定为组信息存储器218中的初始分组信息。因此,应该为组信息存储器218中的组0、1和2设置地址。即,将“0011”、“0100”和“1000”分别设置为组0、1和2的地址,参看表1。
在开关模块的初始化时,CPU 240还设置写FIFO选择存储器216中的初始写FIFO选择信息。参看表2,设置“0001”和“0010”以便为组0选择第一和第二AFIFO缓冲器222和224,设置“0100”以便为组1选择第三AFIFO缓冲器226,设置“1000”以便为组2选择第四AFIFO缓冲器228。
在初始化之后,MUX 210多路传输从输入端Pin0至Pin3接收到的单元,并以输入顺序输出被多路传输的单元。参看图2,这些单元被以从输入端0到输入端3的顺序提供给MUX 210。标题变换器220从自MUX 210接收的被多路传输的单元的标题中提取出标题信息,并产生一个组信号GR(02)和一个有效确认信号RD_IAP。
IAP 32接收有效确认信号RD_IAP,将该有效确认信号RD_IAP认为是一个地址分配请求,并分配一个空闲地址。该空闲地址是公共存储器212的一个地址,在该地址中存储了一个对应于该有效确认信号的单元,并循环地分配可用地址。例如,使可用地址为“a,b,c和d”。则以“a→b→c→d→a→b→c...”的顺序分配这些地址。将分配的空闲地址送给公共存储器212。公共存储器212以输入顺序将单元顺序地存储它们的指定地址上。
根据从标题变换器220接收的组号GR(02)将空闲地址存储在AFIFO缓冲器222至228中,以便在以后输出存储的单元。
将组号GR(02)提供给组信息存储器218和写FIFO选择存储器216。组信息存储器218具有如表1所示的初始分组信息,写FIFO选择存储器216具有如表2所示的初始写FIFO选择信息。在接收到组信息GR(02)之后,组信息存储器218参考内部表输出相应的初始分组信息,写FIFO选择存储器216参考其内部表输出相应的写FIFO选择信息。例如,如果标题变换器220输出表明组0的组信息GR(0),则组信息存储器218参考诸如表1的表输出分组信息“0011”,写FIFO选择存储器216参考诸如表2的表输出写FIFO选择信息“0001”。在这里,写FIFO选择信息用作为一个启动AFIFO缓冲器的写信号WR(03),以便临时存储一个空闲地址。AFIFO缓冲器222被写FIFO选择信息“0001”所启动。下面的表列出了由写FIFO选择信息、即写信号选择的AFIFO缓冲器。
表3
响应于从标题变换器220接收的有效确认信号RD_IAP,IAP 232产生一个相应的空闲地址,并将该空闲地址存储在被启动的AFIFO缓冲器中。
下面将参考表1和表2更详细地说明上述操作。标题变换器220为第一个单元的输入输出一个组信号GR(0),为第二个单元的输入输出一个组信号GR(2),为第三个单元的输入输出组信号GR(0),为第四个单元的输入输出一个组信号GR(1)。标题变换器220与组信号一起输出有效确认信号RD_IAP,以使得IAP 232顺序地输出空闲地址“a,b,c和d”。
将组信号顺序地加到组信息存储器218和写FIFO选择存储器216上。组信息存储器218参照表1顺序地输出对应于组信号的分组信息“0011”、“1000”、“0011”和“0100”写FIFO选择存储器216参照表2顺序地输出对应于组信号的写FIFO选择信息“0001”、“1000”、“0010”和“0100”。第一、第四、第二和第三AFIFO缓冲器222、228、224和226以这个顺序被写FIFO选择信息“0001”、“1000”、“0010”和“0100”顺序地启动。将从IAP 232产生的空闲地址“a,b,c和d”以被启动的顺序存储在AFIFO缓冲器222至228中。也就是说,当输出空闲地址“a”时,AFIFO缓冲器222被写FIFO选择信息“0001”所启动,将空闲地址“a”存储在地址缓冲器222中。当输出空闲地址“b”时,AFIFO缓冲器228被写FIFO选择信息“1000”所启动,将空闲地址“b”存储在地址缓冲器228中。
然而,在要将多个单元、诸如图2的第一和第三单元发送到同一组的输出端时,在设计AFIFO缓冲器时会出现问题。也就是说,当在上述过程中执行AFIFO缓冲器分配时,对应于一组的多个AFIFO缓冲器应该被适当地分配。这就是为什么在本发明中增加下一个FIFO写发生器238的原因。下一个FIFO写发生器238接收分组信息,确定是将一个单元分组还是单个化,并确定下一个FIFO写信息。例如,在接收到作为第一个单元的分组信息和写FIFO选择信息的“0011”和“0001”时,下一个FIFO写发生器238识别出由“0011”分组的第一个单元。则下一个FIFO写发生器238在写FIFO选择存储器216中提供“0010”,作为用于选择一个将存储同一组中的其他单元的AFIFO缓冲器的下一个FIFO写信息NFWR(03),来代替前一个用于组0的写FIFO选择信息。也就是说,将表2中的组0的“0001”变为“0010”,以便由“0010”为组0的其他组信号启动AFIFO缓冲器224。如果一个相应的单元被单个化,则下一个FIFO写发生器238不需要改变写FIFO选择存储器216中的写FIFO选择信息,从而输出所接收的写FIFO选择信息,以便为一个单个输出端分配一个AFIFO缓冲器。也就是说,将两个AFIFO缓冲器顺序地分配给组0的第一和第三个单元。根据同一组中的端口号,为该组中的各个端口顺序地启动同样多的AFIFO缓冲器。
因此,第一个单元被指定到组0的一个输出端,从而其地址被存储在AFIFO缓冲器222中。第二个单元被指定到组2的输出端,从而其地址被存储在AFIFO缓冲器228中。第三个单元被指定到组0的一个输出端,从而其地址被存储在AFIFO缓冲器224中。第四个单元被指定到组1的输出端,从而其地址被存储在AFIFO缓冲器226中。
在下面的过程中,根据从第一至第四AFIFO缓冲器222至228接收的空闲地址输出公共存储器212中存储的单元。
一个读定时发生器236顺序地输出一预定周期的读信号RD0至RD3。第一至第四AFIFO缓冲器222至228被读信号RD0至RD3顺序地启动,在启动的时间点输出存储的空闲地址。参看图2,由读信号RD0至RD3从各个AFIFO缓冲器222至228输出空闲地址“a,c,d和b”。
MUX 230将从AFIFO缓冲器222至228接收的空闲地址多路传输,并顺序输出“a,c,d和b”。在从MUX 230接收到空闲地址之后,公共存储器212顺序地输出以“A”、“C”、“D”和“B”作为其主体的单元。DEMUX 214将从公共存储器212接收的单元进行多路分离,并将多路分离的单元输出到其目的输出端。
同时,地址检验器234接收来自MUX 230的空闲地址,确定这些空闲地址是否包括任何差错,并将这些空闲地址提供给IAP 232,以供下次使用。
图3显示了依据本发明的第二个最佳实施例的公共存储器开关。在第一个和第二个实施例中,公共存储器开关具有与输出端一样多的输入端,输出端被以相同的方式分成单个输出端和成组输出端,并且单元具有相同的结构。
参看图3,公共存储器开关除了图1所示部件之外包括组信息存储器316、FIFO写发生缓冲器334以及FIFO读发生缓冲器338。
更具体地,标题变换器220顺序地接收从多路传输的单元提取出的标题Head_sig(0K),根据标题确定这些单元是否有效,如果单元有效,则产生有效确认信号RD_IAP和写请求信号PPWR(0n)。可以将一个表明所想要的输出端的组信号用作为写请求信号。
组信息存储器316存储关于哪些输出端属于一个组的信息。在开关模块被初始化并且只以正常模式读取时,由处理器将信息以一预定表列出。在组信息存储器316中存储信息的地址是一个写请求信号,对应于该写请求信号的信息是初始分组信息。例如,将分组信息存储在4×4开关模块的存储器的4比特中,而每个比特表明一个相应的输出端,将一个成组端口设置为1。如果在地址“0”存储了“0011”,则组0具有端口0和1。
FIFO写发生缓冲器334根据一个相应单元的分组信息、从标题变换器318接收的写请求信号以及一个相应端口所属的组中的其他端口的缓冲器状态信号FF产生一个写信号WRn。写信号WR的例子如图4A和4B所示。在端口0和端口1被分到组0以及两个单元被指定到组0的输出端的假设下,图4A显示了当从信号FF确定第一AFIFO缓冲器320为空时写信号的波形,图4B显示了当从信号FF确定第一AFIFO缓冲器320不为空时写信号的波形。在图4A中,将两个单元的地址存储第一AFIFO缓冲器320中。在图4B中,将两个地址中的一个地址存储在第一AFIFO缓冲器320中,将另一个地址存储在第二AFIFO缓冲器322中。也就是说,FIFO写发生缓冲器334根据一个对应于同一组的其他端口的AFIFO缓冲器的状态为一个端口产生写信号。
FIFO读发生缓冲器338在操作上与FIFO写发生缓冲器334类似。FIFO读发生缓冲器338根据分组信息、从读定时发生器336接收的读请求信号PPRDN和每个AFIFO缓冲器的状态信号EFn产生一个读信号RDn。读信号RD的例子如图5A和5B所示。在端口0和1是成组的、两个单元被提供给组0、以及读请求信号PPRDN被从读定时发生器336顺序接收的假设下,图5A显示了当从信号EFn确定第一AFIFO缓冲器320充满空闲地址时读信号的波形,图5B显示了当从信号EFn确定第一AFIFO缓冲器320未充满空闲地址时读信号的波形。在图5A中,虽然端口0和1是同一组,但端口0比端口1的优先权高。因此,在“X”位置首先产生RD0。在“Y”位置,信息仍然在第一AFIFO缓冲器320中输出,于是再次产生了RD0,而不是RD1。在图5B中,当通过读取“X”位置的数据而使第一AFIFO缓冲器320为空时,也就是EF0被启动时,在“Y”位置产生RD1,以读取同一组的地址。
读定时发生器336连续产生一预定周期的读请求信号PPRDN,并将其提供给FIFO读发生缓冲器338。
图3的其他部件、即IAP330、AFIFO缓冲器320至326、MUX 328和地址检验器332在结构和操作上与图1中的相应部件相同。因此,这里省略对其的说明。
在依据本发明的第二个最佳实施例的公共存储器开关的单元输入操作中,处理器(未显示)在开关模块被初始化以便设置一个开关操作状态时在组信息存储器316中写入初始分组信息。存储器内容可以为表4
从表4可知,输出端0和1被分在组0,输出端2是组1中的单个元素,输出端3是组2中的单个元素。
参看图3和表4,将一个为组0指定的单元提供给输入端0,将一个为组2指定的单元提供给输入端1,将另一个为组0指定的单元提供给输入端2,将一个为组1指定的单元提供给输入端3。
MUX 310以输入顺序排列输入单元。标题变换器318从单元中提取出标题信息,并产生一个FIFO写请求信号PPWRn。也就是说,以单元的输入顺序顺序地产生FIFO写请求信号PPWRn,如图6A所示。从图6A可以看出,PPWRn是根据一个输出端产生的。也就是说,PPWR0是从指定给组0的第一和第三单元产生的,PPWR2是从指定给组2的第二单元产生的,PPWR1是从指定给组1的第四单元产生的。
FIFO写发生缓冲器334接收如图6A所示的FIFO写请求信号PPWRn和来自组信息存储器316的分组信息,并响应于每个PPWRn确定一个将被启动的AFIFO缓冲器。例如,在提供了第一个单元的位置“X”选择第一AFIFO 320,在提供了第二个单元的位置“Y”选择第四AFIFO缓冲器326。在提供了第三个单元的位置“Z”,如果第一AFIFO缓冲器320不满的话,则选择第一AFIFO缓冲器320。如果第一AFIFO缓冲器320已满,则将输入单元写入第二AFIFO缓冲器322。在提供了第四个单元的位置“W”,选择第三AFIFO缓冲器324。在第一和第三单元之间的关系如图4A和4B所示。因此这里省略对其的说明。
在单元输出操作中,读定时发生器336顺序地产生地址缓冲器启动信号、即FIFO读请求信号PPRDn。也就是说,将每个PPRDn加到FIFO读发生缓冲器338上,在这里产生一个对应于该PPRDn的读信号RDn。
产生一个对应于信号PPRDn的读信号RDn的例子如图6B所示。参看图6B,为单个的端口组产生信号PPRD2和PPRD3,并分别响应于(在位置“X”和“Y”处的)PPRD2和PPRD3产生RD2和RD3。因为输出端0和1都被分在组0中,所以RD0出现两次,第一AFIFO缓冲器320为空,而第二AFIFO缓冲器322充满数据。另一方面,如果一个有效地址被存储在第一AFIFO缓冲器320中,另一个有效地址被存储在第二AFIFO缓冲器322中,则顺序地产生RD0和RD1。信号RD0和RD1的波形如图5A和5B所示。
通过由信号RDn启动AFIFO缓冲器320至326来输出单元的操作与参考图2所述的操作相同。也就是说,成组AFIFO缓冲器320至326是成菊花链的,从而将开关中的端口分组。
依据本发明,除了一个ATM开关的基本开关功能之外,通过将地址顺序地写入地址缓冲器中,将一个单元分组设备及其方法运用到公共存储器开关中。因此,提高了开关模块的效率,并且方便了系统设计。
此外,在开发ATM开关模块或ASIC中,通过将开关模块中的地址缓冲器的菊花链结构增加到基本单元开关中,实现了分组开关功能。因此,开关模块可以被完全使用,方便了系统设计。
虽然已经参考特定的最佳实施例显示和说明了本发明,但本领域普通技术人员应该理解,在不偏离由附带的权利要求书所限定的本发明的精神和范围的情况下,可以作出许多形式上和细节上的变化。
权利要求
1.一个在公共存储器开关中的单元组处理设备,所述公共存储器开关具有一个只有一个输出端作为其成员的单个输出端组和一个有多个输出端作为其成员的成组输出端组,每个输出端被分配一个唯一的组号,所述设备包括一个多路复用器,用于多路传输通过输入端接收的单元;一个标题变换器,用于顺序地接收从多路传输的单元提取出的标题,确定这些单元是否有效,并为有效单元产生一个有效确认信号和一个组信号;一个空闲地址发生器,用于响应于有效确认信号顺序地分配存储所述单元的空闲地址;一个处理器,当一个开关模块被初始化时,用于提供初始分组信息和初始地址缓冲器选择信息;一个组信息存储器,具有用于存储初始分组信息的第一表,根据第一表确定对应于所述组信号的分组信息;一个地址缓冲器选择存储器,具有用于存储初始地址缓冲器选择信息、然后在接收到下一个地址缓冲器选择信息时用下一个地址缓冲器选择信息替换初始地址缓冲器选择信息的第二表,根据第二表确定对应于所述组信号的地址缓冲器选择信息;一个地址缓冲器选择信息发生器,用于接收分组信息和地址缓冲器选择信息,确定下一个地址缓冲器选择信息,并将下一个地址缓冲器选择信息输出到地址缓冲器选择存储器;多个由地址缓冲器选择信息启动的地址缓冲器,用于存储由空闲地址发生器分配的空闲地址;以及一个公共存储器,用于在空闲地址存储从多路复用器接收的单元。
2.如权利要求1所述的设备,其中,地址缓冲器与输出端一样多,其是单个的还是成组的取决于一个对应于要被存储的空闲地址的单元是指定给一个单个输出端还是指定给一个成组输出端。
3.如权利要求2所述的设备,其中,如果分组信息是关于一个单个输出端的,则地址缓冲器选择信息发生器输出从地址缓冲器选择存储器接收的地址缓冲器选择信息,作为下一个地址缓冲器选择信息,而如果分组信息是关于一个成组输出端的,则地址缓冲器选择信息发生器输出用于在相应的成组地址缓冲器中选择一个不是由所述地址缓冲器选择信息启动的地址缓冲器的地址缓冲器的地址缓冲器选择信息,作为下一个地址缓冲器选择信息。
4.一个在公共存储器开关中的单元组处理设备,所述公共存储器开关具有一个只有一个输出端作为其成员的单个输出端组和一个有多个输出端作为其成员的成组输出端组,每个输出端被分配一个唯一的组号,所述设备包括一个第一多路复用器,用于多路传输通过输入端接收的单元;一个标题变换器,用于顺序地接收从多路传输的单元提取出的标题,确定这些单元是否有效,并产生一个有效确认信号和一个组信号;一个空闲地址发生器,用于响应于有效确认信号顺序地分配存储所述单元的空闲地址;一个处理器,当一个开关模块被初始化时,用于提供初始分组信息和初始地址缓冲器选择信息;一个组信息存储器,具有用于存储初始分组信息的第一表,根据第一表确定对应于所述组信号的分组信息;一个地址缓冲器选择存储器,具有用于存储初始地址缓冲器选择信息、然后在接收到下一个地址缓冲器选择信息时用下一个地址缓冲器选择信息替换初始地址缓冲器选择信息的第二表,根据第二表确定对应于所述组信号的地址缓冲器选择信息;一个地址缓冲器选择信息发生器,用于接收分组信息和地址缓冲器选择信息,确定下一个地址缓冲器选择信息,并将所述下一个地址缓冲器选择信息输出到地址缓冲器选择存储器;多个由地址缓冲器选择信息启动的地址缓冲器,用于存储由空闲地址发生器分配的空闲地址;一个读定时发生器,用于产生一个读定时信号,以便顺序地启动地址缓冲器和读取存储在地址缓冲器中的空闲地址;一个第二多路复用器,用于多路传输由读定时信号读取的空闲地址;一个公共存储器,用于在空闲地址存储从第一多路复用器接收的单元,并根据从第二多路复用器接收的多路传输的空闲地址输出存储的单元;一个多路分离器,用于将从公共存储器接收的单元进行多路分离;以及一个地址检验器,用于接收来自第二多路复用器的多路传输的空闲地址,检查所述空闲地址是否有差错,并将无差错的空闲地址提供给空闲地址发生器,以供下次使用。
5.如权利要求4所述的设备,其中,地址缓冲器与输出端一样多,其是单个的还是成组的取决于一个对应于要被存储的空闲地址的单元是指定给一个单个输出端还是指定给一个成组输出端。
6.如权利要求5所述的设备,其中,如果分组信息是关于一个单个输出端的,则地址缓冲器选择信息发生器输出从地址缓冲器选择存储器接收的地址缓冲器选择信息,作为下一个地址缓冲器选择信息,而如果分组信息是关于一个成组输出端的,则地址缓冲器选择信息发生器输出用于在相应的成组地址缓冲器中选择一个不是由所述地址缓冲器选择信息启动的地址缓冲器的地址缓冲器的地址缓冲器选择信息,作为下一个地址缓冲器选择信息。
7.一个在公共存储器开关中的单元组处理方法,所述公共存储器开关具有成组的输出端、一个组信息存储器以及一个用于存储对应于每个组的地址缓冲器选择信息的地址缓冲器选择存储器,所述方法包括下列步骤当一个开关模块被初始化时,从处理器接收初始分组信息和初始地址缓冲器选择信息,并将初始分组信息和初始地址缓冲器选择信息分别存储在组信息存储器和地址缓冲器选择存储器中;以输入顺序多路传输通过输入端接收的单元,从单元的标题确定每个单元是否有效,并产生一个有效确认信号和一个表明所述单元被指定到的输出端的组信号;响应于有效确认信号,顺序地分配存储所述单元的空闲地址;根据组信号启动对应于从地址缓冲器选择存储器接收的地址缓冲器选择信息的地址缓冲器,并将空闲地址存储在被启动的地址缓冲器中;如果分组信息是关于一个单个输出端的,则输出地址缓冲器选择信息,作为下一个地址缓冲器选择信息,并改变存储在地址缓冲器选择存储器中的地址缓冲器选择信息;以及如果分组信息是关于一个成组输出端的,则输出用于在一个包括被启动的地址缓冲器的地址缓冲器组中选择一个不是所述被启动的地址缓冲器的地址缓冲器的地址缓冲器选择信息,作为下一个地址缓冲器选择信息,并改变存储在地址缓冲器选择存储器中的地址缓冲器选择信息。
8.一个在公共存储器开关中的单元组处理设备,所述公共存储器开关具有一个只有一个输出端作为其成员的单个输出端组和一个有多个输出端作为其成员的成组输出端组,每个输出端被分配一个唯一的组号,所述设备包括一个第一多路复用器,用于多路传输通过输入端接收的单元;一个标题变换器,用于顺序地接收从多路传输的单元提取出的标题,确定这些单元是否有效,并产生一个有效确认信号和一个写请求信号;一个空闲地址发生器,用于响应于有效确认信号顺序地分配存储所述单元的空闲地址;一个组信息存储器,具有用于存储在一个开关模块被初始化时从处理器接收的初始分组信息的第一表,根据第一表确定由所述写请求信号表明的一个输出端组的分组信息;一个读定时发生器,用于在每个预定周期产生对应于每个地址缓冲器的读请求信号;一个读发生缓冲器,在接收到读请求信号时,根据每个地址缓冲器的状态信号产生一个用于启动对应于分组信息的地址缓冲器的读信号;与输出端一一对应的、其是单个还是成组取决于相应的输出端的多个地址缓冲器,由写信号启动以存储空闲地址,由读信号启动以输出存储的空闲地址;一个第二多路复用器,用于多路传输由读定时信号读取的空闲地址;一个第二多路复用器,用于多路传输由读信号从地址缓冲器读取的空闲地址;一个公共存储器,用于在空闲地址存储从第一多路复用器接收的单元,并根据从第二多路复用器接收的多路传输的空闲地址输出存储的单元;一个多路分离器,用于将从公共存储器接收的单元进行多路分离;以及一个地址检验器,用于接收来自第二多路复用器的多路传输的空闲地址,检查所述空闲地址是否有差错,并将无差错的空闲地址提供给空闲地址发生器,以供下次使用。
9.一个在公共存储器开关中的单元组处理方法,所述公共存储器开关具有成组的输出端和一个用于存储每个输出端组的分组信息的组信息存储器,所述方法包括下列步骤当一个开关模块被初始化时,从处理器接收初始分组信息,并将初始分组信息存储在组信息存储器中;以输入顺序多路传输通过输入端接收的单元,从单元的标题确定每个单元是否有效,并产生一个有效确认信号和一个对应于所述单元被指定到的输出端的写请求信号;响应于所述确认信号,顺序地分配存储所述单元的空闲地址,并将对应于有效确认信号的单元存储在所分配的空闲地址中;为一个对应于写请求信号的输出端确定在组信息存储器中的分组信息;在接收到写请求信号时,由每个地址缓冲器的状态信号产生一个用于启动对应于所确定的分组信息的地址缓冲器的写信号,并存储所分配的空闲地址;在每个预定周期产生对应于每个地址缓冲器的读请求信号,在接收到读请求信号时,由每个地址缓冲器的状态信号产生一个用于启动对应于所述分组信息的地址缓冲器的读信号,并输出一个相应的空闲地址;多路传输由读信号从地址缓冲器读取的空闲地址,并以接收多路传输的空闲地址的顺序输出在公共存储器的相应空闲地址上的单元;多路分离从公共存储器接收的单元;以及确定空闲的多路传输的地址是否有差错,以便重新分配这些空闲地址,以供下次使用。
全文摘要
本发明涉及用于处理公共存储器开关中的单元组的设备和方法,所述公共存储器开关具有一个只有一个输出端作为其成员的单个输出端组和一个有多个输出端作为其成员的成组输出端组,每个输出端被分配一个唯一的组号,所述设备包括:多路复用器;标题变换器;空闲地址发生器;处理器;组信息存储器;地址缓冲器选择存储器;地址缓冲器选择信息发生器;多个由地址缓冲器选择信息启动的地址缓冲器;以及公共存储器,用于在空闲地址存储从多路复用器接收的单元。
文档编号H04L12/56GK1269687SQ9912811
公开日2000年10月11日 申请日期1999年11月11日 优先权日1998年11月11日
发明者朴彰辰, 郑在薰 申请人:三星电子株式会社