搜索电路、锤子地址管理电路及包括其的存储器系统的制作方法

文档序号:23423033发布日期:2020-12-25 11:49阅读:189来源:国知局
搜索电路、锤子地址管理电路及包括其的存储器系统的制作方法

相关申请的交叉引用

本申请要求于2019年6月25日在韩国知识产权局提交的韩国专利申请no.10-2019-0075535的优先权,其全部内容通过引用合并于此。

示例实施例总体上涉及半导体集成电路,更具体地,涉及搜索电路、锤子地址(hammeraddress)管理电路以及包括该搜索电路的存储器系统。



背景技术:

内容可寻址存储器(cam)是一种能够对存储在其中的条目数据(entrydata)执行高速并行数据搜索的存储器。cam可以使用在cam单元中实施的专用比较电路在一个时钟周期内实现查找表的功能。特别地,cam可用于需要高速并行数据搜索的技术领域,诸如用于分组转发(packetforwarding)的网络路由器。通常,cam用于确定所存储的条目数据是否与搜索数据匹配以及能够利用cam固有比较功能的领域。



技术实现要素:

一些示例实施例可以提供能够使用cam搜索满足特定条件的数据的搜索电路。

一些示例实施例可以提供锤子地址管理电路和包括搜索电路的存储器系统。

根据本公开的示例实施例,一种搜索电路包括:内容可寻址存储器(cam),其包括被配置为存储多个条目数据的多个cam单元,每个条目数据包括对应于最低有效位的第一位至对应于最高有效位的第k位,cam被配置为提供指示多个条目数据中的每一个是否与搜索数据匹配的多个匹配信号;以及cam控制器,其被配置为执行部分搜索操作,使得cam控制器将与第一位至第k位的一部分相对应的比较位作为搜索数据施加至cam,并且使得cam控制器基于指示目标条目数据的对应位与比较位匹配的多个匹配信号在多个条目数据中搜索所述目标条目数据。

根据本公开的示例实施例,一种存储器系统包括:存储器单元阵列,其包括多个存储器单元;锤子地址管理电路,其被配置为确定被密集访问的存储器单元阵列的锤子地址;以及刷新控制器,其被配置为执行锤子刷新操作,以刷新存储器单元阵列的第一行,该存储器单元阵列的第一行与存储器单元阵列的与锤子地址相对应的第二行物理地相邻。锤子地址管理电路包括:地址储存器,其被配置为基于访问地址信号来存储多个行地址;内容可寻址存储器(cam),其包括多个cam单元,该多个cam单元被配置为存储指示多个行地址的多个访问计数的多个访问计数数据,每个访问计数数据包括对应于最低有效位的第一位至对应于最高有效位的第k位,cam被配置为提供指示多个访问计数数据中的每一个是否与搜索数据匹配的多个匹配信号;cam控制器,其被配置为执行部分搜索操作,使得cam控制器将与第一位至第k位的一部分相对应的比较位作为搜索数据施加至cam,并且使得cam控制器基于指示目标计数数据的对应位与比较位匹配的多个匹配信号在多个访问计数数据中搜索所述目标计数数据;以及地址控制器,其被配置为基于搜索目标计数数据的结果在存储在地址储存器中的多个行地址中提供锤子地址。

根据示例实施例,一种存储器系统的锤子地址管理电路包括:地址储存器,其被配置为基于提供给存储器装置的访问地址信号来存储多个行地址;内容可寻址存储器(cam),其包括多个cam单元,该多个cam单元被配置为存储指示多个行地址的多个访问计数的多个访问计数数据,每个访问计数数据包括对应于最低有效位的第一位至对应于最高有效位的第k位,cam被配置为提供指示多个访问计数数据中的每一个是否与搜索数据匹配的多个匹配信号;cam控制器,其被配置为执行部分搜索操作,使得cam控制器将与第一位至第k位的一部分相对应的比较位作为搜索数据施加至cam,并且使得cam控制器基于指示目标计数数据的对应位与比较位匹配的多个匹配信号在多个访问计数数据中搜索所述目标计数数据;以及地址控制器,其被配置为基于搜索目标计数数据的结果来提供被密集访问的存储器装置的锤子地址。

根据示例实施例的搜索电路可以代替诸如用于施加各种条件的比较器的各种电路,并且可以通过使用cam来减小用于搜索特定条件的数据的各种电路的尺寸。

另外,锤子地址管理电路和存储器系统可以使用搜索电路来减小用于锤子刷新操作的电路的尺寸。

附图说明

通过以下结合附图的详细描述,将更加清楚地理解本公开的示例实施例。

图1是示出根据本公开的示例实施例的搜索电路的框图。

图2是示出图1的搜索电路中包括的内容可寻址存储器(cam)的示意性配置的图。

图3a、图3b、图4a和图4b是示出根据本公开的示例实施例的由搜索电路执行的部分搜索操作的示例的图。

图5是示出cam中包括的示例cam单元的电路图。

图6a、图6b、图7a、图7b、图8a和图8b是用于描述施加至cam的搜索数据的位值的图。

图9是示出根据本公开的示例实施例的使用搜索电路的最大条目搜索方法的流程图。

图10a、图10b、图11a和图11b是示出图9的最大条目搜索方法的示例的图。

图12是示出根据本公开的示例实施例的使用搜索电路的最小条目搜索方法的流程图。

图13a、图13b、图14a和图14b是示出图12的最小条目搜索方法的示例的图。

图15和图16是示出根据本公开的示例实施例的存储器系统的框图。

图17是示出根据本公开的示例实施例的锤子地址管理电路的框图。

图18是示出根据本公开的示例实施例的存储器装置中包括的刷新控制器的框图。

图19是示出用于描述由于字线耦接而导致数据丢失的存储器单元阵列的一部分的图。

图20a、图20b和图20c是示出根据本公开的示例实施例的存储器装置中包括的刷新控制器的示例操作的时序图。

图21是示出根据本公开的示例实施例的移动系统的框图。

具体实施方式

在下文中将参照附图更全面地描述各种示例实施例,在附图中示出了一些示例实施例。在附图中,相同的附图标记始终表示相同的元件。可以省略重复的描述。因此,可以参照其他附图来描述相同或相似的附图标记,即使未在相应附图中提及或描述它们。另外,可以参照其他附图来描述未由附图标记表示的元件。

图1是示出根据本公开的示例实施例的搜索电路1000的框图。

参照图1,搜索电路1000包括内容可寻址存储器(cam)1010和cam控制器1020。

cam1010可以存储多个条目数据ent1至entn(例如,ent1、ent2、...、entn)。如将参照图2描述的,cam1010可以包括被配置为存储多个条目数据ent1至entn的多个cam单元,其中每个条目数据包括对应于最低有效位的第一位至对应于最高有效位的第k位,其中k是自然数。在一些实施例中,cam1010是二进制cam(bcam),其将值0或值1存储到多个条目数据的第一位至第k位的每个位。

cam1010可以从cam控制器1020接收搜索数据sdt,并且可以提供多个匹配信号mat1至matn(例如,mat1、mat2、...、matn),该多个匹配信号mat1至matn指示多个条目数据ent1至entn中的每一个是否匹配搜索数据sdt。

cam控制器1020可以基于多个匹配信号mat1至matn在多个条目数据ent1至entn中搜索目标条目数据。cam控制器1020可以执行用于搜索目标条目数据的部分搜索操作。部分搜索操作可以指示cam控制器1020将与第一位b1至第k位bk(例如,b1、b2、b3、...、bk)的一部分相对应的比较位作为搜索数据sdt施加至cam1010,并确定多个条目数据ent1至entn的与比较位相对应的位是否与比较位匹配。下面将参照图3a至图4b描述部分搜索操作的示例。在本公开中,可以使用b1到bk来指示位位置,而不管并且/或者独立于多个条目数据ent1至entn或搜索数据sdt。如本文所使用的,术语“和/或(并且/或者)”包括相关联的所列项目中的一个或多个的任何和所有组合。

cam控制器1020可以包括搜索数据驱动器sdd、读写电路rwc和控制逻辑clg。

读写电路rwc可以通过多条位线bls和多条字线wls连接到cam1010,以将条目数据写入到cam1010或读取存储在cam1010中的条目数据。cam1010中包括的cam单元可以具有各种配置,并且读写电路rwc可以具有适合于cam单元的配置并且/或者与cam单元的配置兼容的各种配置。

控制逻辑clg可以控制部分搜索操作。控制逻辑clg可以基于要搜索的目标条目数据来确定比较位,并且将包括比较位的搜索数据sdt提供给搜索数据驱动器sdd。控制逻辑clg可以通过多条匹配线ml1至mln(例如,ml1、ml2、...、mln)连接到cam1010。控制逻辑clg可以基于通过多条匹配线ml1至mln提供的多个匹配信号mat1至matn在多个条目数据ent1至entn中搜索目标条目数据。控制逻辑clg可以被实施为软件、硬件和/或它们的组合。

搜索数据驱动器sdd可以通过多条搜索线sl1至slk(例如,sl1、sl2、sl3、...、slk)连接到cam1010。搜索数据驱动器sdd可以锁存从控制逻辑clg提供的搜索数据sdt,并且通过多条搜索线sl1至slk将搜索数据sdt施加至cam1010。

使用部分搜索操作,可以在存储在cam1010中的多个条目数据ent1到entn中搜索满足各种条件的目标条目数据。cam控制器1020可以通过改变比较位来重复部分搜索操作,直到确定目标条目数据为止。在本公开中,“搜索目标条目数据”可以包括确定cam1010的存储目标条目数据的目标位置。目标位置可以由诸如地址、指针等的各种形式表示。关于目标位置的信息可以被提供给读写电路rwc,并且读写电路rwc可以基于目标位置从cam1010读出目标条目数据。

在一些示例实施例中,cam控制器1020可以通过在从第k位bk到第一位b1的方向上一个一个地增加比较位的数目来重复部分搜索操作。顺序且重复的部分搜索操作可以被称为1位累积搜索操作。如将参照图9至图14b描述的,使用1位累积搜索操作,可以在多个条目数据ent1至entn中将最大条目数据或最小条目数据确定为目标条目数据。

这样,根据示例实施例的搜索电路可以代替诸如用于施加各种条件的比较器之类的各种电路,并且可以通过使用cam来减小搜索特定条件的数据的各种电路的尺寸。

图2是示出图1的搜索电路中包括的内容可寻址存储器(cam)的示意性配置的图。

参照图2,cam1010可以包括多个cam单元c11至cnk(例如,c11、c12、c13、...、c1k,c21、c22、c23、...、c2k,...,cn1、cn2、cn3、...、cnk,其中n和k是自然数)、预充电电路tp、以及多个感测放大器sa1至san(例如,sa1、sa2、...、san)。

多个cam单元c11至cnk可以以n行和k列的矩阵形式排列,并且对应于一行的k个cam单元可以存储包括对应于最低有效位的第一位b1至对应于最高有效位bk的第k位的一个条目数据。换句话说,第一行的cam单元c11至c1k(例如,c11、c12、c13、...、c1k)可以存储包括k位的第一条目数据ent1,第二行的cam单元c21至c2k(例如,c21、c22、c23、...、c2k)可以存储包括k位的第二条目数据ent2,并且第n行的cam单元cn1至cnk(例如,cn1、cn2、cn3、...、cnk)可以存储包括k位的第n条目数据entn。

同一行的cam单元可以共同连接到同一条匹配线。换句话说,第一行的cam单元c11至c1k可以共同连接到第一匹配线ml1,第二行的cam单元c21至c2k可以共同连接到第二匹配线ml2,并且第n行的cam单元cn1至cnk可以共同连接到第n匹配线mln。

同一列的cam单元可以共同连接到同一条搜索线。换句话说,第一列的cam单元c11至cn1(例如,c11、c21、...、cn1)可以共同连接到第一搜索线sl1,第二列的cam单元c12至cn2(例如,c12、c22、...、cn2)可以共同连接到第二搜索线sl2,并且第k列的cam单元c1k至cnk(例如,c1k、c2k、...、cnk)可以共同连接到第k搜索线slk。

多个感测放大器sa1至san可以感测并放大多条匹配线ml1至mln的电压以提供多个匹配信号mat1至matn。根据示例实施例,感测放大器sa1至san可以被省略,或者可以被包括在图1中的控制逻辑clg中。

预充电电路tp可以用预充电电压vpr对多条匹配线ml1至mln进行预充电。作为非限制性示例,图2示出了一个预充电电路tp可以共同地对多条匹配线ml1至mln进行预充电。根据示例实施例,可以将相应的预充电电路tp分配给每条匹配线。预充电电路tp的配置可以以各种方式实施。

图2示出了cam1010的简化配置。包括第一位b1至第k位bk的搜索数据sdt可以通过第一搜索线sl1至第k搜索线slk传输,并且可以通过多条匹配线ml1至mln将多个条目数据ent1至entn与搜索数据sdt之间的比较结果提供给多个感测放大器sa1至san。

作为比较结果,每个匹配信号mati(其中i包括从1到n的自然数)可以具有第一逻辑电平(例如,逻辑高电平),该第一逻辑电平指示当搜索数据sdt的比较位与每个条目数据enti的对应位匹配时的匹配情况,并且每个匹配信号mati可以具有第二逻辑电平(例如,逻辑低电平),该第二逻辑电平指示当搜索数据sdt的比较位与每个条目数据enti的对应位不匹配时的不匹配情况。在本公开中,逻辑高电平可以等于值1,并且逻辑低电平可以等于值0,但是本公开不限于此。

cam1010的搜索操作可以包括搜索线预充电操作、匹配线预充电操作和比较操作。例如,当cam单元具有如图5所示的配置时,可以通过启用然后禁用cam单元中的下拉路径来将搜索线预充电至逻辑低电平。当下拉路径被禁用时,使用预充电电路将匹配线预充电至逻辑高电平。在这样的预充电操作之后,可以通过将搜索数据施加至搜索线来执行比较操作。

在匹配情况下,可以禁用连接到同一条匹配线的cam单元中的所有下拉路径,因此匹配线可以保持逻辑高电平或值为1。

在不匹配情况下,可以启用连接到同一条匹配线的cam单元中的至少一条下拉路径,因此可以将匹配线放电至逻辑低电平或值为0。

图3a、图3b、图4a和图4b是示出根据本公开的示例实施例的由搜索电路执行的部分搜索操作的示例的图。

尽管为了图示和描述的方便,在图3a、图3b、图4a和图4b中示出了与一行相对应的6位配置,但是可以以各种方式确定位数。

条目数据ent的第一位至第六位被存储在第一cam单元c1至第六cam单元c6(例如,c1、c2、c3、c4、c5和c6)中,并且搜索数据sdt的第一位b1至第六位b6(例如,b1、b2、b3、b4、b5和b6)可以通过第一搜索线sl1至第六搜索线sl6(例如,sl1、sl2、sl3、sl4、sl5和sl6)施加至第一cam单元c1至第六cam单元c6。例如,通过示例的方式示出了第一cam单元c1至第六cam单元c6分别具有值0、1、0、1、1和0。

在搜索数据sdt的第一位b1至第六位b6中,除上述比较位之外的其余位可以被称为非比较位。每个比较位的值可以为0或1,并且所有非比较位的值可以为“无关”值dcv。无关值dcv可以指示这样的值,该值可以不管并且/或者独立于存储在cam单元中的值而禁用cam单元的下拉路径,并且无关值dcv可以根据cam单元的配置以各种方式实施。

图3a和图3b表示与匹配情况相对应的部分搜索操作。

参照图3a,搜索数据sdt的第六位b6和第五位b5对应于比较位,并且第四位b4、第三位b3、第二位b2和第一位b1对应于非比较位。非比较位b4、b3、b2和b1不影响比较结果,即,匹配信号mat的逻辑电平或值。因此,由于搜索数据sdt的所有比较位b6和b5都与条目数据ent的对应位匹配,所以匹配信号mat可以具有指示匹配情况的值1。例如,比较位b6的值为0且相对应的cam单元c6的值为0,并且比较位b5的值为1且相对应的cam单元c5的值为1。

参照图3b,搜索数据sdt的第五位b5、第三位b3和第二位b2对应于比较位,并且第六位b6、第四位b4和第一位b1对应于非比较位。非比较位b6、b4和b1不影响匹配信号mat的值。因此,由于搜索数据sdt的所有比较位b5、b3和b2都与条目数据ent的对应位匹配,所以匹配信号mat可以具有指示匹配情况的值1。例如,比较位b5的值为1且相对应的cam单元c5的值为1,比较位b3的值为0且相对应的cam单元c3的值为0,并且比较位b2的值为1且相对应的cam单元c2的值为1。

图4a和图4b表示与不匹配情况相对应的部分搜索操作。

参照图4a,搜索数据sdt的第六位b6、第五位b5、第四位b4和第三位b3对应于比较位,并且第二位b2和第一位b1对应于非比较位。非比较位b2和b1不影响匹配信号mat的值。因此,由于搜索数据sdt的比较位b6、b5、b4和b3中的至少一个(即第三位b3)与条目数据ent的对应位不匹配,所以匹配信号mat可以具有指示不匹配情况的值0。例如,比较位b3的值为1,而相对应的cam单元c3的值为0。

参照图4b,搜索数据sdt的第四位b4和第二位b2对应于比较位,并且第六位b6、第五位b5、第三位b3和第一位b1对应于非比较位。非比较位b6、b5、b3和b1不影响匹配信号mat的值。因此,由于搜索数据sdt的比较位b4和b2中的至少一个(即第四位b4)与条目数据ent的对应位不匹配,所以匹配信号mat可以具有指示不匹配情况的值0。例如,比较位b4的值为0,而相对应的cam单元c4的值为1。

可以使用如图3a至图4b所示的多个部分搜索操作的组合和/或序列来实施各种搜索条件。

图5是示出cam中包括的示例cam单元的电路图。

作为示例,在图5中示出了从静态随机存取存储器(sram)单元修改的nor型cam单元。根据示例实施例的cam单元不限于图5的配置。

参照图5,cam单元可包括形成锁存器的第一反相器inv1和第二反相器inv2,以及第一晶体管t1至第六晶体管t6(例如,t1、t2、t3、t4、t5和t6),该第一晶体管t1至第六晶体管t6可以是n型金属氧化物半导体(nmos)晶体管。

第五晶体管t5和第六晶体管t6与cam单元的读操作和/或写操作相关联。第五晶体管t5和第六晶体管t6可以基于由图1中的读写电路rwc驱动的字线的电压,将正常位线bl和互补位线/bl分别电连接到锁存节点n和反相节点/n。在读操作中,可以通过正常位线bl和互补位线/bl分别将锁存节点n的正常位值d和反相节点/n的反相位值/d提供给读写电路rwc。在写操作中,可以将正常位值d和反相位值/d分别加载到正常位线bl和互补位线/bl以存储在锁存节点n和反相节点/n中。读操作和写操作可以与sram单元的读操作和写操作实质上相同,并且省略进一步的描述。

响应于存储在反相节点/n中的反相位值/d而导通第一晶体管t1,并且响应于存储在锁存节点n中的正常位值d而导通第二晶体管t2。响应于通过正常搜索线sl施加的位值而导通第三晶体管t3,并且响应于通过互补搜索线/sl施加的位值而导通第四晶体管t4。

图5的nor型cam单元包括:第一下拉路径,其包括第一晶体管tl和第三晶体管t3;以及第二下拉路径,其包括第二晶体管t2和第四晶体管t4。如上所述,将匹配线ml预充电至逻辑高电平,然后可以根据通过正常搜索线sl和互补搜索线/sl施加的位值以及所存储的值d和/d来选择性地启用第一下拉路径和第二下拉路径。当第一下拉路径和第二下拉路径中的至少一个被启用时,匹配线ml被放电至接地电压vss,结果,匹配线ml的电压从对应于值1的逻辑高电平转变为对应于值0的逻辑低电平。当第一下拉路径和第二下拉路径都被禁用时,匹配线ml保持预充电电压,即,匹配线ml保持对应于值1的逻辑高电平。

图6a、图6b、图7a、图7b、图8a和图8b是用于描述施加至cam的搜索数据的位值的图。

搜索数据的一个位值可以由正常搜索线sl的位值和互补搜索线/sl的位值的组合(sl,/sl)表示。另外,存储在cam单元中的条目数据的一个位值可以由锁存节点n的位值和反相节点/n的位值的组合(d,/d)表示。

图6a和图6b示出了条目数据的一位具有值0,即(d,/d)=(0,1)的情况。

参照图6a,当搜索数据的一位的值为0时,即(sl,/sl)=(0,1),第一晶体管t1和第四晶体管t4导通,并且第二晶体管t2和第三晶体管t3截止。结果,包括第一晶体管t1和第三晶体管t3的第一下拉路径以及包括第二晶体管t2和第四晶体管t4的第二下拉路径都被禁用,并且匹配信号mat保持值1,该值指示先前被预充电的匹配情况。

参照图6b,当搜索数据的一位的值为1时,即(sl,/sl)=(1,0),第一晶体管t1和第三晶体管t3导通,并且第二晶体管t2和第四晶体管t4截止。结果,包括第二晶体管t2和第四晶体管t4的第二下拉路径被禁用,但是包括第一晶体管t1和第三晶体管t3的第一下拉路径被启用,并且匹配信号mat转变为指示不匹配情况的值0。

图7a和图7b示出了条目数据的一位具有值1,即(d,/d)=(1,0)的情况。

参照图7a,当搜索数据的一位的值为1时,即(sl,/sl)=(1,0),第一晶体管t1和第四晶体管t4截止,并且第二晶体管t2和第三晶体管t3导通。结果,包括第一晶体管t1和第三晶体管t3的第一下拉路径以及包括第二晶体管t2和第四晶体管t4的第二下拉路径都被禁用,并且匹配信号mat保持值1,该值指示先前被预充电的匹配情况。

参照图7b,当搜索数据的一位的值为0时,即(sl,/sl)=(0,1),第一晶体管t1和第三晶体管t3截止,并且第二晶体管t2和第四晶体管t4导通。结果,包括第一晶体管t1和第三晶体管t3的第一下拉路径被禁用,但是包括第二晶体管t2和第四晶体管t4的第二下拉路径被启用,并且匹配信号mat转变为指示不匹配情况的值0。

图8a和8b示出了搜索数据的一位具有无关值,即(sl,/sl)=(0,0)的情况。图8a示出了条目数据的一位的值为0,即(d,/d)=(0,1)的情况,并且图8b示出了条目数据的一位的值为1,即(d,/d)=(1,0)的情况。

参照图8a和图8b,将值0施加至正常搜索线sl和互补搜索线/sl两者,因此第三晶体管t3和第四晶体管t4总是截止,而不管并且/或者独立于所存储的条目数据的位值。因此,当与无关值相对应的组合(sl,/sl)=(0,0)被用作搜索数据的一个位值时,包括第一晶体管t1和第三晶体管t3的第一下拉路径以及包括第二晶体管t2和第四晶体管t4的第二下拉路径都被禁用,并且匹配信号mat保持值1。

如参照图6a至图7b所描述的,图1中的cam控制器1020可以针对搜索数据的各位中的每个比较位,将值1施加至正常搜索线sl和互补搜索线/sl中的一者,并且将值0施加至正常搜索线sl和互补搜索线/sl中的另一者。相反,如参照图8a和8b所描述的,cam控制器1020可以针对除了搜索数据的各位中的比较位之外的每个非比较位,将值0施加至正常搜索线sl和互补搜索线/sl两者。根据cam单元的配置,cam控制器1020可以针对每个非比较位,将值1作为无关值施加至正常搜索线sl和互补搜索线/sl两者。例如,如果cam单元具有这样的配置:其使得匹配线可以被预充电至值0而不是值1并且在不匹配情况下至少一个上拉路径被启用,则可以通过将值1作为无关值施加至正常搜索线sl和互补搜索线/sl两者来禁用上拉路径,而不管并且/或者独立于存储在cam单元中的位值。

在下文中,参照图9至图14b,将描述根据示例实施例的1位累积搜索操作。1位累积搜索操作指示通过在从第k位bk到第一位b1的方向上一个一个地增加比较位的数目来重复上述部分搜索操作。使用1位累积搜索操作,可以在存储在cam中的多个条目数据中将最大条目数据(例如,具有条目数据的最大值的条目数据)或最小条目数据(例如,具有条目数据的最小值的条目数据)确定为目标条目数据。

图9是示出根据本公开的示例实施例的使用搜索电路的最大条目搜索方法的流程图。

参照图9,i的值被初始化为1(s101)。将搜索数据的第(k-i+1)位设置为1,并将搜索数据的第一位b1至第(k-i)位b(k-i)(在图9中示为b1~b(k-i))设置为无关值dcv(s102)。在这样设置比较位和非比较位之后,执行第i部分搜索操作pcoi(s103)。

结果,当i的值为1时,通过将具有值1的第k比较位bk施加至cam来执行第一部分搜索操作pco1(s103)。

当匹配信号mat中的至少一个被激活(例如,具有指示匹配情况的值1)时(s104:是),搜索数据的第(k-i+1)位b(k-i+1)被设置为1(s105)。当所有匹配信号mat都被去激活(例如,具有指示不匹配情况的值0)时(s104:否),搜索数据的第(k-i+1)位b(k-i+1)被设置为0(s106)。之后,将i的值增加1(s109),并且重复处理(s102至s106)。

这样,可以基于当比较位的数目是i时的第i部分搜索操作pcoi的多个匹配信号来确定当比较位的数目是(i+1)时的第(i+1)部分搜索操作pco(i+1)的比较位的值,其中i是自然数。

换句话说,当目标条目数据是最大条目数据时,在图1中的cam控制器1020在通过第i部分搜索操作pcoi激活多个匹配信号中的至少一个时将第(k-i+1)比较位的值设置为1、在通过第i部分搜索操作pcoi去激活多个匹配信号中的所有匹配信号时将第(k-i+1)比较位的值设置为0、并且在不管多个匹配信号的情况下通过第i部分搜索操作pcoi将第(k-i)比较位的值设置为1之后,cam控制器1020可以通过将第k比较位至第(k-i)比较位施加至cam1010来执行第(i+1)部分搜索操作pco(i+1)。

可以重复执行递归处理(s102至s106和s109),直到通过第i部分搜索操作pcoi激活多个匹配信号中的仅一个为止(s107:否)。当多个匹配信号中的仅一个被激活时(s107:是),cam控制器1020可以不执行第(i+1)部分搜索操作pco(i+1)以及随后的部分搜索操作,例如,pco(i+2)、pco(i+3)等。

当多个匹配信号中的仅一个被激活时(s107:是),cam控制器1020可以将与该唯一一个被激活的匹配信号相对应的条目数据确定为最大条目数据,并输出最大条目搜索操作的结果(s108)。结果可以包括最大条目数据和/或最大条目数据的位置信息。

图10a和图10b是示出图9的最大条目搜索方法的示例的图。

图10a示出了存储在cam中的第一条目数据ent1至第五条目数据ent5(例如ent1、ent2、ent3、ent4和ent5)。第一条目数据ent1至第五条目数据ent5中的每一个可以包括对应于最高有效位的第六位b6至对应于最低有效位的第一位b1。条目数据的数目和每个条目数据的位是为了图示和描述的方便,并且本公开的示例实施例不限于此。

图10b示出了与图10a的条目数据相对应的最大条目搜索操作。

参照图10a和图10b,通过将具有值1的第六位b6作为一个比较位施加至cam来执行第一部分搜索操作pco1。如图10a所示,第一条目数据ent1至第五条目数据ent5的所有第六位b6均为0,因此所有第一匹配信号mat1至第五匹配信号mat5都具有指示不匹配情况的值0。

由于作为第一部分搜索操作pcol的结果,所有匹配信号mat1至mat5都被去激活,因此搜索数据的第六位b6被设置为0,搜索数据的第五位b5被设置为1,然后通过将第六位b6和第五位b5作为两个比较位施加至cam来执行第二部分搜索操作pco2。

由于作为第二部分搜索操作pco2的结果,仅第二匹配信号mat2被激活为指示匹配情况的值1,因此可以将与第二匹配信号mat2相对应的第二条目数据ent2确定为最大条目数据maxent。

图11a和图11b是示出图9的最大条目搜索方法的另一示例的图。

图11a示出了存储在cam中的第一条目数据ent1至第五条目数据ent5的示例,并且图11b示出了与图11a的条目数据相对应的最大条目搜索操作。

参照图11a和图11b,通过将具有值1的第六位b6作为一个比较位施加至cam来执行第一部分搜索操作pco1。第一条目数据ent1至第五条目数据ent5的所有第六位b6均为0,因此所有第一匹配信号mat1至第五匹配信号mat5都具有指示不匹配情况的值0。

由于作为第一部分搜索操作pco1的结果,所有匹配信号mat1至mat5都被去激活,因此搜索数据的第六位b6被设置为0,搜索数据的第五位b5被设置为1,然后通过将第六位b6和第五位b5作为两个比较位施加至cam来执行第二部分搜索操作pco2。

由于作为第二部分搜索操作pco2的结果,第二匹配信号mat2和第四匹配信号mat4被激活为指示匹配情况的值1,因此搜索数据的第五位b5被设置为1,搜索数据的第四位b4被设置为1,然后通过将第六位b6、第五位b5和第四位b4作为三个比较位施加至cam来执行第三部分搜索操作pco3。

由于作为第三部分搜索操作pco3的结果,所有匹配信号mat1至mat5都被去激活,因此搜索数据的第四位b4被设置为0,搜索数据的第三位b3被设置为1,然后通过将第六位b6至第三位b3作为四个比较位施加至cam来执行第四部分搜索操作pco4。

由于作为第四部分搜索操作pco4的结果,仅第二匹配信号mat2被激活为指示匹配情况的值1,因此可以将与第二匹配信号mat2相对应的第二条目数据ent2确定为最大条目数据maxent。

图12是示出根据本公开的示例实施例的使用搜索电路的最小条目搜索方法的流程图。

参照图12,i的值被初始化为1(s201)。将搜索数据的第(k-i+1)位设置为0,并将搜索数据的第一位b1至第(k-i)位b(k-i)(在图12中示为b1~b(k-i))设置为无关值dcv(s202)。在这样设置比较位和非比较位之后,执行第i部分搜索操作pcoi(s203)。

结果,当i的值为1时,通过将具有值0的第k比较位bk施加至cam来执行第一部分搜索操作pco1(s203)。

当匹配信号mat中的至少一个被激活(例如,具有指示匹配情况的值1)时(s204:是),搜索数据的第(k-i+1)位b(k-i+1)被设置为0(s205)。当所有匹配信号mat都被去激活(例如,具有指示不匹配情况的值0)时(s204:否),搜索数据的第(k-i+1)位b(k-i+1)被设置为1(s206)。之后,将i的值增加1(s109),重复处理(s202至s206)。

这样,可以基于当比较位的数目是i时的第i部分搜索操作pcoi的多个匹配信号来确定当比较位的数目为(i+1)时的第(i+1)部分搜索操作pco(i+1)的比较位的值,其中i是自然数。

换句话说,当目标条目数据是最小条目数据时,在图1中的cam控制器1020在通过第i部分搜索操作pcoi激活多个匹配信号中的至少一个时将第(k-i+1)比较位的值设置为0、在通过第i部分搜索操作pcoi去激活多个匹配信号中的所有匹配信号时将第(k-i+1)比较位的值设置为1、并且在不管多个匹配信号的情况下通过第i部分搜索操作pcoi将第(k-i)比较位的值设置为0之后,cam控制器1020可以通过将第k比较位至第(k-i)比较位施加至cam1010来执行第(i+1)部分搜索操作pco(i+1)。

可以重复执行递归处理(s202至s206和s209),直到通过第i部分搜索操作pcoi激活多个匹配信号中的仅一个为止(s207:否)。当多个匹配信号中的仅一个被激活时(s207:是),cam控制器1020可以不执行第(i+1)部分搜索操作pco(i+1)以及随后的部分搜索操作pco(i+2)、pco(i+3)等。

当多个匹配信号中的仅一个被激活时(s207:是),cam控制器1020可以将与该唯一一个被激活的匹配信号相对应的条目数据确定为最小条目数据,并输出最小条目搜索操作的结果(s208)。结果可以包括最小条目数据和/或最小条目数据的位置信息。

图13a和图13b是示出图12的最小条目搜索方法的示例的图。

图13a示出了存储在cam中的第一条目数据ent1至第五条目数据ent5的示例,并且图13b示出了与图13a的条目数据相对应的最小条目搜索操作。

参照图13a和图13b,通过将具有值0的第六位b6作为一个比较位施加至cam来执行第一部分搜索操作pco1。如图13a所示,第一条目数据ent1至第五条目数据ent5的所有第六位b6均为0,因此所有第一匹配信号mat1至第五匹配信号mat5都具有指示匹配情况的值1。

由于作为第一部分搜索操作pco1的结果,匹配信号mat1至mat5中的至少一个被激活,因此搜索数据的第六位b6被设置为0,搜索数据的第五位b5被设置为0,然后通过将第六位b6和第五位b5作为两个比较位施加至cam来执行第二部分搜索操作pco2。

以相同的方式,由于作为第二部分搜索操作pco2和第三部分搜索操作pco3的结果,至少一个匹配信号被激活为指示匹配情况的值1,因此搜索数据的第六位b6至第三位b3都被设置为0,然后通过将第六位b6至第三位b3作为四个比较位施加至cam来执行第四部分搜索操作pco4。

由于作为第四部分搜索操作pco4的结果,仅第一匹配信号mat1被激活为指示匹配情况的值1,因此可以将与第一匹配信号mat1相对应的第一条目数据ent1确定为最小值条目数据minent。

图14a和图14b是示出图12的最小条目搜索方法的另一示例的图。

图14a示出了存储在cam中的第一条目数据ent1至第五条目数据ent5的示例,并且图14b示出了与图14a的条目数据相对应的最小条目搜索操作。

参照图14a和图14b,通过将具有值0的第六位b6作为一个比较位施加至cam来执行第一部分搜索操作pco1。第一条目数据ent1至第五条目数据ent5的所有第六位b6均为0,因此所有第一匹配信号mat1至第五匹配信号mat5都具有指示匹配情况的值1。

由于作为第一部分搜索操作pco1的结果,匹配信号mat1至mat5中的至少一个被激活,因此搜索数据的第六位b6被设置为0,搜索数据的第五位b5被设置为0,然后通过将第六位b6和第五位b5作为两个比较位施加至cam来执行第二部分搜索操作pco2。

以相同的方式,由于作为第二部分搜索操作pco2和第三部分搜索操作pco3的结果,至少一个匹配信号被激活为指示匹配情况的值1,因此搜索数据的第六位b6至第三位b3都被设置为0,然后通过将第六位b6至第三位b3作为四个比较位施加至cam来执行第四部分搜索操作pco4。

由于作为第四部分搜索操作pco4的结果,所有匹配信号都被去激活为指示不匹配情况的值0,因此搜索数据的第三位b3被设置为1,搜索数据的第二位b2被设置为0,然后通过将第六位b6至第二位b2作为五个比较位施加至cam来执行第五部分搜索操作pco5。

由于作为第五部分搜索操作pco5的结果,仅第三匹配信号mat3被激活为指示匹配情况的值1,因此可以将与第三匹配信号mat3相对应的第三条目数据ent3确定为最小条目数据minent。

图15和图16是示出根据本公开的示例实施例的存储器系统10的框图。

参照图15,存储器系统10包括存储器控制器100和存储器装置200。存储器控制器100和存储器装置200包括用于相互通信的相应接口。接口可以通过用于传输命令cmd、访问地址addr、时钟信号clk等的控制总线21,以及用于传输数据data的数据总线22连接。根据用于存储器装置的一些标准,访问地址addr可以被合并在命令cmd(例如,cmd(addr))中。存储器控制器100可以产生用于控制存储器装置200的命令cmd,并且可以在存储器控制器100的指导和控制下将数据data写入存储器装置200或从存储器装置200读取数据data。

存储器装置200可以包括被配置为提供锤子地址hadd的锤子地址管理电路hmmag300和被配置为基于所提供的锤子地址hadd执行锤子刷新操作的刷新控制器rfcon400。

参照图16,存储器系统11包括通过控制总线23和数据总线24连接的存储器控制器101和存储器装置201。

与图15的存储器系统10相比,在图16的存储器系统11中,存储器控制器101包括被配置为通过控制总线23提供锤子地址hadd的锤子地址管理电路hmmag301,并且存储器装置201包括被配置为基于所提供的锤子地址hadd执行锤子刷新操作的刷新控制器rfcon400。在这种情况下,通过存储器控制器101执行锤子地址hadd的检测,并且可以仅锤子刷新操作通过存储器装置201执行以分配与锤子刷新操作有关的负担,从而可以减小存储器装置201的尺寸,并且可以增强存储器系统11的整体性能。

图17是示出根据本公开的示例实施例的锤子地址管理电路的框图。

参照图17,锤子地址管理电路300可以包括内容可寻址存储器(cam)1010、cam控制器camcon1020、地址储存器2010和地址控制器addcon2020。

地址储存器2010基于提供给存储器装置的访问地址信号addr来存储多个行地址add1至addn(例如,add1、add2、...、addn)。cam1010包括多个cam单元,该多个cam单元被配置为存储指示多个行地址的多个访问计数的多个访问计数数据,其中访问计数数据ent1至entn(例如,ent1、ent2、...、entn)中的每一个包括对应于最低有效位的第一位至对应于最高有效位的第k位。cam1010提供指示多个访问计数数据ent1至entn中的每一个是否与搜索数据匹配的多个匹配信号。

cam控制器1020执行部分搜索操作,使得cam控制器1020将与第一位至第k位的一部分相对应的比较位作为搜索数据施加至cam,并基于多个匹配信号(例如,目标计数数据的对应位与比较位匹配)在多个条目数据ent1至entn中搜索目标计数数据。

地址控制器2020基于搜索目标计数数据的结果,提供被密集访问的存储器装置的锤子地址hadd。

cam控制器1020可以通过重复如参照图9至图11b所描述的部分搜索操作来重复最大条目搜索操作,并且可以在多个访问计数数据ent1至entn中将最大计数数据确定为目标计数数据。地址控制器2020可以基于从cam控制器1020提供的位置信息maxpt,确定所存储的行地址add1至addn中的与最大计数数据相对应的行地址。

另外,cam控制器1020可以通过重复如参照图12至图14b所描述的部分搜索操作来重复最小条目搜索操作,并且可以在多个访问计数数据ent1至entn中将最小计数数据确定为目标计数数据。地址控制器2020可以基于从cam控制器1020提供的位置信息minpt,将新的行地址存储在地址储存器中,以用该新的行地址替换与最小计数数据相对应的行地址。换句话说,可以通过将较低访问频率的行地址从地址储存器2010中删除,来将该较低访问频率的行地址从锤子地址管理的对象中排除。

cam控制器1020可以基于从地址控制器2020提供的访问信息addpt和newadd来增加或初始化访问计数数据ent1至entn的值。

在用于锤子刷新操作的常规方案中,可以使用用于存储访问计数数据的计数器和包括比较器的复杂电路,该比较器用于确定存储在计数器中的多个访问计数数据中的最大计数数据和/或最小计数数据。随着存储器装置的集成度增加,要存储的访问计数数据的位和数量可能增加,并且计数器的数量和比较器的数量也可能增加。因此,会增加电路的尺寸并且会减小设计裕度。

根据本公开的示例实施例的锤子地址管理电路300可以代替用于利用针对cam的部分搜索操作来比较所存储的数据的功能,因此可以减小存储器装置的尺寸,并且可以增强锤子刷新操作的性能。尽管图17示出了如图15中的锤子地址管理电路300的锤子地址管理电路300,但是应当理解,在不脱离本公开的情况下,图17的锤子地址管理电路300的设计可以等同地应用于图16中示出的锤子地址管理电路301。

图18是示出根据本公开的示例实施例的存储器装置中包括的刷新控制器的框图。

参照图18,刷新控制器400可以包括时序控制器410、刷新计数器420和地址产生器430。

时序控制器410可以基于存储器装置200的操作特性来产生计数器刷新信号cref和表示锤子刷新操作的时序的锤子刷新信号href。下面将参照图20a、图20b和图20c进一步描述时序控制器410的操作。如图20a、图20b和图20c所示,时序控制器410可以选择性地激活计数器刷新信号cref和锤子刷新信号href之一。刷新计数器420可以响应于计数器刷新信号cref而产生计数器刷新地址信号crfadd,其中,计数器刷新地址信号crfadd可以表示顺序地改变的地址。例如,每当计数器刷新信号cref被激活时,刷新计数器420就可以增加计数器刷新地址信号crfadd的值。通过增加计数器刷新地址信号crfadd的值,可以顺序地选择存储器装置200的存储器单元阵列中的字线以进行刷新操作。

地址产生器430可以存储从存储器控制器100提供的锤子地址hadd,并且可以与锤子刷新信号href同步地产生锤子刷新地址信号hrfadd。锤子刷新地址信号hrfadd可以与这样的行的地址相对应:该行与对应于锤子地址hadd的行物理地相邻。地址产生器430可以包括锤子地址储存器440和映射器450。

锤子地址储存器440可以存储从存储器控制器100提供的锤子地址hadd。

映射器450可以基于从锤子地址储存器440提供的锤子地址hadd产生锤子刷新地址信号hrfadd。如下面将参照图19描述的,锤子刷新地址信号hrfadd可以指示存储器装置200的行的地址,该行与存储器装置200的与锤子地址hadd相对应的行物理地相邻。

图19是示出用于描述由于字线耦接而导致数据丢失的存储器单元阵列的一部分的图。

图19示出了三条字线wls-1、wls和wls+1,三条位线blp-1、blp和blp+1,以及存储器单元阵列中的耦接到字线wls-1、wls和wls+1和位线blp-1、blp和blp+1的存储器单元mc。三条字线wls-1、wls和wls+1在行方向(例如,x方向)上延伸并且沿着列方向(例如,y方向)顺序地布置。三条位线blp-1、blp和blp+1在列方向上延伸并且沿着行方向顺序地布置。在此将理解,字线wls-1和字线wls在物理上彼此直接相邻,因为在字线wls-1和字线wls之间没有居间的字线。

例如,中间字线wl可以对应于已经被密集地访问的锤子地址hadd。将理解,被密集访问的字线或锤子字线是指具有相对较高的激活次数并且/或者具有相对较高的激活频率(例如,大于预定阈值)的字线。每当访问锤子字线(例如,中间字线wl)时,锤子字线wls被启用并被预充电,并且锤子字线wls的电压电平被增大和减小。当锤子字线wls的电压电平变化时,字线耦接可引起相邻字线wls-1和相邻字线wls+1的电压电平波动,因此,耦接到相邻字线wls-1和相邻字线wls+1的存储器单元mc的单元电荷可能会受到影响。当更频繁地访问锤子字线wls时,耦接到相邻字线wls-1和相邻字线wls+1的存储器单元mc的单元电荷可更快地丢失。

图18的地址产生器430可提供锤子刷新地址信号hrfadd,该锤子刷新地址信号hrfadd表示与锤子地址hadd的行(例如,中间字线wls)物理地相邻的行(例如,字线wls-1和wls+1)的地址hrfadd1和hrfadd2,并且可以基于(例如,响应于)锤子刷新地址信号hrfadd来执行针对相邻字线wls-1和相邻字线wls+1的刷新操作,以减少或者可能防止存储在存储器单元mc中的数据的丢失。

图20a、图20b和图20c是示出根据本公开的示例实施例的存储器装置中包括的刷新控制器的示例操作的时序图。

图20a、图20b和图20c示出了针对以脉冲形状激活的刷新信号iref的计数器刷新信号cref、锤子刷新信号href、计数器刷新地址信号crfadd和锤子刷新地址信号hrfadd的产生。刷新信号iref的激活时间点t1至t19之间的间隔可以是规则的或不规则的。

参照图18和图20a,时序控制器410可以与刷新信号iref的激活时间点t1到t19中的时间点t1至t4、t6至t10、t12至t16以及t18至t19同步地激活计数器刷新信号cref,并且可以与时间点t5、t11和t17同步地激活锤子刷新信号href。即使图20a示出了对于锤子刷新信号href的每次激活,计数器刷新信号cref被激活了五次,但是计数器刷新信号cref和锤子刷新信号href的激活比率可以改变。

刷新计数器420可以与计数器刷新信号cref的激活时间点t1至t4、t6至t10、t12至t16以及t18至t19同步地产生表示顺序地改变的地址x+1至x+15的计数器刷新地址信号crfadd。地址产生器430可以与锤子刷新信号href的激活时间点t5、t11和t17同步地产生锤子刷新地址信号hrfadd,该锤子刷新地址信号hrfadd表示与锤子地址hadd的行物理地相邻的行的地址ha、hb和hc。

如图20a所示,地址产生器430中的映射器450可以提供与两个相邻行之一相对应的地址。例如,在时间点t5,地址ha可以比锤子地址hadd小1,并且在时间点t11,地址hb可以比锤子地址hadd大1。这样,映射器450可以在锤子刷新信号href的每个激活时间点处替代性地提供相对于锤子地址信号的较小的地址或较大的地址。

图20b和图20c的时序图类似于图20a的时序图,并且省略重复的描述。计数器刷新信号cref在图20a中在某些时间点处被去激活,但是计数器刷新信号cref可以周期性地被激活,而不管锤子刷新信号href如何,如图20b所示。根据示例实施例,如图20c所示,地址产生器430中的映射器450可以顺序地提供与两个相邻行相对应的地址。例如,在时间点t5,地址ha1可以比锤子地址hadd小1,并且在时间点t6,地址ha2可以比锤子地址hadd大1。这样,映射器450可以在锤子刷新信号href的每个激活时间点处替代性地提供相对于锤子地址信号的较小的地址或较大的地址。

图21是示出根据本公开的示例实施例的移动系统1200的框图。

参照图21,移动系统1200包括应用处理器(ap)1210、连接单元1220、易失性存储器装置(vm)1230、非易失性存储器装置(nvm)1240、用户界面1250和电源1260。

应用处理器1210可以执行诸如网络浏览器、游戏应用、视频播放器等应用。连接单元1220可以执行与外部装置的有线或无线通信。易失性存储器装置1230可以存储由应用处理器1210处理的数据,或者可以用作工作存储器。非易失性存储器装置1240可以存储用于启动移动系统1200的启动映像。用户界面1250可以包括诸如小键盘、触摸屏等的至少一个输入装置,以及诸如扬声器、显示装置等的至少一个输出装置。电源1260可以向移动系统1200提供电源电压。

在一些示例实施例中,如参照图15所描述的,存储器装置1230可以包括锤子地址管理电路300和刷新控制器400。在其他示例实施例中,如参照图16所描述的,配置为控制存储器装置1230的应用处理器1210可以包括锤子地址管理电路301,并且存储器装置1230可以包括刷新控制器400。

锤子地址管理电路300、301可以使用搜索电路在所存储的访问计数数据中搜索最大值和最小值,从而可以减小锤子地址管理电路300、301的尺寸。

本公开可以应用于需要数据搜索功能的任何电子装置和系统。例如,本公开可以应用于以下系统:诸如存储卡、固态驱动器(ssd)、嵌入式多媒体卡(emmc)、通用闪存(ufs)、移动电话、智能电话、个人数字助理(pda)、便携式多媒体播放器(pmp)、数码相机、便携式摄像机、个人计算机(pc)、服务器计算机、工作站、膝上型计算机、数字电视、机顶盒、便携式游戏机、导航系统、可穿戴装置、物联网(iot)装置、万物网(ioe)装置、电子书、虚拟现实(vr)装置、增强现实(ar)装置等。

前述内容是示例实施例的说明,并且不应解释为对其的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易理解,在实质上不脱离本公开的情况下,示例实施例中的许多修改是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1