发明名称 用以决定在分段内容可定址记忆体装置中最长前序匹配之方法及装置
摘要 一种用以决定在一分段内容可定址记忆体(CAM)装置中一最长前序匹配之方法及装置。该CAM装置包括多个CAM阵列区块,其中每一个CAM阵列区块可随意地载入无等级差别的交互定义域路径(CIDR)位址。就一个实施例而言,每一个CAM阵列为一个三元的CAM阵列,包括:储存CAM资料的CAM单元;储存该等相对应CAM单元其前序遮蔽资料的遮蔽单元;一条CAM匹配线,用以指示一个搜寻键值和该CAM资料(该前序遮蔽资料所遮蔽的)之间的一个匹配;及前序逻辑电路,用以比较该CAM匹配线的逻辑状态和该前序遮蔽资料。该等前序逻辑电路从匹配该搜寻键值的CAM项目中决定每一个CAM阵列区块的最长前序。将该等每一个区块的最长前序提供给"决定哪一个最长前序为该整个CAM装置的该最长前序"的比较电路。一个区块选取电路选取"储存该整个CAM装置其最长前序"的该CAM阵列区块,以和该 CAM阵列区块中的该前序遮蔽资料作比较。接着,可从该 CAM装置输出该匹配位置的CAM索引或位址。藉将搜寻该装置-等级最长前序限制在唯一的一个CAM阵列区块上,使全面平行搜寻所有的CAM阵列区块时,将该比较所引起的电源消耗减少。
申请公布号 TW525186 申请公布日期 2003.03.21
申请号 TW089103050 申请日期 2000.02.22
申请人 网路逻辑微系统公司 发明人 冰蒂甘薇 S. 那塔吉;杉帝 坎那;华达珍 宣瓦杉
分类号 G11C7/00 主分类号 G11C7/00
代理机构 代理人 陈长文 台北市松山区敦化北路二○一号七楼
主权项 1.一种三元内容可定址记忆体(CAM)装置,包括:一第一个三元CAM阵列区块,其具有多个CAM单元列,该等单元列与一个相对应的遮蔽单元列耦合,和一第一组多条信号线,用以从该其中一个遮蔽单元列中提供第一个遮蔽资料;一第二个三元CAM阵列区块,其具有多个CAM单元列,该等单元列与一个相对应的遮蔽单元列耦合,和一第二组多条信号线,用以从该其中一个遮蔽单元列中提供第二个遮蔽资料;决定装置,用以决定"该第一个遮蔽资料指示未遮蔽的位元多于该第二个遮蔽资料";及选取装置,用以选取该第一个三元CAM阵列区块,以比较该"第一个遮蔽资料"和"储存在其多个遮蔽单元列中的遮蔽资料"。2.如申请专利范围第1项之三元CAM装置,其中该选取装置进一步包括用以放弃选择该第二个三元CAM阵列区块,以免比较"该第二个遮蔽资料"和"储存在其多个遮蔽单元列中的遮蔽资料"之装置。3.如申请专利范围第1项之三元CAM装置,其中该决定装置决定"该第一个遮蔽资料指示相邻之未遮蔽的位元多于该第二个遮蔽资料"。4.如申请专利范围第1项之三元CAM装置,其中该决定装置包括将比较电路架构成比较该第一个遮蔽资料和该第二个遮蔽资料。5.一种三元内容可定址记忆体(CAM)装置,包括:多个三元CAM阵列区块,其中每一个三元CAM阵列区块具有:多个三元CAM单元列,该等列耦合至多条信号线,用以从该其中一个三元CAM单元列中提供遮蔽资料;及比较电路,其具有输入,用以耦合接收来自该等每一条信号线之收该遮蔽资料;以及输出,其用以提供该遮蔽资料的一个指示,其指示"最多未遮蔽的位元"。6.如申请专利范围第5项之三元CAM装置,更包含一个区块选取电路,用以耦合接收来自该比较电路之该指示,该区块选取电路具有输出,用以提供多个选取信号以选取该其中一个CAM阵列区块。7.如申请专利范围第5项之三元CAM装置,其中每一复数个三元CAM阵列区块包含辨识电路以辨识那一个三元CAM单元列储存与比较资料相匹配之资料及具有最多未遮蔽位元。8.如申请专利范围第6项之三元CAM装置,其中将该选取的CAM阵列区块架构成比较"提供给该比较电路之该选取CAM阵列区块的遮蔽资料"和"储存在其多个三元CAM单元列中的遮蔽资料"。9.如申请专利范围第6项之三元CAM装置,其中该比较电路提供该遮蔽资料的一个指示,其指示"最大的相邻未遮蔽位元总数"。10.一种三元内容可定址记忆体(CAM)装置,包括:多个三元CAM阵列区块,其中每一个三元CAM阵列区块具有:多个CAM单元列,该等列与一个相对应的遮蔽单元列耦合;以及多条信号线,用以从该其中一个遮蔽单元列中提供遮蔽资料;比较电路,具有输入,用以耦合接收来自该等每一条信号线之该遮蔽资料;以及输出,用以提供合成遮蔽资料,其中该合成遮蔽资料包括指示"该最多未遮蔽的位元"的该遮蔽资料;及一个区块选取电路,具有与该比较电路耦合的输入,以接收该合成遮蔽资料,该区块选取电路具有输出,用以提供多个选取信号以选取该其中一个CAM阵列区块。11.如申请专利范围第10项之三元CAM装置,其中将该选取的CAM阵列区块架构成比较"提供给该比较电路之该选取CAM阵列区块的遮蔽资料"和"储存在其多个遮蔽单元列中的遮蔽资料"。12.如申请专利范围第10项之三元CAM装置,其中该比较电路提供该遮蔽资料,以指示"最大的相邻未遮蔽位元总数"。13.如申请专利范围第10项之三元CAM装置,其中该比较电路包括多个逻辑闸,用以在逻辑上结合该等CAM阵列区块该等每一条信号线中的该遮蔽资料,以形成该合成遮蔽资料。14.如申请专利范围第10项之三元CAM装置,其中该区块选取电路包括:多个比较电路,每一个比较电路具有:第一个输入,用以接收该合成遮蔽资料;第二个输入,用以从该其中一个个别的三元CAM阵列区块中接收遮蔽资料;及一个输出,用以提供一个信号,以指示"该合成遮蔽资料"是否和"从该其中一个个别的三元CAM阵列区块中所接收的该遮蔽资料"相匹配。15.如申请专利范围第14项之三元CAM装置,其中该区块选取电路更进一步包括:一个编码器,具有多个输入,其中每一个输入耦合成用以接收该其中一个比较电路所输出的该其中一个信号,和具有多个输出;及一个解码器,具有:输入,其与该编码器的该等输出耦合;以及输出,提供该等多个选取信号。16.如申请专利范围第10项之三元CAM装置,其中该区块选取电路包括:多个比较电路,其中每一个比较电路具有:一第一个耦合的输入,以从该合成遮蔽资料中接收一个位元;多个第二个输入,每一个耦合成用以从每一个三元CAM阵列区块中接收该等每一条信号线所提供之该遮蔽资料的一个位元;以及一个输出,用以提供一个信号以便指示"该合成遮蔽资料"是否和"从该等多个三元CAM阵列区块中所接收的该遮蔽资料"相匹配。17.如申请专利范围第18项之三元CAM装置,其中该等多个比较电路包括XOR闸。18.如申请专利范围第17项之三元CAM装置,其中该等多个比较电路更进一步包括与该等XOR闸耦合之AND闸。19.如申请专利范围第16项之三元CAM装置,其中该区块选取电路更进一步包括:一个编码器,其具有:多个输入,其中每一个输入耦合成用以接收该其中一个比较电路所输出的该其中一个信号;以及多个输出;及一个解码器,其具有:输入,其与该编码器的该等输出耦合;以及输出,用以提供该等多个选取信号。20.一种三元内容可定址记忆体(CAM)装置,包括:一第一个三元CAM阵列区块群组,每一个三元CAM阵列区块具有:多个CAM单元列,该第列与一个相对应的遮蔽单元列耦合;以及多条信号线,用以从该其中一个遮蔽单元列中提供遮蔽资料;一第二个三元CAM阵列区块群组,每一个三元CAM阵列区块具有:多个CAM单元列,该第列与一个相对应的遮蔽单元列耦合;以及多条信号线,用以从该其中一个遮蔽单元列中提供遮蔽资料;第一个比较电路,具有输入,用以耦合接收从该第一个群组中该等CAM阵列区块的该等每一条信号线之遮蔽资料;以及输出,用以提供第一个合成遮蔽资料,其中该第一个合成遮蔽资料包括该第一个群组中该等多个CAM阵列区块中指示"该最多未遮蔽的位元"之该遮蔽资料;第二个比较电路,具有输入,用以耦合接收从该第二个群组中该等CAM阵列区块的该等每一条信号线之遮蔽资料;以及输出,用以提供第二个合成遮蔽资料,其中该第二个合成遮蔽资料包括该第二个群组中该等多个CAM阵列区块中指示"该最多未遮蔽的位元"之该遮蔽资料;及一个区块选取电路,具有:与该第一个比较电路耦合之第一个输入,用以接收该第一个合成遮蔽资料;与该第二个比较电路耦合之第二个输入,用以接收该第二个合成遮蔽资料;第三个输入,用以从该第一个群组和该第二个群组中该等每一个三元CAM阵列区块中接收遮蔽资料;以及输出,用以提供多个选取信号以选取该其中一个CAM阵列区块。21.如申请专利范围第20项之三元CAM装置,其中将该选取的CAM阵列区块架构成比较"提供给该第一个或该第二个比较电路之该选取CAM阵列区块的遮蔽资料"和"储存在其多个遮蔽单元列中的遮蔽资料"。22.如申请专利范围第20项之三元CAM装置,其中该第一个合成遮蔽资料包括该第一个群组中该等多个CAM阵列区块中指示"最大的相邻未遮蔽位元总数"之该遮蔽资料。23.如申请专利范围第20项之三元CAM装置,其中该第二个合成遮蔽资料包括该第二个群组中该等多个CAM阵列区块中指示"最大的相邻未遮蔽位元总数"之该遮蔽资料。24.如申请专利范围第20项之三元CAM装置,其中该第一个比较电路包括一第一组多个逻辑闸,用以在逻辑上结合该第一个群组中该等CAM阵列区块该等每一条信号线中的该遮蔽资料,用以形成该第一个合成遮蔽资料,且其中该第二个比较电路包括一第二组多个逻辑闸,用以在逻辑上结合该第二个群组中该等CAM阵列区块该等每一条信号线中的该遮蔽资料,以形成该第二个合成遮蔽资料。25.如申请专利范围第20项之三元CAM装置,其中该区块选取电路包括:一第一组多个比较电路,每一个比较电路具有耦合的输入,用以从该第一个合成遮蔽资料中接收一个位元、和从该第一个群组中该等三元CAM阵列区块的该等每一条信号线所提供的该遮蔽资料中接收一个位元,且每一个比较电路更进一步具有一个输出,用以提供一个信号,用以指示"该第一个合成遮蔽资料"是否和从"该第一个群组中该等多个三元CAM阵列别区块中所接收的该遮蔽资料"相匹配;一第二组多个比较电路,每一个比较电路具有耦合的输入,用以从该第二个合成遮蔽资料中接收一个位元、和从该第二个群组中该等三元CAM阵列区块的该等每一条信号线所提供的该遮蔽资料中接收一个位元,且每一个比较电路更进一步具有一个输出,用以提供一个信号,用以指示"该第二个合成遮蔽资料"是否和"从该第二个群组中该等多个三元CAM阵列区块中所接收的该遮蔽资料"相匹配;一个编码器,具有:一第一组多个输入,其中每一个输入耦合成用以接收该第一组多个比较电路中其中一个比较电路所输出的该其中一个信号;一第二组多个输入,其中每一个输入耦合成用以接收该第二组多个比较电路中其中一个比较电路所输出的该其中一个信号;以及多个输出;及一个解码器,具有:输入,其与该编码器的该等输出耦合;以及输出,用以提供该等多个选取信号。26.如申请专利范围第20项之三元CAM装置,更进一步包括第三个比较电路,具有:第一个耦合的输入,用以接收该第一个合成遮蔽资料;第二个耦合的输入,用以接收该第二个合成遮蔽资料;以及输出,用以将第三个合成遮蔽资料提供给该区块选取电路,其中该第三个合成遮蔽资料包括该等第一个和第二个合成遮蔽资料中的该遮蔽资料,用以指示在"该第一个或该第二个群组中哪一个三元CAM阵列区块包括具有该最多未遮蔽位元的遮蔽资料"。27.如申请专利范围第23项之三元CAM装置,其中该区块选取电路包括:一第一组多个比较电路.每一个比较电路具有耦合的输入,用以从该第一个合成遮蔽资料中接收一个位元、和从该第一个群组中该等三元CAM阵列区块的该等每一条信号线所提供的该遮蔽资料中接收一个位元,且每一个比较电路更进一步具有一个输出,用以提供一个信号,用以指示"该第一个合成遮蔽资料"是否和"从该第一个群组中该等多个三元CAM阵列区块中所接收的该遮蔽资料"相匹配;一第二组多个比较电路,每一个比较电路具有耦合的输入,用以从该第二个合成遮蔽资料中接收一个位元、和从该第二个群组中该等三元CAM阵列区块的该等每一条信号线所提供的该遮蔽资料中接收一个位元,且每一个比较电路更进一步具有一个输出,用以提供一个信号,用以指示"该第二个合成遮蔽资料"是否和"从该第二个群组中该等多个三元CAM阵列区块中所接收的该遮蔽资料"相匹配";及一第三组多个比较电路,每一个比较电路具有耦合的输入,用以从该第一个合成遮蔽资料中接收一个位元、从该第二个合成遮蔽资料中接收一个位元、和从该第三个合成遮蔽资料中接收一个位元,且每一个比较电路更进一步具有一个输出,用以提供一个信号,用以指示"该第三个合成遮蔽资料"是否和"该第一个合成遮蔽资料、或该第二个合成遮蔽资料"相匹配";一第一个编码器,具有:多个输入, 其中每一个输入耦合成用以接收该第一组多个比较电路中其中一个比较电路所输出的该其中一个信号;以及多个输出;一第二个编码器,具有多个输入,其中每一个输入耦合成用以接收该第二组多个比较电路中其中一个比较电路所输出的该其中一个信号;以及多个输出;选取逻辑,具有:输入,其与该第三组多个比较电路的该等输出耦合;以及一个输出,提供一个多工器选取信号;一个多工器,具有:第一个输入,其与该第一个编码器的该等多个输出耦合;第二个输入,其与该第二个编码器的该等多个输出耦合;一个耦合的选取输入,用以接收该多工器选取信号;以及多个输出;及一个解码器,具有:输入,其与该多工器的该等多个输出和该选取逻辑的该输出耦合;以及输出,用以提供该等多个选取信号。28.如申请专利范围第27项之三元CAM装置,其中该区块选取电路包括:一第一个编码器,具有:多个输入,其中每一个输入耦合成用以接收该第一组多个比较电路中其中一个比较电路所输出的该其中一个信号;以及多个输出;一第二个编码器,具有:多个输入,其中每一个输入耦合成用以接收该第二组多个比较电路中其中一个比较电路所输出的该其中一个信号;以及多个输出;选取逻辑,具有:多个输入,其与该第三组多个比较电路的该等输出耦合,以及一个输出,用以提供一个多工器选取信号;一个多工器,具有:第一个输入,其与该第一个编码器的该等多个输出耦合;第二个输入,其与该第二个编码器的该等多个输出耦合;一个耦合的选取输入,用以接收该多工器选取信号;以及多个输出;及一个解码器,具有:多个输入,以与该多工器的该等多个输出和该选取逻辑的该输出耦合,以及多个输出,用以提供该等多个选取信号。29.一种操作一具有第一个和第二个三元CAM阵列区块的三元内容可定址记忆体(CAM)装置之方法,包括:决定该第一个三元CAM阵列区块中一个CAM单元列中储存与比较资料相匹配的资料之第一个遮蔽资料;决定该第二个三元CAM阵列区块中一个CAM单元列中储存与该比较资料相匹配的资料之第二个遮蔽资料;决定该第一个遮蔽资料指示其未遮蔽的位元多于该第二个遮蔽资料;及决定该第一个遮蔽资料在该第一个三元CAM阵列区块中的一个位置。30.如申请专利范围第29项之方法,其中决定该第一个遮蔽资料在该第一个三元CAM阵列区块中的该位置包括:选取该第一个三元CAM阵列区块;及比较"该第一个遮蔽资料"和"储存在遮蔽单元列中的遮蔽资料",其中每一个遮蔽单元列与该第一个三元CAM阵列区块中一个相对应的CAM单元列耦合。31.如申请专利范围第30项之方法,进一步包括放弃选择该第二个三元CAM阵列区块。32.如申请专利范围第30项之方法,进一步包括决定多条匹配线的逻辑状态,用以对比较"该第一个遮蔽资料"和"储存在该等遮蔽单元列中的资料"作回应。33.如申请专利范围第29项之方法,其中该等第一个和第二个三元CAM阵列中的该等CAM单元列储存国际网际网路协定(IP)位址。34.如申请专利范围第33项之方法,其中该等第一个和第二个遮蔽资料包括该等IP位址的前序遮蔽资料。35.如申请专利范围第25项之方法,其中"决定该第一个遮蔽资料指示较多的未遮蔽位元"包括在逻辑上结合该等第一个和第二个遮蔽资料。36.如申请专利范围第29项之方法,其中"决定该第一个遮蔽资料指示较多的未遮蔽位元"包括在逻辑上结合该等第一个和第二个遮蔽资料,以便形成合成遮蔽资料,且其中"决定该第一个遮蔽资料在该第一个三元CAM阵列区块中的一个位置"包括:决定合成的遮蔽资料是来自于第一个三元CAM阵列区块之第一遮蔽;选取该第一个三元CAM阵列区块;及比较"该第一个遮蔽资料"和"储存在遮蔽单元列中的遮蔽资料",其中每一个遮蔽单元列与该第一个三元CAM阵列区块中一个相对应的CAM单元列耦合。37.一种决定一个项目在一个三元内容可定址记忆体(CAM)阵列区块中的位置之方法,其中每一个CAM阵列区块具有多个三元CAM单元,且该找到的项目在该等所有CAM阵列区块的CAM单元之中具有最多未遮蔽的位元,该方法包括:决定每一个CAM阵列区块中和比较资料相匹配的位置;在每一个三元CAM阵列区块内该等匹配的项目之中决定最大的未遮蔽位元总数;比较该等每一个三元CAM阵列区块的最大未遮蔽位元总数,以选取该其中一个最大未遮蔽位元总数;及比较"该选取的最大未遮蔽位元总数"和"储存在该三元CAM阵列区块中以与该选取的最大未遮蔽位元总数相关联的遮蔽资料"。图式简单说明:图1,说明一个路径表中预先排序的CIDR位址;图2,说明一个路径表中未排序的CIDR位址;图3,为根据本发明一个CAM装置其一个实施例之方块图;图4,为操作图3该三元CAM装置的一个实施例之流程图;图5,为一个包括遮蔽单元、CAM单元及前序逻辑电路的三元CAM阵列其一个实施例之方块图;图6,说明随意载入图5.该三元CAM阵列中之具网路前序的CIDR位址;图7A,为一个说明图5.该三元CAM阵列其操作的时序图之一个实施例;图7B,为一个说明指令管路化的时序图之一个实施例;图8A,为一个三元CAM单元其一个实施例之方块图;图8B,为图8A、该三元CAM单元其一个实施例之一个电路图;图9A,为一个三元CAM单元其另一个实施例之方块图;图9B,为图9A、该三元CAM单元其一个实施例之一个电路图;图10A,为一个三元CAM单元其另一个实施例之方块图;图10B,为图10A、该三元CAM单元其一个实施例之一个电路图;图10C,为图10A、该三元CAM单元其另一个实施例之一个逻辑图;图11,为一个包括遮蔽单元、CAM单元及前序逻辑电路的三元CAM阵列其另一个实施例之方块图;图12,为一个包括遮蔽单元、CAM单元及前序逻辑电路的三元CAM阵列其另一个实施例之方块图;图13,为储存CIDR位址的串级CAM装置其一个实施例之方块图;图14,为图13.该其中一个CAM装置其操作之一个时序图;图15,为一个包括串级逻辑的CAM装置其一个实施例之方块图;图16,为图15.该串级逻辑其一个实施例之方块图;图17,说明随意载入图5.该三元CAM阵列中之具网路前序的CIDR位址;图18,为一个包括遮蔽单元、CAM单元、前序逻辑电路及交集闸的三元CAM阵列其另一个实施例之方块图;图19,为分割成多个阵列区块的三元CAM阵列其一个实施例,该整个三元CAM阵列的最长前序匹配电路及区块选取电路之方块图;图20,为图19.该最长前序匹配电路和该区块选取电路其一个实施例之方块图;图21,为图19.该最长前序匹配电路和该区块选取电路其另一个实施例之方块图;图22,为图21.该区块选取电路其一个实施例之一个逻辑图;图23,为图19.该最长前序匹配电路和该区块选取电路其另一个实施例之方块图;图24,为图19.该最长前序匹配电路和该区块选取电路其另一个实施例之方块图;图25,为图24.该区块–位元比较电路其一个实施例之一个逻辑图;图26,为图24.该区块–位元比较电路其操作的一个范例;图27,为图24.两个群组"最长前序匹配电路"和"区块选取电路"其一个实施例之方块图,及图28,为图24.两个群组"最长前序匹配电路"和"区块选取电路"其另一实施例之方块图。
地址 美国