内容可寻址存储器以及内容可寻址存储器的列修复方法

文档序号:6765310阅读:112来源:国知局
内容可寻址存储器以及内容可寻址存储器的列修复方法【专利摘要】本发明提供一种内容可寻址存储器以及内容可寻址存储器的列修复方法。该内容可寻址存储器包括内容可寻址存储器数组、路径选择电路和控制电路。内容可寻址存储器数组包括多个主列以及至少一个备用列;路径选择电路,用于接收输入搜索数据;以及控制电路,用来控制路径选择电路耦接至多个被选取的列,并将多个主列中所找到的至少一个故障列中的每一个内容可寻址存储器单元设定为匹配状态,其中至少一个故障列未被包括于多个被选取的列中,以及至少一个备用列被包括于多个被选取的列中。本发明所提供的内容可寻址存储器以及内容可寻址存储器的列修复方法,可产生内容可寻址存储器数组中的行的正确的数据比较输出。【专利说明】内容可寻址存储器以及内容可寻址存储器的列修复方法【
技术领域
】[0001]本发明有关于数据比较,特别有关于一种内容可寻址存储器以及内容可寻址存储器的列修复方法。【
背景技术
】[0002]半导体存储器为半导体装置中不可或缺的基本组件,例如随机存取存储器(randomaccessmemory,RAM)。随机存取存储器可允许存储器电路对存储器单元(memorycell)执行读及/或写操作。典型的随机存取存储器包括:动态随机存取存储器(dynamicrandomaccessmemory,DRAM)以及静态随机存储器(staticrandomaccessmemory,SRAM)。内容可寻址存储器(contentaddressablememory,CAM)为另一种形式的存储器,可以提升任何需要高速搜索数据库功能的相关应用的执行速度。内容可寻址存储器会对输入搜索数据和存储的数据表(tableofstoreddata)进行比较,并且返回匹配数据的地址。换句话说,在内容可寻址存储器中,并非在一开始的时候通过提供地址而存取内容可寻址存储器数组中存储的数据,而是在一开始的时候提供输入搜索数据(例如搜索字符)给内容可寻址存储器数组,通过比较确定内容可寻址存储器数组中的一个或多个行位置(rowlocation),其中该一个或多个行位置中的数据等于应用的输入搜索数据,并因此形成匹配(match)状态。利用这样的方法,可以依据数据的内容而非数据的地址来存取存储的数据,因此,内容可寻址存储器的快速搜索能力相当适合使用于查找运算(lookupoperation)。举例来说,由于内容可寻址存储器具有其独特的搜索算法,因此,内容可寻址存储器常被用于网络设备(特别是路由器和交换机(switches))、计算机系统以及其他需要高速存储器数据搜索的设备。[0003]综上所述,内容可寻址存储器的主要功能在于依据储存于内容可寻址存储器数组中的数据来进行数据比较。内容可寻址存储器数组由多个内容可寻址存储器单元(CAMcell)所构成,其中每一个内容可寻址存储器单元可包括一个静态随机存储器单元以及比较电路。然而,在制造过程中,可能会导致内容可寻址存储器数组具有一个或多个故障/瑕疵的内容可寻址存储器单元,该故障或缺陷的内容可寻址存储器单元无法正常工作。假设使用具有故障的内容可寻址存储器单元的内容可寻址存储器来储存查找表,然后执行数据比较。若是输入搜索数据等于存储至具有故障/瑕疵的内容可寻址存储器单元的特定行的数据时,由于具有故障/瑕疵的内容可寻址存储器单元,内容可寻址存储器可能会在匹配条件下不能确定特定行。[0004]因此,需要一种修复机制,使得内容可寻址存储器在具有故障/瑕疵的内容可寻址存储器单元的情况下还能够产生正确的数据比较输出。【
发明内容】[0005]有鉴于此,本发明提出一种内容可寻址存储器以及内容可寻址存储器的列修复方法。[0006]依据本发明一实施方式,提供一种内容可寻址存储器(contentaddressablememory,CAM),包括内容可寻址存储器数组、路径选择电路以及控制电路。该内容可寻址存储器数组包括内容可寻址存储器单元的多个主列(maincolumn)以及内容可寻址存储器单元的至少一个备用列(redundantcolumn);路径选择电路,用来接收输入搜索数据,以及将该输入搜索数据的多个比特分别输出至该内容可寻址存储器数组中多个被选取的列;以及控制电路,用来控制该路径选择电路耦接至该多个被选取的列,并将该多个主列中所找到的至少一个故障列中的每一个内容可寻址存储器单元设定为匹配状态(matchstate),其中该至少一个故障列未被包括于该多个被选取的列中,以及该至少一个备用列被包括于该多个被选取的列中。[0007]依据本发明另一实施方式,提供一种内容可寻址存储器(contentaddressablememory,CAM)的列修复方法,包括:将内容可寻址存储器单元的多个主列(maincolumn)中所找到的至少一个故障列,并将该至少一个故障列中的每一个内容可寻址存储器单元设定为匹配状态(matchstate),其中该内容可寻址存储器具有内容可寻址存储器数组,该内容可寻址存储器数组包括内容可寻址存储器单元的该多个主列以及内容可寻址存储器单元的至少一个备用列(redundantcolumn);以及接收输入搜索数据,以及将该输入搜索数据的多个比特分别输出至该内容可寻址存储器数组中多个被选取的列;其中该至少一个故障列未被包括于该多个被选取的列中,以及该至少一个备用列被包括于该多个被选取的列中。[0008]本发明所提出的内容可寻址存储器以及内容可寻址存储器的列修复方法,可产生内容可寻址存储器数组中的行的正确的数据比较输出。【专利附图】【附图说明】[0009]图1为根据本发明第一实施方式的内容可寻址存储器的示意图。[0010]图2为图1所示的路径选择电路以及控制电路的电路图。[0011]图3为根据本发明第二实施方式的内容可寻址存储器的示意图。[0012]图4为图3所示的路径选择电路以及控制电路的电路图。【具体实施方式】[0013]在说明书及权利要求书当中使用了某些词汇来指称特定的元件。本领域技术人员应当理解,电子设备制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求书当中所提及的“包括”为开放式的用语,故应解释成“包括但不限定于”。另外,“耦接”一词在此为包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表所述第一装置可直接电气连接于所述第二装置,或通过其他装置或连接手段间接地电气连接至所述第二装置。[0014]本发明的技术特征应用于内容可寻址存储器(contentaddressablememory,CAM)的列修复机制。该内容可寻址存储器具有单一的备用列(redundantcolumn)或多个备用列,主要依据实际应用而确定。备用列用于替换内容可寻址存储器数组中的主列。此外,将主列中找到的故障/瑕疵列中的每一个内容可寻址存储器单元始终设定在匹配状态,因而不会对数据比较输出造成影响。以下将会对本案技术特征做进一步的描述。[0015]请参考图1,图1为根据本发明第一实施方式的内容可寻址存储器的示意图。在此实施方式中,内容可寻址存储器100包括内容可寻址存储器数组102、路径选择电路104、控制电路106以及搜索/读取/写入电路(search/read/writecircuit)108。请注意,图1只绘示出跟本发明有关的电路组件,也就是说,内容可寻址存储器100可能还会包括额外的电路组件。内容可寻址存储器数组102包括多个内容可寻址存储器单元,设置于由多个行(row)(例如,行Rtl~行R7)以及多个列(column)(例如,主列C。~主列C7、备用列Ck)所构成的数组中,其中每一个内容可寻址存储器单元可包括静态随机存储器单元以及比较电路。在此实施方式中,内容可寻址存储器数组102包括由内容可寻址存储器单元所构成的主列(maincolumrOQ!~主列C7以及由内容可寻址存储器单元所构成的单一的备用列(redundantcolumn)CK。举例来说,在搜索操作中,搜索/读取/写入电路108用来锁存具有N比特的输入搜索数据D_IN,其中输入搜索数据D_IN的比特长度和内容可寻址存储器数组102中的主列数相等,在此实施方式中,比特长度N=8。路径选择电路104耦接于内容可寻址存储器数组102和搜索/读取/写入电路108之间。路径选择电路104通过多个条数据线(例如,数据线DL[0]~数据线DL[7])从搜索/读取/写入电路108分别接收输入搜索数据D_IN的多个比特,并且通过相应的被选取的比特线(selectedbitline)将输入搜索数据D_IN的该多个比特分别输出至多个被选取的列(selectedcolumn)。[0016]在此实施方式中,在内容可寻址存储器数组102被制造产生之后,内容可寻址存储器数组102中位于行R3以及主列C2的内容可寻址存储器单元被辨识为故障的内容可寻址存储器单元。在将内容可寻址存储器数组102用于查找表数据存储和数据比较之前,本发明所提出的列修复机制会被激活以使用备用列Ck来代替故障的主列。如此一来,便可避免故障的主列C2影响到每一行的比较结果。在此实施方式中,控制电路106耦接至内容可寻址存储器数组102以及路径选择电路104。控制电路106用于控制路径选择电路104耦接至该多个被选取列,并且将在主列Ctl~主列C7中所找到的故障的主列C2中的每一个内容可寻址存储器单元设定在匹配状态(matchstate),其中该多个被选取的列并不包括故障的主列C2,且该多个被选取列包括备用列CK。[0017]由于每一行的匹配/不匹配情况(即针对每一行的数据比较输出)是通过所有位于同一行的内容可寻址存储器单元来确定,因此将故障的主列C2的每一个内容可寻址存储器单元设定为匹配状态,以使得故障的主列C2的该多个内容可寻址存储器单元不影响该多个行的数据比较输出。在此实施方式中,控制电路106可产生屏蔽(mask)信号至故障的主列C2的每一个内容可寻址存储器单元,以将故障的主列C2的各个内容可寻址存储器单元设定为不理会状态(don’tcarestate)。这样,既然故障的主列C2的每一个内容可寻址存储器单元中不存在有不匹配路径,可将故障的主列C2的内容可寻址存储器单元认为是旁通的(bypassed)。[0018]请参考图2。图2为图1所示的路径选择电路104以及控制电路106的电路图。路径选择电路104跳过(skip)故障的主列C2并且将输入搜索数据(例如搜索字符)的多个比特引导至内容可寻址存储器数组102中的该多个被选取列。为简明起见,图2中仅绘示了路径选择电路104以及控制电路106的部分电路架构。路径选择电路104包括多个开关(例如,图2中的开关204_1~开关204_4),而控制电路106包括多个控制单元(例如,图2中的控制单元206_1?控制单元206_4)。每一个开关(例如,开关204_1?开关204_4)都具有输入端N3、输出端NI以及输出端N2,并且由控制电路106控制以耦接输入端N3至输出端NI以及输出端N2的其中之一。开关204_1?开关204_4各自的输入端N3用于分别接收该输入搜索数据的该多个比特。[0019]此外,当目前开关的输入端N3耦接至数据线DL[n](其中,n=8)时,该目前开关的输出端NI便耦接至比特线BL[n](其中,n=8),并且该目前开关的输出端N2耦接至比特线BL[n+l];以及当下一开关的输入端N3f禹接至数据线DL[n+l]时,该下一开关的输出端NI便耦接至比特线BL[n+l],并且该下一开关的输出端N2耦接至比特线BL[n+2]。控制电路106分别产生开关控制信号SW[0]、开关控制信号SW[1]、开关控制信号SW[2]、开关控制信号SW[3]至开关204_1?开关204_4,且开关204_1?开关204_4都会响应单一的开关控制信号来进行相应切换。因此,当开关控制信号被设定为第一逻辑值时(例如0),相应的开关会将输入端N3耦接至输出端NI,而当该开关控制信号被设定为第二逻辑值时(例如1),该相应的开关则会将输入端N3耦接至另一个输出端N2。[0020]在此实施方式中,控制电路106会依据预定特征模式(syndromepattern)DS以及控制键(controlkey)DK来控制路径选择电路104(即依据预定特征模式DS以及控制键DK控制路径选择电路104中的开关204_1?开关204_4),其中预定特征模式DS的比特长度和内容可寻址存储器数组102的主列数相等,并且控制键DK的比特长度也和内容可寻址存储器数组102的主列数相等。预定特征模式DS为事先设定好的一个固定的比特序列,当通过测试的内容可寻址存储器数组102发现故障的主列C2时,可使用电熔丝(e-fuse)装置来编程控制键DK,其中根据预定特征模式DS的比特以及故障的主列C2的比特来设定控制键DK的比特,因此,通过比较控制键DK的比特和预定特征模式DS的比特,控制电路106便可以得知内容可寻址存储器数组102中的哪一个主列为故障的主列。[0021]如图2所示,储存于电熔丝装置中的控制键DK会通过总线202被传送至控制单元206_1?控制单元206_4。控制单元206_1?控制单元206_4通过产生开关控制信号Sff[0]?开关控制信号SW[3]至开关204_1?开关204_4来分别控制开关204_1?开关204_4。控制单元206_1?控制单元206_4中的每一个分别包括比较单元212_1?比较单元212_4以及开关控制器214_1?开关控制器214_4,其中,比较单元212_1?比较单元212_4用于对预定特征模式的比特DS和控制键DK的比特进行比较,并相应产生比较结果;开关控制器214_1?开关控制器214_4用于至少依据比较结果产生开关控制信号。举例来说(但本发明并不以此为限),比较单元212_1?比较单元212_4都使用与门(ANDgate)来分别对控制键DK的比特DK[0]?比特DK[3]以及预定特征模式DS的比特DS[0]?比特DS[3]进行与逻辑运算以产生比较结果。由于主列C2为故障的主列,控制键DK通过适当地设定便可以使比较单元212_3之前的比较单元212_1、比较单元212_2以及比较单元212_3之后的比较单元(未绘示于图中)的比较结果都具有同一个第一逻辑值(例如0),并且只有比较单元212_3的比较结果会具有第二逻辑值(例如1),这样一来,控制电路106便可得知主列C2为故障的主列并且应该跳过主列C2。[0022]根据本发明的实施方式,开关控制器214_1?开关控制器214_4用于接收输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的开关控制信号),以及开关控制信号基于输入比特和比较结果而产生。举例来说(但本发明不以此为限),开关控制器214_1?开关控制器214_4都使用异或门(XORgate)来对比较结果(相同控制单元中的比较单元所产生)和输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的开关控制信号)进行异或逻辑运算,以产生开关控制信号。如图2所示,控制单元206_1为第一个控制单元,因此具有预定逻辑值(例如0)的输入比特会被馈入开关控制器214_1。由于比较单元212_1的比较结果“0”和具有预定逻辑值“0”的输入比特相同,异或逻辑运算的结果会使得开关控制器214_1的输出为第一逻辑值“O”。如此一来,开关控制信号SW[0]会被设为“0”,且耦接至开关204_1的输出端NI的主列C。会被选择来当作被选取的列以进行数据比较。[0023]如图2所示,控制单元206_2为第二个控制单元,因此,开关控制器214_2所接收到的输入比特会是前一个控制单元(即控制单元206_1)所产生的开关控制信号SW[0]。由于比较单元212_2的比较结果“0”和开关控制信号SW[0]=“0”相同,异或逻辑运算的结果会使得开关控制器214_2的输出为第一逻辑值“0”,如此一来,开关控制信号SW[1]会被设为“0”,且耦接至开关204_2的输出端NI的主列C1会被选择来当作被选取的列以进行数据比较。[0024]如图2所示,控制单元206_3为第三个控制单元,因此,开关控制器214_3所接收到的输入比特是前一个控制单元(即控制单元206_2)所产生的开关控制信号SW[1]。由于比较单元212_3的比较结果“I”和开关控制信号SW[1]=“0”不相同,异或逻辑运算的结果会使得开关控制器214_3的输出为第二逻辑值“I”。由于开关控制信号SW[2]被设为“1”,耦接至开关204_3的输出端NI的主列C2会被跳过,而耦接至开关204_3的输出端N2的主列C3则会被选择来当作被选取的列以进行数据比较。具体地说,该输入搜索数据中位于数据线DL[2]上的比特会被传送至位于主列C3上的每一个内容可寻址存储器单元以进行数据比较。[0025]如图2所示,控制单元206_4为第四个控制单元,因此,开关控制器214_4所接收到的输入比特会是前一个控制单元(即控制单元206_3)所产生的开关控制信号SW[2]。由于比较单元212_2的比较结果“0”和开关控制信号SW[2]=“I”不相同,异或逻辑运算的结果会使得开关控制器214_4的输出为第二逻辑值“1”,如此一来,开关控制信号SW[3]会被设为“I”,且耦接至开关204_4的输出端N2的主列C4会被选择来当作被选取的列以进行数据比较。至于开关204_4之后的开关(未绘示于图中),由于比较单元会产生第一逻辑值(例如“0”),且前一个控制单元所产生的开关控制信号会具有第二逻辑值(例如“1”),因此后续开关的内部线路连接方式会完全相同于开关204_4。[0026]由于备用列Ck会在主列C2判断为故障的主列时被用来代替主列C2,因此查找表数据会被存入主列Cci?主列C1、主列C3?主列C7以及备用列Ck中,而非被存入主列Cci?主列C7。依据控制电路106的控制,数据线DL[0]?数据线DL[7]分别被耦接至比特线BL[0]、比特线BL[I]、比特线BL[3]?比特线BL[8],因此,当输入搜索数据D_IN通过数据线DL[0]?数据线DL[7]被接收,且在故障的主列C2中的每一个内容可寻址存储器单元均被设定为匹配状态时,储存于主列Ctl?主列C1、主列C3?主列C7以及备用列Ck中的查找表数据会被用来与输入搜索数据D_IN进行比较。这样一来,便可产生内容可寻址存储器数组102中的行的正确数据比较输出。[0027]在图1所示的实施方式中,列修复机制实现于具有单一的备用列Ck的内容可寻址存储器数组102的内容可寻址存储器100中,使得备用列Ck能够在内容可寻址存储器数组102的主列故障时替代主列。然而,相同的列修复概念也可应用于具有内容可寻址存储器数组的内容可寻址存储器,其中内容可寻址存储器数组具有一个以上的备用列。[0028]请参考图3,图3为根据本发明第二实施方式的内容可寻址存储器的示意图。内容可寻址存储器300包括内容可寻址存储器数组302、路径选择电路304、控制电路306以及前述的搜索/读取/写入电路108。内容可寻址存储器数组302包括多个内容可寻址存储器单元,设置于由多个行(row)(例如,行Rtl?行R7)以及多个列(column)(例如,主列C0?主列C7、备用列Cki?备用列Ck2)所构成的数组中,其中每一个内容可寻址存储器单元可包括静态随机存储器单元以及比较电路。在此实施方式中,内容可寻址存储器数组302包括内容可寻址存储器单元的主列Ctl?主列C7以及内容可寻址存储器单元的多个备用列(例如,备用列Ck1、备用列CK2)。应注意的是,图3中所示的备用列的数目仅用于解释说明本发明。在其他实施方式中,内容可寻址存储器数组302可包括两个以上的备用列。[0029]举例来说,在搜索操作中,搜索/读取/写入电路108用来锁存具有N比特的输入搜索数据D_IN,其中输入搜索数据D_IN的比特长度和内容可寻址存储器数组302中的主列数相等。在此实施方式中,比特长度N=8。同样地,路径选择电路304耦接于内容可寻址存储器数组302和搜索/读取/写入电路108之间。路径选择电路304用于通过多个条数据线(例如,数据线DL[0]?数据线DL[7])以从搜索/读取/写入电路108分别接收输入搜索数据D_IN的多个比特,并且通过相应的被选取的比特线将输入搜索数据D_IN的该多个比特分别输出至多个被选取的列。在此实施方式中,在内容可寻址存储器数组302被制造产生之后,内容可寻址存储器数组302中位于行R4以及主列C1的内容可寻址存储器单元被辨识为故障的内容可寻址存储器单元,且位于行R1以及主列C3的内容可寻址存储器单元也被辨识为故障的内容可寻址存储器单元。因此,在将内容可寻址存储器300用于进行数据比较之前,本发明所提出的列修复机制会被激活以使用备用列Ck1、备用列Ck2来取代两个故障的主列,如此一来,便可避免故障的主列C1、故障的主列C3影响到每一行的比较结果。因此,控制电路306用于控制路径选择电路304耦接至被选取的列,以及将在主列Ctl?主列C7中所找到的故障的主列C1、故障的主列C3的每一个内容可寻址存储器单元设定为匹配状态,其中该多个被选取的列不包括故障的主列C1、故障的主列C3,以及该多个被选取的列包括备用列Ck1、备用列Ck2。[0030]由于每一行的匹配/不匹配情况(即针对每一行的数据比较输出)是通过所有位于同一行的内容可寻址存储器单元来确定,因此故障的主列C1、故障的主列C3的每一个内容可寻址存储器单元设定为匹配状态,以使得故障的主列C1、故障的主列C3的内容可寻址存储器单元不影响该多个行的数据比较。在此实施方式中,控制电路306可产生屏蔽信号至故障的主列C1、故障的主列C3的每一个内容可寻址存储器单元,以将故障的主列C1、故障的主列C3的各个内容可寻址存储器单元设定为不理会状态。这样,既然故障的主列C1、故障的主列C3的每一个内容可寻址存储器单元中不存在有不匹配路径,因而可将故障的主列C1、故障的主列C3的内容可寻址存储器单元认为是旁通的。[0031]请参考图4。图4为图3所示的路径选择电路304以及控制电路306的电路图。路径选择电路304跳过故障的主列C1、故障的主列C3并且将输入搜索数据(例如搜索字符)的多个比特引导至内容可寻址存储器数组302中的该多个被选取的列。为简明起见,图4中仅绘示了路径选择电路304以及控制电路306的部分电路架构。路径选择电路304包括多个开关(例如图4中的开关404_1?开关404_4),而控制电路306包括多个控制单元(例如图4中的控制单元406_1?控制单元406_4)。开关404_1?开关404_4都具有输入端N4、输出端N1、输出端N2以及输出端N5,并且由控制电路306控制以耦接输入端N4至输出端N1、输出端N2以及输出端N5的其中之一。开关404_1?开关404_4各自的输入端N4用于分别接收该输入搜索数据D_IN的该多个比特。[0032]在此实施方式中,开关404_1?开关404_4都会响应多个开关控制信号来进行相应切换。如图4所示,控制电路306会分别产生第一开关控制信号(例如,第一开关控制信号SWJ0]?第一开关控制信号SW1[3])以及第二开关控制信号(例如,第二开关控制信号Sff2[0]?第二开关控制信号3胃2[3])控制开关404_1?开关404_4。其中,控制电路306包括多个控制单元(例如,图4中的控制单元406_1?控制单元406_4)。当第一开关控制信号以及第二开关控制信号都被设定为第一逻辑值时(例如0),相应的开关会将输入端N4耦接至输出端NI;当该第一开关控制信号被设定为该第一逻辑值时(例如0)以及该第二开关控制信号被设定为第二逻辑值时(例如1),相应的开关会将输入端N4耦接至输出端N2;以及当该第一开关控制信号以及该第二开关控制信号都被设定为该第二逻辑值时(例如1),相应的开关会将输入端N4耦接至输出端N5。当相应的控制单元接收到输入搜索数据D_IN对应的预定特征模式DS的比特DS[n](其中,n=8)时,该开关的输出端NI耦接至比特线BL[n],其中该控制单元产生该第一开关控制信号SW1[n](其中,n=8)以及该第二开关控制信号SW2[n](其中,n=8)至该相应的开关。因此,当目前开关的输出端N1、输出端N2、输出端N5耦接至比特线BL[n]、比特线BL[n+l]以及比特线BL[n+2]时,下一开关的输出端N1、输出端N2、输出端N5耦接至比特线BL[n+l]、比特线BL[n+2]以及比特线BL[n+3]。[0033]在此实施方式中,控制电路306会依据预定特征模式(syndromepattern)DS以及控制键(controlkey)DK来控制路径选择电路304,其中控制键DK由第一控制键DK1以及第二控制键DK2K构成。预定特征模式DS的比特长度和内容可寻址存储器数组302的主列数相等,第一控制键DK1的比特长度和内容可寻址存储器数组302的主列数相等,且第二控制键DK2的比特长度也和内容可寻址存储器数组302的主列数相等。预定特征模式DS事先设定为一个固定的比特序列。当通过测试内容可寻址存储器数组302发现故障的主列Q、故障的主列C3时,可使用电熔丝(e-fuse)装置来编程第一控制键DK1以及第二控制键DK2,其中根据预定特征模式DS的比特以及故障的主列C1和故障的主列C3的比特来设定第一控制键DK1以及第二控制键DK2的比特,因此,通过将第一控制键DK1和第二控制键DK2的比特与预定特征模式DS的比特进行比较,控制电路306便可以得知内容可寻址存储器数组302中的哪些主列发生故障。在此实施方式中,采用两级比较(two-levelcomparison)来控制路径选择电路304中的每一个开关,其中在第一级比较中,确定第一个故障的主列,然后在第二级比较中确定第二个故障的主列。详细说明如下。[0034]如图4所示,储存于电熔丝装置中的第一控制键DK1会通过第一总线402_1被传送至控制单元406_1?控制单元406_4;以及储存于电熔丝装置中的第二控制键DK2会通过第二总线402_2被传送至控制单元406_1?控制单元406_4。控制单元406_1?控制单元406_4中的每一个控制单元包括第一比较单元(例如,第一比较单元412_1?第一比较单兀412_4)、第一开关控制器(例如,第一开关控制器414_1?第一开关控制器414_4)、第二比较单元(例如,第二比较单元413_1?第二比较单元413_4)以及第二开关控制器(例如,第二开关控制器415_1?第二开关控制器415_4)。其中,第一比较单元用于对预定特征模式的比特DS和第一控制键DK1的比特进行比较,并相应产生第一比较结果;第二比较单元用于对预定特征模式DS的比特、该第二控制键DK2的比特以及第一比较结果进行比较,并相应产生第二比较结果;第一开关控制器用于至少依据第一比较结果产生第一开关控制信号;第一开关控制器用于至少依据该第二比较结果产生第二开关控制信号。举例来说(但本发明不以此为限),第一比较单元412_1?第一比较单元412_4都使用与门(ANDgate)来分别对第一控制键DK1的比特DKJO]?比特DK1[3])以及预定特征模式DS的比特DS[0]?比特DS[3])进行与逻辑运算来产生第一比较结果;第二比较单元413j?第二比较单元413_4都是使用与门来分别对第二控制键DK2的比特DK2[0]?比特DK2[3])、预定特征模式DS的比特DS[0]?比特DS[3])以及第一比较单元所产生的第一比较结果进行与逻辑运算来产生第二比较结果。[0035]根据本发明的实施方式,第一开关控制器414_1?第一开关控制器414_4用于接收输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的第一开关控制信号);第二开关控制器415_1?第二开关控制器415_4用于接收输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的第二开关控制信号);第一开关控制信号基于输入比特和第一比较结果而产生;以及第二开关控制信号基于输入比特和第二比较结果而产生。此外,第一开关控制器414_1?第一开关控制器414_4都是使用异或门(XORgate)来对第一比较结果(相同控制单元中的第一比较单元所产生)和输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的第一开关控制信号)进行异或逻辑运算,以产生第一开关控制信号;以及第二开关控制器415_1?第二开关控制器415_4都是使用异或门来对第二比较结果(相同控制单元中的第二比较单元所产生)和输入比特(具有预定逻辑值(例如0)或是另一个控制单元所产生的第二开关控制信号)进行异或逻辑运算,以产生第二开关控制信号。[0036]由于第一级比较结果,其中一个故障的主列被跳过(例如故障的主列C1);由于第二级比较结果,另一个故障的主列被跳过(例如故障的主列c3)。更具体地说,当主列C1为故障的主列时,第一控制键DK1通过适当地设定可以使第一比较单元412_2之前的第一比较单元412_1以及第一比较单元412_2之后的第一比较单元412_3、第一比较单元412_4的第一比较结果都具有第一逻辑值(例如0),且只有第一比较单元412_2的第一比较结果具有第二逻辑值(例如I),这样一来,控制电路306便可参照第一级比较来得知主列C1为故障的主列并应该跳过主列Cp[0037]在第一级比较的基础上,若主列C3为故障的主列,第二控制键DK2通过适当地设定可以使第二比较单元413_3之前的第二比较单元413_1、第二比较单元413_2以及第二比较单元413_3之后的第二比较单元413_4的第二比较结果都具有第一逻辑值(例如0),且只有第二比较单元413_3的第二比较结果具有第二逻辑值(例如1),这样一来,在控制电路306通过第一级比较而得知故障的主列C1之后,路径选择电路304会在列选取(columnselection)时跳过故障的主列C1,以及控制电路306可通过第二级比较而得知主列C3为故障的主列并应该跳过主列C3,其中第一级比较指示出第一比较单元412_2具有高逻辑输出,第二级比较指示出第二比较单元413_3具有高逻辑输出。[0038]如图4所示,控制单元406_1为第一个控制单元,因此,具有预定逻辑值(例如0)的输入比特会被馈入第一开关控制器414_1,以及具有预定逻辑值(例如0)的另一个输入比特会被馈入第二开关控制器415_1。由于第一比较单元412_1的比较结果“0”和具有预定逻辑值“0”的输入比特相同,异或逻辑运算的结果会使得第一开关控制器414_1的输出为第一逻辑值“O”。此外,由于第二比较单元413_1的比较结果“0”和具有预定逻辑值“0”的输入比特相同,异或逻辑运算的结果会使得第二开关控制器415_1的输出为第一逻辑值“O”。如此一来,第一开关控制信号SW1[0]会被设为“0”,第二开关控制信号SW2[0]会被设为“0”,以及耦接至开关404_1的输出端NI的主列C。会被选择来当作被选取的列以进行数据比较。[0039]如图4所示,控制单元406_2为第二个控制单元,因此,第一开关控制器414_2所接收到的输入比特是前一个控制单元(即控制单元406_1)所产生的第一开关控制信号SWJ0],以及第二开关控制器415_2所接收到的输入比特是前一个控制单元(即控制单元406_1)所产生的第二开关控制信号SW2[0]。由于第一比较单元412_2的第一比较结果“I”和第一开关控制信号SWJ0]=“0”不相同,异或逻辑运算的结果会使得第一开关控制器414_2的输出为第二逻辑值“I”。由于第二比较单元413_2的第二比较结果“0”和第二开关控制信号SW2[0]=“0”相同,异或逻辑运算的结果会使得第二开关控制器415_2的输出为第一逻辑值“O”。如此一来,第一开关控制信号SW1[I]被设置为“I”;第二开关控制信号Sff2[I]被设置为“0”,耦接至开关404_2的输出端NI的故障的主列C1被跳过,以及耦接至开关404_2的输出端N2的主列C2被选择来当作被选取的列以进行数据比较。具体而言,该输入搜索数据位于数据线DL[1]的比特被传送至位于主列C2上的每一个内容可寻址存储器单元以进行数据比较。[0040]如图4所示,控制单元406_3为第三个控制单元,因此,第一开关控制器414_3所接收到的输入比特会是前一个控制单元(即控制单元406_2)所产生的第一开关控制信号SWJl],以及第二开关控制器415_3所接收到的输入比特是前一个控制单元(即控制单元406_2)所产生的第二开关控制信号SW2[I]。由于第一比较单元412_3的第一比较结果“0”和第一开关控制信号SWJl]=“I”不相同,异或逻辑运算的结果会使得第一开关控制器414_3的输出为第二逻辑值“I”。由于第二比较单元413_3的第二比较结果“I”和第二开关控制信号SW2[1]=“0”不相同,异或逻辑运算的结果会使得第二开关控制器415_3的输出为第二逻辑值“I”。如此一来,第一开关控制信号SW1[I]被设为“I”;第二开关控制信号Sff2[I]被设为“1”,耦接至开关404_3的输出端N2的故障的主列C3被跳过,以及耦接至开关404_3的输出端N5的主列C4被选择来当作被选取的列以进行数据比较。具体而言,该输入搜索数据位于数据线DL[2]上的比特会被传送至位于主列C4的每一个内容可寻址存储器单元以进行数据比较。[0041]如图4所示,控制单元406_4为第四个控制单元,因此,第一开关控制器414_4所接收到的输入比特会是前一个控制单元(即控制单元406_3)所产生的第一开关控制信号SW1[2],以及第二开关控制器415_4所接收到的输入比特会是前一个控制单元(即控制单元406_3)所产生的第二开关控制信号SW2[2]。由于第一比较单元412_4的比较结果“0”和第一开关控制信号SWJ2]=“I”不相同,异或逻辑运算的结果会使得第一开关控制器414_4的输出为第二逻辑值“I”;由于第二比较单元413_4的比较结果“0”和第二开关控制信号Sff2[2]=“I”不相同,异或逻辑运算的结果会使得第二开关控制器415_4的输出为第二逻辑值“I”。如此一来,第一开关控制信号SW1[3]会被设为“I”;第二开关控制信号SW2[3]会被设为“1”,且耦接至开关404_4的输出端N5的主列C5会被选择来当作被选取的列以进行数据比较。[0042]具体而言,该输入搜索数据位于数据线DL[3]的比特会被传送至位于主列C5的每一个内容可寻址存储器单元以进行数据比较。至于开关404_4之后的开关(未绘示于图中),由于比较单元会产生第一逻辑值(例如“0”),以及前一个控制单元所产生的开关控制信号会具有第二逻辑值(例如“1”),开关的内部线路连接会完全相同于开关404_4。[0043]由于在主列C1、主列C3判断为故障的主列时备用列Ck1、备用列Ck2代替主列C1、主列c3,查找表数据被存入主列Cc1、主列C2、主列C4?主列C7以及备用列Ck1、备用列Ck2中,而非被存入主列Ctl?主列C7。依据控制电路406的控制,数据线DL[0]_数据线DL[7]分别被耦接至比特线BL[O]、比特线BL[2]、比特线BL[4]?比特线BL[9]。因此,当输入搜索数据D_IN通过数据线DL[0]_数据线DL[7]被接收且在故障的主列C1、故障的主列C3中的每一个内容可寻址存储器单元被设定为匹配状态时,储存于主列Ctl、主列C2、主列C4?主列C7以及备用列Ck1、备用列Ck2中的查找表数据被用来和输入搜索数据D_IN进行比较。这样一来,便可产生内容可寻址存储器数组302中的行的正确数据比较输出。[0044]虽然本发明以较佳实施方式揭露如上,然而必须了解其并非用以限定本发明。相反,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围应当以权利要求书所界定的保护范围为准。【权利要求】1.一种内容可寻址存储器,其特征在于,包括:内容可寻址存储器数组,包括内容可寻址存储器单元的多个主列以及内容可寻址存储器单元的至少一个备用列;路径选择电路,用于接收输入搜索数据,以及将该输入搜索数据的多个比特分别输出至该内容可寻址存储器数组中多个被选取的列;以及控制电路,用于控制该路径选择电路耦接至该多个被选取的列,并将该多个主列中所找到的至少一个故障列中的每一个内容可寻址存储器单元设定为匹配状态,其中该至少一个故障列未被包括于该多个被选取的列中,以及该至少一个备用列被包括于该多个被选取的列中。2.根据权利要求1所述的内容可寻址存储器,其特征在于,该路径选择电路包括:多个开关,该多个开关中的每一个开关具有输入端以及多个输出端,其中该控制电路控制该多个开关中的每一个开关将该输入端耦接至该多个输出端的其中之一,以及该多个开关中的每一个开关的该输入端分别用于接收该输入搜索数据的该多个比特。3.根据权利要求2所述的内容可寻址存储器,其特征在于,该控制电路依据预定特征模式以及控制键来控制该路径选择电路;以及该控制电路包括:多个控制单元,用于分别控制该多个开关,其中该多个控制单元中的每一个控制单元包括:第一比较单元,用于对该预定特征模式的比特和该控制键的第一比特进行比较,并相应产生第一比较结果;以及`第一开关控制器,用于至少依据该第一比较结果产生第一开关控制信号,其中该多个开关中相应的开关至少响应该第一开关控制信号而进行相应切换。4.根据权利要求3所述的内容可寻址存储器,其特征在于,该第一比较单元为与门。5.根据权利要求3所述的内容可寻址存储器,其特征在于,该第一开关控制器进一步用于接收输入比特,其中,该输入比特具有预定逻辑值,或该输入比特为另一个控制单元所产生的第一开关控制信号;以及该第一开关控制信号基于该输入比特和该第一比较结果而产生。6.根据权利要求5所述的内容可寻址存储器,其特征在于,该第一开关控制器为异或门。7.根据权利要求3所述的内容可寻址存储器,其特征在于,该多个控制单元中的每一个控制单元进一步包括:第二比较单元,用于对该预定特征模式的该比特、该控制键的第二比特以及该第一比较结果进行比较,并相应产生第二比较结果;以及第二开关控制器,用于至少依据该第二比较结果产生第二开关控制信号,其中该多个开关中相应的开关至少响应该第一开关控制信号以及该第二开关控制信号而进行相应切换。8.根据权利要求7所述的内容可寻址存储器,其特征在于,该第一比较单元以及该第二比较单元均为与门。9.根据权利要求7所述的内容可寻址存储器,其特征在于,该第一开关控制器进一步用于接收具有第一输入比特,其中该第一输入比特具有预定逻辑值,或该第一输入比特为另一个控制单元所产生的第一开关控制信号;该第二开关控制器进一步用于接收具有第二输入比特,其中该第二输入比特具有预定逻辑值,或该第二输入比特为另一个控制单元所产生的第二开关控制信号;该第一开关控制信号基于该第一输入比特和该第一比较结果而产生;以及该第二开关控制信号基于该第二输入比特和该第二比较结果而产生。10.根据权利要求9所述的内容可寻址存储器,其特征在于,该第一开关控制器以及该第二开关控制器均为异或门。11.一种内容可寻址存储器的列修复方法,其特征在于,包括:将内容可寻址存储器单元的多个主列中所找到的至少一个故障列,并将该至少一个故障列中的每一个内容可寻址存储器单元设定为匹配状态,其中该内容可寻址存储器具有内容可寻址存储器数组,该内容可寻址存储器数组包括内容可寻址存储器单元的该多个主列以及内容可寻址存储器单元的至少一个备用列;以及接收输入搜索数据,以及将该输入搜索数据的多个比特分别输出至该内容可寻址存储器数组中多个被选取的列;其中该至少一个故障列未被包括于该多个被选取的列中,以及该至少一个备用列被包括于该多个被选取的列中。12.根据权利要求11所述的内容可寻址存储器的列修复方法,其特征在于,该接收输入搜索数据,以及将该输入搜索数据的多个比特分别输出至该内容可寻址存储器数组中多个被选取的列的步骤包括:`使用多个开关中的每一个开关的输入端来分别接收该输入搜索数据的该多个比特,其中该多个开关中的每一个开关具有输入端和多个输出端;以及控制该多个开关中的每一个开关将该输入端耦接至该多个输出端的其中之一。13.根据权利要求12所述的内容可寻址存储器的列修复方法,其特征在于,依据预定特征模式以及控制键控制该多个开关;以及该控制该多个开关中的每一个开关将该输入端耦接至该多个输出端的其中之一的步骤包括:对该预定特征模式的比特以及该控制键的第一比特进行比较,并相应产生第一比较结果;以及至少依据该第一比较结果产生第一开关控制信号,其中该多个开关中相应的开关至少响应该第一开关控制信号而进行相应切换。14.根据权利要求13所述的内容可寻址存储器的列修复方法,其特征在于,通过对该预定特征模式的该比特和该控制键的该第一比特进行与逻辑运算以产生该第一比较结果。15.根据权利要求13所述的内容可寻址存储器的列修复方法,其特征在于,该第一开关控制信号基于输入比特和该第一比较结果而产生;以及该输入比特具有预定逻辑值,或该输入比特为另一个控制单元所产生的第一开关控制信号。16.根据权利要求15所述的内容可寻址存储器的列修复方法,其特征在于,通过对该输入比特和该第一比较结果进行异或逻辑运算以产生该第一开关控制信号。17.根据权利要求13所述的内容可寻址存储器的列修复方法,其特征在于,该控制该多个开关中的每一个开关将该输入端耦接至该多个输出端的其中之一的步骤包括:对该预定特征模式的该比特、该控制键的第二比特以及该第一比较结果进行比较,并相应产生第二比较结果;以及至少依据该第二比较结果产生第二开关控制信号,其中该多个开关中相应的开关至少响应该第一开关控制信号以及该第二开关控制信号而进行相应切换。18.根据权利要求17所述的内容可寻址存储器的列修复方法,其特征在于,通过对该预定特征模式的该比特和该控制键的该第一比特进行与逻辑运算来产生该第一比较结果;以及通过对该预定特征模式的该比特、该控制键的该第二比特以及该第一比较结果进行与逻辑运算来产生该第二比较结果。19.根据权利要求17所述的内容可寻址存储器的列修复方法,其特征在于,该第一开关控制信号基于该第一输入比特和该第一比较结果而产生;该第二开关控制信号基于该第二输入比特和该第二比较结果而产生;该第一输入比特具有预定逻辑值,或该第一输入比特为另一个控制单元所产生的第一开关控制信号;以及该第二输入比特具有预定逻辑值,或该第二输入比特为另一个控制单元所产生的第二开关控制信号。20.根据权利要求19所述的内容可寻址存储器的列修复方法,其特征在于,通过对该第一输入比特和该第一比较结果进行异或逻辑运算来产生该第一开关控制信号;以及通过对该第二输入比特和该第二比较结果进行异或逻辑运算来产生该第二开关控制信号。【文档编号】G11C15/04GK103778956SQ201310472878【公开日】2014年5月7日申请日期:2013年10月11日优先权日:2012年10月12日【发明者】黄睿夫,徐汉光申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1