一种信元交换方法和装置的利记博彩app

文档序号:7739695阅读:271来源:国知局
专利名称:一种信元交换方法和装置的利记博彩app
技术领域
本发明涉及数据通信技术,尤其涉及数据通信技术中的一种信元交换方法和装置。
背景技术
目前的交换装置中,交换芯片一般采用两种架构来实现,一种是crossbar(交叉 开关矩阵)架构,另一种是shared-memory (共享内存)架构。采用crossbar架构进行信元交换需要考虑数据输入输出的两级调度问题,在输 入输出之间需要进行匹配,即输入端和输出端需要根据自身的空闲情况进行匹配和调度, 再与对方进行协商。调度算法的复杂性随着输入输出端口的增加而成指数增加,在输入输 出端口较多时,调度算法的复杂度极大。在这种crossbar架构的基础上进一步发展出来的带交叉点缓存的crossbar结构 在每个交叉点都增加了缓存,虽然不再需要匹配算法,但是需要的交叉点缓存数量为输入 输出端口数的平方倍,在端口数量较多的情况下,交叉点缓存数量达到不可实现的程度。采用share-memory架构使用了共享缓存,相对于crossbar架构减少了对缓存资 源的消耗,但是在向多个共享缓存中写入信元时,由于是按照各个缓存的深度轮流写入的, 以使得各个缓存的深度均勻,但是这就有可能使得不同的输出端口在同一时间从同一缓存 中读数据,造成冲突。如果增大共享缓存的带宽,允许更多的输出端口同时读取数据,可以 降低这种冲突发生的概率,但同时多个输出端口需要在统一缓存中读数据时的调度复杂度 也增加了,在端口数量较多的时候,很难解决冲突的问题。

发明内容
本发明实施例提供一种信元交换方法和装置,以实现在较简单的调度下无冲突的 进行信元交换。一种信元交换方法,包括将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;根据信元中的目的地址信息或目的端口信息,确定所述信元的输出端口 ;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L个数据块,并分别写 入第一 RAM组中的各RAM中,所述第一 RAM组中包括的RAM个数大于或等于L个,其中,L = 信元长度/第一 RAM组的位宽;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述 第一 RAM组的L个RAM中依次读出所述信元的各数据块,并输出,其中,不同输出端口分配 的起始时隙不同,一个周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。进一步,所述从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时 隙分别从所述第一 RAM组的L个RAM中依次读出所述信元的各数据块,并输出,具体包括从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所 对应的第二 fifo中;通过所述输出端口输出所述第二 fifo中缓存的信元。较佳的,所述将第一 fifo中的信元拆分为L个数据块,并分别写入第一 RAM组中 的各RAM中具体为按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过L个时隙将所述L个数据块依次写入第一 RAM组 中,每个时隙向第一 RAM组中的相应RAM中写入一个数据块。一种信元交换装置,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元;确定单元,用于根据所述信元中的目的地址信息或目的端口信息,确定所述信元 的输出端口;第一 RAM组,包括不少于L个RAM,用于缓存所述信元,其中,L=信元长度/第一 RAM组的位宽;输入控制单元,用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L 个数据块,并分别写入所述第一 RAM组中的各RAM中;输出控制单元,用于根据所述确定单元确定的所述信元的输出端口,从为所述输 出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM 中依次读出所述信元的各数据块,并输出,其中,不同输出端口分配的起始时隙不同,一个 周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。进一步,装置中还包括与输出端口数量相同的第二 fifo,用于缓存对应的输出端口从所述第一 RAM组中 读出的数据;所述输出控制单元具体用于,根据所述确定单元确定的所述信元的输出端口,从 为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组 的L个RAM中依次读出所述信元的各数据块,并缓存在所述输出端口所对应的第二 fifo 中,并在一个信元读取完毕后,从对应的输出端口输出所述第二 fifo中缓存的信元。进一步,所述第一控制单元具体用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过L个时隙将所述L个数据块依次写入第一 RAM组 中,每个时隙向第一 RAM组中的相应RAM中写入一个数据块。一种信元交换方法,包括将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过一个周期中的L个时隙将所述L个数据块依次写 入所述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述第一 RAM组中的相应RAM 中写入一个数据块,不同输入端口分配的起始时隙不同,所述第一 RAM组中包括的RAM个数 大于或等于L个,其中,L =信元长度/第一 RAM组的位宽,一个周期包括的时隙数大于或 等于一个分组中所包括的输入端口数量,并且大于或等于L ;
根据所述信元中的目的地址信息或目的端口信息,确定所述信元的输出端口和该 输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个数;将所述第一 RAM组中的信元写入所述信元的输出端口所属的分组所对应的第二 RAM组中,所述第二 RAM组的位宽与所述信元长度相等。将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输出端口所属分 组对应的第三RAM组中的各RAM中,所述第三RAM组的位宽与所述第一 RAM组相同,所述第 三RAM组中包括的RAM个数大于或等于L个;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述 第三RAM组的L个RAM中依次读出所述信元的各数据块,并输出,其中,不同输出端口分配 的起始时隙不同,一个周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。进一步,所述从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时 隙分别从所述第三RAM组的L个RAM中依次读出所述信元的各数据块,并输出,具体包括从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述 第三RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所 对应的第二 fifo中,以及通过所述输出端口输出所述第二 fifo中缓存的信元。较佳的,所述每个分组中输入端口或输出端口的个数不超过L个。进一步,所述将信元写入所述信元的输出端口所属的分组所对应的第三RAM组中 与所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组和所述信元的输入端口所属的 分组共同对应的第二 RAM组中的与所述信元输出端口对应的RAM中。进一步,所述将信元写入所述信元的输出端口所属的分组所对应的第三RAM组中 与所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组对应的各第二 RAM组中数据量 较少的一个对应所述输出端口的RAM中。较佳的,所述将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输出 端口所属分组对应的第三RAM组中的各RAM中具体包括轮流将对应同一第三RAM组的各第二 RAM组中较早存储的信元拆分为L个数据 块,并分别写入所述输出端口所属分组对应的第三RAM组中的各RAM中。进一步,所述将信元写入第三RAM组中,具体为根据所述信元的输出端口,将所述信元写入所述第三RAM中对应所述输出端口的 区域。一种信元交换装置,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元;确定单元,用于根据所述信元中的目的地址信息或目的端口信息,确定所述信元 的输出端口和该输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个 数;与输入端口分组数量相等的第一 RAM组,包括不少于L个RAM,用于缓存所述信元, 其中,L =信元长度/第一 RAM组的位宽;M个第二RAM组,位宽与所述信元长度相等,用于缓存所述信元,其中M为输入端口的分组数与输出端口的分组数的乘积;与输出端口分组数量相等的第三RAM组,包括不少于L个RAM,用于缓存所述信元, 位宽与所述第一 RAM组相同;第一控制单元,用于按照所述第一 RAM组的位宽,将所述第一 fifo中的信元拆分 成L个数据块,从预先为所述输入端口分配的起始时隙开始,通过一个周期中的L个时隙将 所述L个数据块依次写入所述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述 第一 RAM组中的相应RAM中写入一个数据块,不同输入端口分配的起始时隙不同,其中,一 个周期包括的时隙数大于或等于一个分组中所包括的输入端口数量;第二控制单元,用于根据所述确定单元确定的所述信元的输出端口所属的分组, 将所述第一 RAM组中的信元写入所述信元的输出端口所属的分组对应的第二 RAM组中;第三控制单元,用于将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所 述输出端口所属分组对应的第三RAM组中的各RAM中;第四控制单元,用于从为所述信元的输出端口分配的起始时隙开始,通过一个周 期中的L个时隙分别从所述第三RAM组的L个RAM中依次读出所述信元的各数据块,并输 出,其中,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数大于或等于输出端 口的数量,并大于或等于L。进一步,装置中还包括与输出端口数量相同的第二 fifo,用于缓存对应的输出端口从所述第三RAM组中 读出的数据;所述第四控制单元具体用于,根据所述确定单元确定的所述信元的输出端口,从 为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第三RAM组 的L个RAM中依次读出所述信元的各数据块,并缓存在所述输出端口所对应的第二 fifo 中,并在一个信元读取完毕后,从对应的输出端口输出所述第二 fifo中缓存的信元。进一步,所述第二控制单元具体用于,根据所述确定单元确定的所述信元的输出 端口所属的分组,将所述信元写入所述信元的输出端口所属的分组和所述信元的输入端口 所属的分组共同对应的第二 RAM组中的与所述信元输出端口对应的RAM中。进一步,所述第二控制单元具体用于,根据所述确定单元确定的所述信元的输出 端口所属的分组,将所述信元写入所述信元的输出端口所属的分组对应的各第二 RAM组中 数据量较少的一个对应所述输出端口的RAM中。较佳的,所述第三控制单元具体用于,轮流将对应同一第三RAM组的各第二 RAM组 中较早存储的信元拆分为L个数据块,并分别写入所述输出端口所属分组对应的第三RAM 组中的各RAM中。进一步,所述第三控制单元具体用于,将所述第二 RAM组中的信元拆分为L个数据 块,并根据所述信元的输出端口,分别写入所述输出端口所属分组对应的第三RAM组中的 各RAM中对应所述输出端口的区域。将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;根据信元中的目的地址信息或目的端口信息,确定所述信元的输出端口 ;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L个数据块,并分别写 入第一 RAM组中的各RAM中,所述第一 RAM组中包括的RAM个数大于或等于L个,其中,L =
9信元长度/第一 RAM组的位宽;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述 第一 RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所 对应的第二 fifo中,其中,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数 大于或等于输出端口的数量,并大于或等于L ;通过所述输出端口输出所述第二 fifo中缓存的信元。进一步,所述将第一 fifo中的信元拆分为L个数据块,并分别写入第一 RAM组中 的各RAM中具体为按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过L个时隙将所述L个数据块依次写入第一 RAM组 中,每个时隙向第一 RAM组中的相应RAM中写入一个数据块。一种信元交换装置,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元;第一 RAM组,包括不少于L个RAM,用于缓存所述信元,其中,L=信元长度/第一 RAM组的位宽;与输出端口数量相同的第二 fifo,用于缓存从所述第一 RAM组中读出的数据;输入控制单元,用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L 个数据块,并分别写入所述第一 RAM组中的各RAM中;输出控制单元,用于根据所述确定单元确定的所述信元的输出端口,从为所述输 出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM 中依次读出所述信元的各数据块,并缓存在所述输出端口所对应的第二 fifo中,并在一个 信元读取完毕后,从对应的输出端口输出所述信元,其中,不同输出端口分配的起始时隙不 同,一个周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。进一步,所述第一控制单元具体用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过L个时隙将所述L个数据块依次写入第一 RAM组 中,每个时隙向第一 RAM组中的相应RAM中写入一个数据块。一种信元交换方法,包括将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为 所述输入端口分配的起始时隙开始,通过一个周期中的L个时隙将所述L个数据块依次写 入所述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述第一 RAM组中的相应RAM 中写入一个数据块,不同输入端口分配的起始时隙不同,所述第一 RAM组中包括的RAM个数 大于或等于L个,其中,L =信元长度/第一 RAM组的位宽,一个周期包括的时隙数大于或 等于一个分组中所包括的输入端口数量,并且大于或等于L ;根据所述信元中的目的地址信息或目的端口信息,确定所述信元的输出端口和该 输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个数;将所述第一 RAM组中的信元写入所述信元的输出端口所属的分组所对应的第二 RAM组中,所述第二 RAM组的位宽与所述信元长度相等。
10
将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输出端口所属分 组对应的第三RAM组中的各RAM中,所述第三RAM组的位宽与所述第一 RAM组相同,所述第 三RAM组中包括的RAM个数大于或等于L个;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述 第三RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所 对应的第二 fifo中,其中,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数 大于或等于输出端口的数量,并大于或等于L ;通过所述输出端口输出所述第二 fifo中缓存的信元。较佳的,所述每个分组中输入端口或输出端口的个数不超过L个。进一步,所述将信元写入所述信元的输出端口所属的分组所对应的第三RAM组中 与所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组和所述信元的输入端口所属的 分组共同对应的第二 RAM组中的与所述信元输出端口对应的RAM中。或者,所述将信元写入所述信元的输出端口所属的分组所对应的第三RAM组中与 所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组对应的各第二 RAM组中数据量 较少的一个对应所述输出端口的RAM中。进一步,所述将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输出 端口所属分组对应的第三RAM组中的各RAM中具体包括轮流将对应同一第三RAM组的各第二 RAM组中较早存储的信元拆分为L个数据 块,并分别写入所述输出端口所属分组对应的第三RAM组中的各RAM中。较佳的,所述将信元写入第三RAM组中,具体为根据所述信元的输出端口,将所述信元写入所述第三RAM中对应所述输出端口的 区域。一种信元交换装置,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元;确定单元,用于根据所述信元中的目的地址信息或目的端口信息,确定所述信元 的输出端口和该输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个 数;与输入端口分组数量相等的第一 RAM组,包括不少于L个RAM,用于缓存所述信元, 其中,L =信元长度/第一 RAM组的位宽;M个第二RAM组,位宽与所述信元长度相等,用于缓存所述信元,其中M为输入端口 的分组数与输出端口的分组数的乘积;与输出端口分组数量相等的第三RAM组,包括不少于L个RAM,用于缓存所述信元, 位宽与所述第一 RAM组相同;与输出端口数量相同的第二 fifo,用于存储从所述第三RAM组中读出的信元;第一控制单元,用于按照所述第一 RAM组的位宽,将所述第一 fifo中的信元拆分 成L个数据块,从预先为所述输入端口分配的起始时隙开始,通过一个周期中的L个时隙将 所述L个数据块依次写入所述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述第一 RAM组中的相应RAM中写入一个数据块,不同输入端口分配的起始时隙不同,其中,一 个周期包括的时隙数大于或等于一个分组中所包括的输入端口数量;第二控制单元,用于根据所述确定单元确定的所述信元的输出端口所属的分组, 将所述第一 RAM组中的信元写入所述信元的输出端口所属的分组对应的第二 RAM组中;第三控制单元,用于将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所 述输出端口所属分组对应的第三RAM组中的各RAM中;第四控制单元,用于从为所述信元的输出端口分配的起始时隙开始,通过一个周 期中的L个时隙分别从所述第三RAM组的L个RAM中依次读出所述信元的各数据块,并缓 存在所述信元的输出端口所对应的第二 fifo中,并在一个信元读取完毕后,从对应的输出 端口输出所述信元,其中,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数大 于或等于输出端口的数量,并大于或等于L。进一步,所述第二控制单元具体用于,根据所述确定单元确定的所述信元的输出 端口所属的分组,将所述信元写入所述信元的输出端口所属的分组和所述信元的输入端口 所属的分组共同对应的第二 RAM组中的与所述信元输出端口对应的RAM中。或者,所述第二控制单元具体用于,根据所述确定单元确定的所述信元的输出端 口所属的分组,将所述信元写入所述信元的输出端口所属的分组对应的各第二 RAM组中数 据量较少的一个对应所述输出端口的RAM中。进一步,所述第三控制单元具体用于,轮流将对应同一第三RAM组的各第二 RAM组 中较早存储的信元拆分为L个数据块,并分别写入所述输出端口所属分组对应的第三RAM 组中的各RAM中。较佳的,所述第三控制单元具体用于,将所述第二 RAM组中的信元拆分为L个数据 块,并根据所述信元的输出端口,分别写入所述输出端口所属分组对应的第三RAM组中的 各RAM中对应所述输出端口的区域。本发明实施例提供一种信元交换方法和装置,通过在每个输入端口增加fifo,缓 存对应的输入端口所输入的信元,并将各个fifo中缓存的信元拆分为多个数据块写入共 享缓存,再由输出端口通过不同的时隙读出信元,并输出,完成交换,由于增加了 fifo对信 元进行了缓存,进而可以使得各个不同端口需要对同一缓存进行读写时,各端口分别在不 同的时隙进行读写,避免了冲突且容易调度。


图1为本发明实施例中按照时隙向RAM组中写入信元的示意图;图2为本发明实施例中按照时隙从RAM组中读出信元的示意图;图3为本发明实施例提供的信元交换方法流程图之一;图4为本发明实施例提供的信元交换装置结构示意图之一;图5为本发明实施例提供的信元交换方法流程图之二 ;图6为本发明实施例提供的信元交换装置结构示意图之二 ;图7为本发明实施例提供的一种具体的信元交换装置结构示意图;图8为本发明实施例提供的从第二 RAM组中轮询读取信元的示意图。
具体实施例方式本发明实施例提供一种信元交换方法和装置,在每个输入输出端口都增加了一个 对应的fifo来缓存所输入输出的信元,并为每个输入输出端口分配写入或读出缓存的起 始时隙,各端口从各自的起始时隙开始,通过一个周期中的L个时隙写入或读出缓存中的 信元,其中,L =信元长度/第一 RAM的位宽,在每个端口都需要进行写入或读取时,每个时 隙都有且只有一个端口对一个RAM进行读取或写入,从而避免了缓存读写的冲突。以576位的信元和位宽为16位的RAM组为例在进行写入时,如图1所示,每个输入端口都通过36个时隙分别对RAM组中的36 个RAM进行写入,每次写入一个RAM的位宽的长度,36个时隙刚好可以将一个信元全部写入 到该RAM组中,由于每个输入端口的起始时隙都不同,比前一个端口晚一个时隙,并且都是 从RAM组的第一个RAM开始一次写入,避免了输入端口间写入的冲突,且在进行一个周期以 后,每个输入端口都处于全速写的状态,没有对带宽造成浪费。同样,在进行读出时,如图2所示,每个输出端口都通过36个时隙分别从RAM组中 的36个RAM读出,每次读出一个RAM的位宽的长度,36个时隙刚好可以将一个信元从该RAM 组中全部读出,由于每个输出端口的起始时隙都不同,比前一个端口晚一个时隙,并且都是 从RAM组的第一个RAM开始一次读取,避免了输出端口间读取缓存的冲突,且在进行一个周 期以后,每个输入端口都处于全速读的状态,没有对带宽造成浪费。根据端口的数量,设置的缓存数量的不同,本发明实施例具体提供如下几种实施 方式实施例一、仅在信元交换装置中设置一个RAM组。如图3所示,本发明实施例提供的信元交换方法包括步骤S301、将从输入端口接收的信元缓存在输入端口对应的第一 fifo中;步骤S302、根据信元中的目的地址信息或目的端口信息,确定信元的输出端口 ;步骤S303、按照第一 RAM组的位宽,将第一 fifo中的信元拆分为L个数据块,并 分别写入第一 RAM组中的各RAM中,第一 RAM组中至少包括L个RAM,L =信元长度/第一 RAM的位宽;步骤S304、从为该输出端口分配的起始时隙开始,通过一个周期中的L个时隙分 别从第一 RAM组的L个RAM中依次读出该信元的各数据块,并通过该信元的输出端口输出。进一步,在步骤S304中,还可以将从第一 RAM组的L个RAM中依次读出该信元的 各数据块存储到与该信元的输出端口对应的第二 fifo中,待该信元的所有数据块全部读 出后,再从第二 fifo中输出该信元。为防止写入时造成缓存冲突,在步骤S303中,同样也是按照时隙顺序写入,即,按 照第一 RAM组的位宽,将第一 fifo中的信元拆分成L个数据块,从预先为输入端口分配的 起始时隙开始,通过L个时隙将L个数据块依次写入第一 RAM组中,每个时隙向第一 RAM组 中的相应RAM中写入一个数据块。以输出端口从第一 RAM组中写数据为例,由于给不同的输出端口分配的起始时隙 不同,而各个输出端口从起始时隙开始,都从第一 RAM组的第一个RAM开始读取数据,所以 各个输出端口错开了读取时间,对于缓存来讲,每个时隙都有输出端口在进行读取,并没有位宽的浪费。在写入时,也是同样,由于给不同的输入端口分配的时隙不同,在每个时隙中,各 个输入端口都对第一 RAM中不同的RAM进行写入操作,避免了冲突。为保证每个输出端口都能够分到不同的时隙,一个周期中所包含的时隙数目要大 于或者等于输出端口的数量,当然,为保证对于每个RAM来讲,能够达到每个时隙都有输出 端口在读取数据,一个周期中的时隙数目应该等于输出端口的数量。当输入端口数量和输 出端口数量不同时,一个周期中所包含的时隙数目要大于或等于较多的一个,即,如果输入 端口数量大于输出端口数量,一个周期中所包含的时隙数目要大于或等于输入端口数量, 反之,则一个周期中所包含的时隙数目要大于或等于输出端口数量。同时,一个周期中所包含的时隙数目还要大于或等于L,这样才能够保证在一个周 期内将一个信元完整的写入到第一 RAM组中去。当第一 RAM组中包括的RAM数目大于L时,只有前L个RAM中会被写入数据。较佳的情况是,第一 RAM组中包括L个RAM,一个周期所包含的时隙数目刚好等于 输出端口数量和L中较大的一个,这样既保证了数据读取的顺利进行,又没有浪费缓存资 源。当第一 RAM组中包括L个RAM时,每个RAM中存储该信元的一个数据块,L个RAM 刚好存储一个信元,即利用第一 RAM组每个RAM的相同地址来存储一个信元。进一步,第一 RAM组中的RAM容量越大越好,当多个输入端口向同一个输出端口发 送信元时,可以存储在第一 RAM组中,由该输出端口依次读出,实现了缓冲,且调度较简单。如图4所示,该信元交换装置中包括第一 fifo401、确定单元402、第一 RAM组 403、输入控制单元405和输出控制单元406,其中第一 fifo401的数量与输入端口相同,并且每个第一 fifo对应一个输入端口,用 于存储从与之对应的输入端口接收的信元;确定单元402,用于根据第一 fifo401中所存储的信元中的目的地址信息或目的 端口信息,确定该信元的输出端口 ;第一 RAM组403,包括不少于L个RAM,用于缓存信元,其中,L=信元长度/第一 RAM组的位宽;输入控制单元405,用于按照第一 RAM组403的位宽,将第一 fifo401中的信元拆 分为L个数据块,每个数据块的大小即为第一 RAM组403中RAM的位宽,并将L个数据块分 别写入第一 RAM组403中的各RAM中;在写入时,可以从预先为所述输入端口分配的起始时隙开始,通过L个时隙将所 述L个数据块依次写入第一 RAM组中,每个时隙向第一 RAM组中的相应RAM中写入一个数 据块。输出控制单元406,用于根据确定单元402确定的信元的输出端口,从为该输出端 口分配的起始时隙开始,通过一个周期中的L个时隙分别从第一 RAM组403的L个RAM中 依次读出信元的各数据块,并输出,其中,不同输出端口分配的起始时隙不同,一个周期中 包括的时隙数大于或等于输出端口的数量,并大于或等于L。或者,信元交换装置中也可以进一步包括第二 fifo404,第二 fifo404的数量与输 出端口相同,并且每个第二 fifo404对应一个输出端口,用于缓存从第一 RAM组中读取出的数据,此时,输出控制单元406具体用于,根据确定单元402确定的信元的输出端口,从为该 输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从第一 RAM组403的L个 RAM中依次读出信元的各数据块,并缓存在该输出端口对应的第二 fifo404中,并在一个信 元读取完毕后,从对应的输出端口输出第二 fifo404中缓存的信元。下面以具体的实例来说明该实施方式若交换装置中的输入输出端口各有36个,一个信元的长度为576位,第一 RAM组 的位宽为16,那么L为36,刚好等于输入输出端口的数量,此时,信元交换装置中的第一 RAM 组中需要包括至少36个RAM,当第一 RAM组中包括36个RAM、每个周期包括36个时隙时较 佳。如从该信元交换装置的第15个输入端口输入一个信元,需要输出至第20个输出端口 时,该第15个输入端口所对应的第一 fifo首先缓存该信元,确定单元根据第一 fifo中缓 存的信元中的目的地址信息或目的端口信息确定该信元的输出端口为第20个输出端口。 输入控制单元从预先分配的第15个时隙开始,向第一 RAM组中写入该信元,在时隙15时向 第一 RAM组中的第一个RAM中写入该信元的第一个16位,在时隙16时向第一 RAM组中的第 二个RAM中写入该信元的下一个16位,当下一个周期的第14个时隙时,即可将该信元的最 后一个16位写入第一 RAM组中的最后一个RAM中,完成了向第一 RAM组中写入该信元。输 出控制单元从预先分配给第20个输出端口的第20个时隙开始,从第一 RAM组中读出该信 元,在时隙20时向第一 RAM组中的第一个RAM中读出该信元的第一个16位,在时隙21时 向第一 RAM组中的第一个RAM中读出该信元的下一个16位,直到下一个周期的第19个时 隙时,即可从第一 RAM组中的最后一个RAM中读出该信元的最后一个16位,所读出的数据 都存储在第20个输出端口所对应的第二 fifo中,当该信元读取完毕后,将该第二 fifo中 存储的信元从第20个输出端口输出,完成了对该信元的交换。若该信元交换装置有37个输入端口或者37个输出端口,将一个周期所包括的时 隙数目设置为37个即可实现信元的交换。实施例二、在信元交换装置中设置了多个缓存,较适用于输入输出端口较多的情况。此时,如图5所示,进行信元交换的方法中包括步骤S501、将从输入端口接收的信元缓存在输入端口对应的第一 fifo中;步骤S502、按照第一 RAM组的位宽,将第一 fifo中的信元拆分成L个数据块,从预 先为输入端口分配的起始时隙开始,通过一个周期中的L个时隙将L个数据块依次写入输 入端口所属的分组对应的第一 RAM组中,每个时隙向第一 RAM组中的相应RAM中写入一个 数据块;不同输入端口分配的起始时隙不同,为保证能够将一个信元的各个数据块写入到 第一 RAM组各个RAM的相同地址中,第一 RAM组中包括的RAM个数要大于或等于L个,其 中,L =信元长度/第一 RAM组的位宽,一个周期包括的时隙数大于或等于一个分组中所包 括的输入端口数量;步骤S503、根据信元中的目的地址信息或目的端口信息,确定信元的输出端口和 该输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个数;步骤S504、将第一 RAM组中的信元写入信元的输出端口所属的分组所对应的第二 RAM组中,第二 RAM组的位宽与信元长度相等。
15
步骤S505、将第二RAM组中的信元拆分为L个数据块,并分别写入输出端口所属分 组对应的第三RAM组中的各RAM中,第三RAM组的位宽与第一 RAM组相同,第三RAM组中包 括的RAM个数大于或等于L个;步骤S506、从为输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别 从第三RAM组的L个RAM中依次读出信元的各数据块,并输出。同样,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数大于或等于 输出端口的数量,并大于或等于第一 RAM组中RAM的数量;进一步,还可以为每个输出端口设置一个第二 fifo,将从第三RAM组的L个RAM中 读出信元的各数据块缓存在信元的输出端口所对应的第二 fifo中,在一个信元读取完毕 后,再通过输出端口输出第二 fifo中缓存的信元。如图6所示,此时,该信元交换装置中包括第一 fifo601、确定单元602、第一 RAM 组603、第二 RAM组604、第三RAM组605、第一控制单元607、第二控制单元608、第三控制单 元609和第四控制单元610,其中第一 fifo601的数量与输入端口相同,并且每个第一 fifo601对应一个输入端口, 用于存储从与之对应的输入端口接收的信元;确定单元602,用于根据第二 RAM组604中所存储的信元中的目的地址信息或目的 端口信息,确定该信元的输出端口和该输出端口所属的分组;第一 RAM组603,数量与输入端口的分组数量相同,每个第一 RAM组603都包括不 少于L个RAM,用于缓存接收的信元,其中,L =信元长度/第一 RAM组的位宽;第二 RAM组604,至少包括M个,M为输入端口的分组数与输出端口的分组数的乘 积,用于缓存信元,第二 RAM组604的位宽与信元长度相等,可以在一个时隙完成一个信元 的写入或读出;第三RAM组605,数量与输出端口的分组数量相同,每个第三RAM组605都包括不 少于L个RAM,用于缓存信元,第三RAM组605的位宽和第一 RAM组603的位宽相同;第一控制单元607,用于按照第一 RAM组603的位宽,将第一 fifo601中的信元拆 分成L个数据块,从预先为输入端口分配的起始时隙开始,通过一个周期中的L个时隙将L 个数据块依次写入输入端口所属的分组对应的第一 RAM组中,每个时隙向第一 RAM组中的 相应RAM中写入一个数据块,不同输入端口分配的起始时隙不同,其中,一个周期包括的时 隙数大于或等于一个分组中所包括的输入端口数量;第二控制单元608,用于根据确定单元602确定的信元的输出端口所属的分组,将 第一 RAM组603中的信元写入该信元的输出端口所属的分组对应的第二 RAM组604中;第三控制单元609,用于将第二 RAM组604中的信元拆分为L个数据块,并分别写 入该信元的输出端口所属分组对应的第三RAM组605中的各RAM中;第四控制单元610,用于从为信元的输出端口分配的起始时隙开始,通过一个周期 中的L个时隙分别从第三RAM组605的L个RAM中依次读出该信元的各数据块,并输出,其 中,预先为不同输出端口分配的起始时隙不同,一个周期中包括的时隙数大于或等于输出 端口的数量,并大于或等于L。进一步,信元交换装置中还可以包括数量与输出端口的数量相同的第二 fifo606, 与输出端口一一对应,用于存储从第三RAM组605中读出的信元,此时,第四控制单元在从第三RAM组605的L个RAM中依次读出该信元的各数据块时,将各个数据块缓存在该信元 的输出端口所对应的第二 fifo606中,并在一个信元读取完毕后,从对应的输出端口输出 第二 fifo606中缓存的信元。下面举例说明本发明实施例较佳的实施方式如图7所示,为具有96个输入端口和输出端口的信元交换装置的结构示意图,由 于信元长度为576,第一 RAM组和第三RAM组中RAM的位宽为16,所以L值为36,为充分利 用时间,避免端口的等待情况,一个周期的时隙数目设置为36,所以输入端口和输出端口各 被分成了三组,1-36端口为第一组,37-72端口为第二组,73-96端口为第三组,每个分组中 各个端口编号由小到大分别对应的起始时隙为1-36。当信元交换装置从第1个输入端口接收到一个信元后,将该信元存储在第1个输 入端口对应的第一 fifo中,并在下一个周期的第一个时隙将该信元的前16位写入到第一 RAM组的第一个RAM中,在该周期的第二个时隙将该信元的下一个16位写入到第一 RAM组 的第二个RAM中,直至该周期结束时,将该信元的第36个16位写入到第一 RAM组的第36 个RAM中,完成了对该信元的展宽。若同时信元交换装置的第2个输入端口也接收到一个信元,则该信元存储在与第 2个输入端口对应的第一 fifo中,并在这个周期的第二个时隙向第一 RAM组的第一个RAM 中写入第一 fifo中所存储的信元的前16位,在第三个时隙向第一 RAM组的第二个RAM中 写入该信元的下一个16位,依次类推,刚好与第1个端口的写入操作错开一个时隙。如果该分组的36个输入端口都不停的接收信元,那么每个时隙中,36个输入端口 都分别向该分组中的第一 RAM组的不同RAM中写入数据。确定单元获取各个分组的第一 RAM组中所存储的信元中的目的地址信息或目的 端口信息,确定各个信元的输出端口以及各个信元的输出端口所属的分组。可以为每个分 组的第一 RAM组分别设置一个确定单元,也可以各个分组共用一个确定单元。读出第一 RAM组中存储的信元,并写入到对应该信元的输出端口所在分组的第二 RAM组中。由于第二 RAM组中各RAM的位宽与信元长度相等,为576位,所以用一个时隙从 第一 RAM组中读出并写入到第二 RAM组中即可,这样,在一个周期的36个时隙中,就可以将 该组的36个端口在一个周期内所写入的36个信元全部读出并写入到各信元相应的第二 RAM组中。由于每个输入端口组和输出端口组的组合都有一个对应的第二 RAM组,在将第一 RAM组中的信元写入到第二 RAM组中的时候,可以根据该信元的输入端口组和输出端口组, 将该信元写入到对应的第二 RAM组中,S卩,仍以图7中的信元交换装置为例,若从第1个输 入端口输入一个信元去往第73个输出端口,则将该信元写入到第一组输入端口和第三组 输出端口共同对应的第二 RAM组中。进一步,为使得信元在等待写入到第三RAM组中的时候更加有序,便于调度,可以 在将信元写入到第二 RAM组中时,将信元写入到第二 RAM组中与该信元的输出端口所对应 的RAM中,例如从第1个输入端口输入一个信元去往第73个输出端口,则将该信元写入到 第一组输入端口和第三组输出端口共同对应的第二 RAM组对应第73个输出端口的第一个 RAM 中。更进一步,为了避免各个输入端口分组中去往同一个输出端口的信元数量不均衡,导致同一个输出端口对应的三个第二 RAM组中的RAM利用率不均衡,可以在将信元写 入到第二 RAM组中时,选择该信元的输出端口所属的分组所对应的三个第二 RAM组中,该输 出端口对应的三个RAM中数据量最少的一个。如果在一个时隙中,只有一个输入端口分组 的一个信元去往该输出端口,则将该信元写入到该输出端口对应的三个第二 RAM组的三个 RAM中最浅的一个,如果有两个输入端口分组各有一个信元去往该输出端口,则分别将这两 个信元写入到该输出端口对应的三个第二 RAM组的三个RAM中较浅的两个,如果三个输入 端口分组都有一个信元去往该输出端口,则分别将三个信元写入到该输出端口对应的三个 第二 RAM组的三个RAM中,此时,可以采用链表的方式来记录各个信元的写入顺序。或者,在第二 RAM组中,还可以采用链表的方式来表征一个信元的输出端口,这时 就不需要将信元写入第二 RAM组中固定的对应该信元的输出端口的RAM中了,在读出时,如 图8所示,只要轮询三个输入端口分组到该输出端口分别生成的三个链表即可。从第二 RAM组中读出信元并写入第三RAM组中也只需要一个时隙就可以完成,这 样,通过一个周期的36个时隙,刚好可以向第三RAM组中为该组36个输出端口各写入一个 信元。在为一个输出端口写入信元时,第三控制单元轮询该输出端口所对应的三个RAM或 者三个链表,每次读出一个信元写入到第三RAM组中。第三RAM组的深度可以为该组输出端口数量的二倍,每个输出端口对应两个地 址,这样,刚好在一个周期内,第三控制单元在这个周期的一个时隙中向一个地址写入信 元,第四控制单元在这个周期中从另一个地址读出信元,实现了对缓存的充分利用。本发明实施例提供一种信元交换方法和装置,通过在每个端口增加fifo,缓存对 应的输入端口所输入的信元,并将各个fifo中缓存的信元在不同的时隙中写入共享缓存, 再由输出端口通过不同的时隙读出信元,并缓存在输出端口处增加的fifo中,再通过输出 端口输出,完成交换,由于增加了 fifo对信元进行了缓存,进而可以使得各个不同端口需 要对同一缓存进行读写时,各端口分别在不同的时隙进行读写,避免了冲突且容易调度。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术 的范围之内,则本发明也意图包含这些改动和变型在内。
18
权利要求
1.一种信元交换方法,其特征在于,包括将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;根据信元中的目的地址信息或目的端口信息,确定所述信元的输出端口 ;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L个数据块,并分别写入第 一 RAM组中的各RAM中,所述第一 RAM组中包括的RAM个数大于或等于L个,其中,L =信 元长度/第一 RAM组的位宽;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM中依次读出所述信元的各数据块,并输出,其中,不同输出端口分配的起始 时隙不同,一个周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。
2.如权利要求1所述的方法,其特征在于,所述从为所述输出端口分配的起始时隙开 始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM中依次读出所述信元的 各数据块,并输出,具体包括从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所对应的 第二 fifo中;通过所述输出端口输出所述第二 fifo中缓存的信元。
3.如权利要求1或2所述的方法,其特征在于,所述将第一fifo中的信元拆分为L个 数据块,并分别写入第一 RAM组中的各RAM中具体为按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为所述 输入端口分配的起始时隙开始,通过L个时隙将所述L个数据块依次写入第一 RAM组中,每 个时隙向第一 RAM组中的相应RAM中写入一个数据块。
4.一种信元交换装置,其特征在于,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元;确定单元,用于根据所述信元中的目的地址信息或目的端口信息,确定所述信元的输 出端口 ;第一 RAM组,包括不少于L个RAM,用于缓存所述信元,其中,L =信元长度/第一 RAM 组的位宽;输入控制单元,用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分为L个数 据块,并分别写入所述第一 RAM组中的各RAM中;输出控制单元,用于根据所述确定单元确定的所述信元的输出端口,从为所述输出端 口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L个RAM中 依次读出所述信元的各数据块,并输出,其中,不同输出端口分配的起始时隙不同,一个周 期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。
5.如权利要求4所述的装置,其特征在于,还包括与输出端口数量相同的第二 fifo,用于缓存对应的输出端口从所述第一 RAM组中读出 的数据;所述输出控制单元具体用于,根据所述确定单元确定的所述信元的输出端口,从为所 述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第一 RAM组的L 个RAM中依次读出所述信元的各数据块,并缓存在所述输出端口所对应的第二 fifo中,并在一个信元读取完毕后,从对应的输出端口输出所述第二 fifo中缓存的信元。
6.如权利要求4或5所述的装置,其特征在于,所述第一控制单元具体用于按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为所述 输入端口分配的起始时隙开始,通过L个时隙将所述L个数据决依次写入第一 RAM组中,每 个时隙向第一 RAM组中的相应RAM中写入一个数据块。
7.一种信元交换方法,其特征在于,包括将从输入端口接收的信元缓存在所述输入端口对应的第一 fifo中;按照第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L个数据块,从预先为所述 输入端口分配的起始时隙开始,通过一个周期中的L个时隙将所述L个数据块依次写入所 述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述第一 RAM组中的相应RAM中 写入一个数据块,不同输入端口分配的起始时隙不同,所述第一 RAM组中包括的RAM个数大 于或等于L个,其中,L =信元长度/第一 RAM组的位宽,一个周期包括的时隙数大于或等 于一个分组中所包括的输入端口数量,并且大于或等于L ;根据所述信元中的目的地址信息或目的端口信息,确定所述信元的输出端口和该输出 端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个数;将所述第一 RAM组中的信元写入所述信元的输出端口所属的分组所对应的第二 RAM组 中,所述第二 RAM组的位宽与所述信元长度相等;将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输出端口所属分组对 应的第三RAM组中的各RAM中,所述第三RAM组的位宽与所述第一 RAM组相同,所述第三 RAM组中包括的RAM个数大于或等于L个;从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第三 RAM组的L个RAM中依次读出所述信元的各数据块,并输出,其中,不同输出端口分配的起始 时隙不同,一个周期中包括的时隙数大于或等于输出端口的数量,并大于或等于L。
8.如权利要求7所述的方法,其特征在于,所述从为所述输出端口分配的起始时隙开 始,通过一个周期中的L个时隙分别从所述第三RAM组的L个RAM中依次读出所述信元的 各数据块,并输出,具体包括从为所述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第三 RAM组的L个RAM中依次读出所述信元的各数据块,并缓存在所述信元的输出端口所对应的 第二 fifo中,以及通过所述输出端口输出所述第二 fifo中缓存的信元。
9.如权利要求7所述的方法,其特征在于,所述每个分组中输入端口或输出端口的个 数不超过L个。
10.如权利要求7所述的方法,其特征在于,所述将信元写入所述信元的输出端口所属 的分组所对应的第三RAM组中与所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组和所述信元的输入端口所属的分组 共同对应的第二 RAM组中的与所述信元输出端口对应的RAM中。
11.如权利要求7所述的方法,其特征在于,所述将信元写入所述信元的输出端口所属 的分组所对应的第三RAM组中与所述信元输出端口对应的RAM中,具体为将所述信元写入所述信元的输出端口所属的分组对应的各第二 RAM组中数据量较少 的一个对应所述输出端口的RAM中。
12.如权利要求7-11任一所述的方法,其特征在于,所述将所述第二RAM组中的信元拆 分为L个数据块,并分别写入所述输出端口所属分组对应的第三RAM组中的各RAM中具体 包括轮流将对应同一第三MM组的各第二 RAM组中较早存储的信元拆分为L个数据块,并 分别写入所述输出端口所属分组对应的第三RAM组中的各RAM中。
13.如权利要求7所述的方法,其特征在于,所述将信元写入第三RAM组中,具体为 根据所述信元的输出端口,将所述信元写入所述第三RAM中对应所述输出端口的区域。
14.一种信元交换装置,其特征在于,包括与输入端口数量相同的第一 fifo,用于存储从与之对应的输入端口接收的信元; 确定单元,用于根据所述信元中的目的地址信息或目的端口信息,确定所述信元的输 出端口和该输出端口所属的分组,每组的输出端口数小于或等于一个周期中时隙的个数;与输入端口分组数量相等的第一 RAM组,包括不少于L个RAM,用于缓存所述信元,其 中,L =信元长度/第一 RAM组的位宽;M个第二 RAM组,位宽与所述信元长度相等,用于缓存所述信元,其中M为输入端口的分 组数与输出端口的分组数的乘积;与输出端口分组数量相等的第三RAM组,包括不少于L个RAM,用于缓存所述信元,位宽 与所述第一 RAM组相同;第一控制单元,用于按照所述第一 RAM组的位宽,将所述第一 fifo中的信元拆分成L 个数据块,从预先为所述输入端口分配的起始时隙开始,通过一个周期中的L个时隙将所 述L个数据块依次写入所述输入端口所属的分组对应的第一 RAM组中,每个时隙向所述第 一 RAM组中的相应RAM中写入一个数据块,不同输入端口分配的起始时隙不同,其中,一个 周期包括的时隙数大于或等于一个分组中所包括的输入端口数量;第二控制单元,用于根据所述确定单元确定的所述信元的输出端口所属的分组,将所 述第一 RAM组中的信元写入所述信元的输出端口所属的分组对应的第二 RAM组中;第三控制单元,用于将所述第二 RAM组中的信元拆分为L个数据块,并分别写入所述输 出端口所属分组对应的第三RAM组中的各RAM中;第四控制单元,用于从为所述信元的输出端口分配的起始时隙开始,通过一个周期中 的L个时隙分别从所述第三RAM组的L个RAM中依次读出所述信元的各数据块,并输出,其 中,不同输出端口分配的起始时隙不同,一个周期中包括的时隙数大于或等于输出端口的 数量,并大于或等于L。
15.如权利要求14所述的装置,其特征在于,还包括与输出端口数量相同的第二 fifo,用于缓存对应的输出端口从所述第三RAM组中读出 的数据;所述第四控制单元具体用于,根据所述确定单元确定的所述信元的输出端口,从为所 述输出端口分配的起始时隙开始,通过一个周期中的L个时隙分别从所述第三RAM组的L 个RAM中依次读出所述信元的各数据块,并缓存在所述输出端口所对应的第二 fifo中,并 在一个信元读取完毕后,从对应的输出端口输出所述第二 fifo中缓存的信元。
16.如权利要求14所述的装置,其特征在于,所述第二控制单元具体用于,根据所述确定单元确定的所述信元的输出端口所属的分组,将所述信元写入所述信元的输出端口所属 的分组和所述信元的输入端口所属的分组共同对应的第二 RAM组中的与所述信元输出端 口对应的RAM中。
17.如权利要求14所述的装置,其特征在于,所述第二控制单元具体用于,根据所述确 定单元确定的所述信元的输出端口所属的分组,将所述信元写入所述信元的输出端口所属 的分组对应的各第二 RAM组中数据量较少的一个对应所述输出端口的RAM中。
18.如权利要求14-17任一所述的装置,其特征在于,所述第三控制单元具体用于,轮 流将对应同一第三RAM组的各第二 RAM组中较早存储的信元拆分为L个数据块,并分别写 入所述输出端口所属分组对应的第三RAM组中的各RAM中。
19.如权利要求14所述的装置,其特征在于,所述第三控制单元具体用于,将所述第二 RAM组中的信元拆分为L个数据块,并根据所述信元的输出端口,分别写入所述输出端口所 属分组对应的第三RAM组中的各RAM中对应所述输出端口的区域。
全文摘要
本发明公开了一种信元交换方法和装置,涉及数据通信技术,本发明实施例通过在每个输入端口增加fifo,缓存对应的输入端口所输入的信元,并将各个fifo中缓存的信元拆分为多个数据块写入共享缓存,再由输出端口通过不同的时隙读出信元,并输出,完成交换,由于增加了fifo对信元进行了缓存,进而可以使得各个不同端口需要对同一缓存进行读写时,各端口分别在不同的时隙进行读写,避免了冲突且容易调度。
文档编号H04L12/56GK102118304SQ20101000160
公开日2011年7月6日 申请日期2010年1月5日 优先权日2010年1月5日
发明者孙明施, 杨宜, 黄炜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1