用于命令/地址跟踪的设备和方法与流程
用于命令/地址跟踪的设备和方法
1.相关申请案
2.本技术案主张2020年4月6日申请的标题为“用于命令/地址跟踪的设备和方法(apparatuses and methods for command/address tracking)”的美国临时专利申请案第16/840,946号的优先权,其出于所有目的以引用的方式整体并入本文中。
背景技术:
3.本公开大体上涉及存储器装置,包含易失性存储器,例如动态随机存取存储器(dram)。数据可存储于dram的个别存储器单元中。存储器单元可以行和列的阵列的形式组织。一行中的每一存储器单元可耦合到字线且一列中的每一存储器单元可耦合到位线。因此,每个存储器单元均可耦合到字线和位线。
4.除了软件中的安全漏洞之外,黑客还可利用硬件中的安全漏洞。举例来说,已知黑客反复存取dram中的一或多个行(被称为行锤攻击),这可致使存储于被锤击行附近的一或多个行上的数据降级。数据降级可引起错误状态,所述错误状态允许黑客存取存储器和/或包含存储器的计算系统。因此,检测硬件攻击并且防止硬件攻击造成损坏可以是合乎需要的。
技术实现要素:
5.根据本公开的至少一个实例,一种设备可包含命令序列产生器,其被配置成接收和存储命令并且提供包含至少一个命令的命令序列;模式匹配电路系统,其被配置成接收所述命令序列并且将所述命令序列与模式进行比较并产生结果,其中所述结果指示所述模式是否包含在所述命令序列中,其中所述模式对应于一或多个命令;和计数比较器,其被配置成接收所述结果,且当所述结果指示所述模式包含在所述命令序列中时,所述计数比较器被进一步配置成更新与包含所述模式的所述命令序列相关联的计数值并将所述计数值与阈值进行比较,其中所述计数比较器被进一步配置成基于所述计数值与所述阈值的比较,激活停止命令信号或命令警报信号中的至少一个。
6.根据本公开的至少一个实例,一种设备可包含命令解码器,其被配置成解码从存储器控制器接收的命令;和电路系统,其被配置成接收所述命令并且分析所述命令以确定所述命令是否包含非法命令或非法命令序列中的至少一个,其中当所述电路系统确定所述命令包含所述非法命令或所述非法命令序列中的至少一个时,所述电路系统被进一步配置成将作用中停止命令信号提供给所述命令解码器,其中所述命令解码器被配置成响应于所述作用中停止命令信号而阻止执行所述非法命令或命令序列。
7.根据本公开的至少一个实例,一种方法可包含从存储器控制器接收包含至少一个命令的命令序列;将所述命令序列与对应于包含至少一个非法命令的非法命令序列的模式进行比较;当结果指示所述命令序列包含所述模式时,增加与所述命令序列相关联的计数并将所述计数与阈值进行比较;和发出被配置成当所述计数等于或大于所述阈值时阻止执行所述命令序列的信号。
附图说明
8.图1是根据本公开的实施例的半导体装置的框图。
9.图2是根据本公开的实施例的命令/地址跟踪电路系统的框图。
10.图3是根据本公开的实施例的模式匹配电路系统的框图。
11.图4是根据本公开的实施例的方法的流程图。
12.图5是根据本公开的实施例的包含存储器装置的计算系统的框图。
具体实施方式
13.以下对某些实施例的描述在本质上仅是示范性的,且决不意图限制本公开的范围或其应用或用途。在对本发明的系统和方法的实施例的以下详细描述中,参考形成本文的一部分的附图,以及借助于说明示出的其中可实践所描述的系统和方法的特定实施例。足够详细地描述这些实施例,以使所属领域的技术人员能够实践当前公开的系统和方法,且应理解,可利用其它实施例,且在不脱离本公开的精神和范围的情况下可进行结构和逻辑改变。此外,为清晰起见,某些特征的详细描述在其对于所属领域的技术人员来说将显而易见时将不予以论述,以免使本公开的实施例的描述混淆不清。因此,以下详细描述不应在限制性意义上理解,且本公开的范围仅由所附权利要求书限定。
14.黑客可利用硬件装置(例如存储器装置(例如,快闪、dram)中的安全漏洞。在行锤击攻击中,黑客可反复存取存储器中的行或行组,这可引起周围行中的数据降级。一些存储器可跟踪与存取命令相关联的行地址以检测行锤攻击并且提高周围行的刷新速率以保护数据。作为基于存储器地址的攻击的补充或替代,黑客可基于特定命令和/或命令序列攻击存储器,所述特定命令和/或命令序列可能具有或可能不具有与命令相关联的存储器地址。
15.举例来说,封装后修复(post package repair,ppr)命令可用于通过熔断一或多个熔丝和/或反熔丝以将行地址重新映射到其它辅助行,以此修复存储器中的一或多个缺陷行。这可允许具有缺陷行的存储器除了所述缺陷行继续被使用。然而,黑客也可采用ppr命令。发出ppr命令致使存储器接通一或多个电荷泵,所述一或多个电荷泵将高电压提供给存储器。这些高电压用以熔断熔丝和/或反熔丝以修复存储器。然而,当发出ppr命令而不考虑熔丝和/或反熔丝是否熔断时,存储器经历高电压。归因于保持在ppr状态中或通过反复发出ppr命令,长期暴露于高电压可能损坏存储器上的组件并且致使存储器和/或包含存储器的系统不可操作和/或容易受到破坏。
16.在另一实例中,可反复发出刷新命令。虽然常规由存储器执行刷新操作,但反复手动发出刷新命令可致使存储器中的热失控状况,这可能再次引起损坏并且致使存储器和/或系统不可操作和/或易受损。
17.命令序列可用于停用和/或损坏存储器。举例来说,在响应于校准命令的校准操作期间,执行另一命令(例如,刷新命令)可干扰校准。归因于在校准期间另一命令的执行,存储器可受损和/或不可操作。因此,包含校准命令后跟着另一命令的序列可用作存储器上的攻击。这类序列也可能合法用户无意中发出,这可能归因于用户的软件中的编程错误。
18.可损坏存储器的命令或命令序列在本文中被称作“非法命令”或“非法命令序列”。当然,应理解,一些“非法”命令可能仅在发出太多次或在一时间间隔内发出太多次的情况
下才是非法的(例如,ppr命令);然而,这些可能非法的命令和序列在本文中也被称作非法的。不管非法命令是有意发出还是无意发出,都可能需要检测非法命令和/或命令序列何时发到存储器并且阻止所述命令执行。
19.根据本公开的实施例,跟踪电路系统可包含在存储器中以监测命令并且检测非法命令和/或非法命令序列且/或阻止非法命令和/或非法命令序列执行。在一些实施例中,跟踪电路系统可接收和存储命令并将所述命令和/或命令序列与对应于非法命令和/或命令序列的一或多个模式进行比较。当所述比较指示已检测到非法命令和/或命令序列时,在一些实施例中,跟踪电路系统可激活用以阻止执行非法命令的信号和/或激活用以提供非法命令通告的信号。在一些实施例中,跟踪电路系统可保存(一直或在一时间间隔内)接收到非法命令和/或非法命令序列多少次的计数。在这些实施例中,跟踪电路系统可仅当所述计数等于或超过与非法命令和/或非法命令序列相关联的阈值时才激活所述信号。
20.图1是示出根据本公开的至少一个实施例的半导体装置100的整体配置的框图。在一些实例中,半导体装置100可为半导体存储器装置,例如集成在单个半导体芯片上的dram装置。
21.半导体装置100包括存储器阵列118。存储器阵列118示出为包含多个存储器组。在图1的实施例中,存储器阵列118示出为包含八个存储器组组0-组7。在其它实施例中,更多或更少的组可包含在存储器阵列118中。尽管图1示出仅一个存储器阵列118,但应了解,在其它实施例中,装置100可包含多个存储器阵列118。每一存储器组包含多个字线wl、多个位线bl和/bl,以及布置在所述多个字线wl和所述多个位线bl和/bl的相交处的多个存储器单元mc。字线wl的选择由行解码器108执行且位线bl和/bl的选择由列解码器110执行。所选字线wl可由字线驱动器wd驱动到所要电荷。在图1的实施例中,行解码器108包含用于每个存储器组的相应行解码器,且列解码器110包含用于每个存储器组的相应列解码器。位线bl和/bl耦合到相应感测放大器(samp)。
22.从位线bl或/bl读取的数据由感测放大器samp放大,并经由互补本地数据线(liot/b)提供到子放大器转移栅极120。子放大器转移栅极120可充当开关以在适合的liot/b与适合的共享主数据线(mio)之间形成导电路径。读取数据可经由子放大器转移栅极120提供给读取放大器126的导电路径从本地数据线liot/b传递到主数据线mio,这将数据提供到io电路122。从io电路122接收到的写入数据从写入放大器126输出且经由互补主数据线mio、子放大器转移栅极120,和互补本地数据线liot/b提供给感测放大器samp,并写入耦合到位线bl或/bl的存储器单元mc中。
23.半导体装置100可采用多个外部端子以用于从半导体装置100外部(例如,存储器外部)的装置(例如,图1中未示出的存储器控制器)发射和接收信息。外部端子可包含:命令和地址(c/a)端子,其耦合到命令和地址总线以接收命令和地址,以及cs信号;时钟端子,其用以接收时钟ck和/ck;数据端子dq,其用以提供数据;警告引脚alert,其用于提供alrt信号;以及供电端子,其用以接收供电电势vdd1、vdd2、vss、vddq和vssq。
24.为时钟端子供应外部时钟ck和/ck,所述外部时钟ck和/ck提供到输入电路112。外部时钟可为互补的。输入电路112基于ck和/ck时钟产生内部时钟iclk。iclk时钟提供到命令解码器110和内部时钟产生器114。内部时钟产生器114基于iclk时钟提供各种内部时钟lclk。lclk时钟可用于不同内部电路的定时操作。将内部数据时钟lclk提供给输入/输出电
路122,以对包含在输入/输出电路122中的电路的操作进行定时,例如提供给数据接收器以对写入数据的接收进行定时。
25.c/a端子可供应有存储器地址。经由命令/地址输入电路102将供应到c/a端子的存储器地址提供到地址解码器104。地址解码器104接收地址并将经解码行地址xadd供应到行解码器108且将经解码列地址yadd供应到列解码器110。地址解码器104还可供应经解码组地址badd,其可指示含有经解码行地址xadd和列地址yadd的存储器阵列118的组。可为c/a端子供应命令。命令的实例包含用于存取存储器的存取命令,例如用于执行读取操作的读取命令和用于执行写入操作的写入命令,以及其它命令和操作。存取命令可与用以指示待存取的存储器单元的一或多个行地址xadd、列地址yadd和组地址badd相关联。
26.命令可以作为内部命令信号经由命令/地址输入电路102提供到命令解码器106。命令解码器106包含用以对内部命令信号进行解码以产生用于执行操作的各个内部信号和命令的电路。举例来说,命令解码器106可提供用以选择字线wl的行命令信号和用以选择位线bl的列命令信号。
27.装置100可接收作为读取命令的存取命令。当接收到激活命令,且行和组地址及时供应有激活命令,随后为读取命令,而列地址及时供应有读取命令时,读取数据是从存储器阵列118中对应于行地址和列地址的存储器单元mc读取。读取命令由命令解码器106(例如,命令控制器)接收,所述命令解码器提供内部命令使得从存储器阵列118读取的数据被提供到读取放大器128。经由输入/输出电路122将读取数据输出到数据端子dq外部。
28.装置100可接收是写入命令的存取命令。当接收到激活命令,且行和组地址及时供应有激活命令,随后为写入命令,而列地址及时供应有写入命令时,将供应到数据端子dq的写入数据写入到存储器阵列118中对应于行地址和列地址的存储器单元。写入命令由命令解码器106接收,其提供内部命令使得写入数据由输入/输出电路122中的数据接收器接收。写入时钟还可提供给外部时钟端子以用于对写入数据通过输入/输出电路122的数据接收器的接收进行定时。写入数据经由输入/输出电路122供应到写入放大器126,且通过写入放大器126供应到存储器阵列118以写入到存储器单元mc中。
29.装置100还可接收致使其进行刷新操作的命令。刷新信号ref可为脉冲信号,其在命令解码器106接收到指示自动刷新和/或其它刷新命令的信号时激活。在一些实施例中,刷新命令可以在外部发到存储器装置100。在一些实施例中,刷新命令可以通过装置100的组件周期性地产生。刷新信号ref提供给刷新控制电路116(例如,刷新控制器)。提供到刷新控制电路116的刷新命令可致使装置100对存储器组中的一或多个进行刷新操作。
30.刷新控制电路116将刷新行地址rxadd供应给行解码器电路108,所述行解码器电路108可刷新由刷新行地址指示的一或多个字线wl。刷新控制电路116可基于刷新信号控制刷新操作的定时。响应于刷新信号的激活,刷新控制电路116可产生并提供一或多个刷新地址。
31.一种类型的刷新操作可为自动刷新操作。响应于自动刷新操作,装置100可刷新存储器阵列118的字线或字线的组,且接着可响应于下一自动刷新操作刷新存储器的下一字线或字线的组。刷新控制电路116可将自动刷新地址作为指示存储器阵列118中的字线或字线的组的刷新地址提供。刷新控制电路116可产生刷新地址的序列,使得随着时间的过去,自动刷新操作可循环经过存储器阵列118的所有字线。
32.根据本公开的实施例,装置100可包含c/a跟踪电路系统130(还被称作跟踪电路系统)。在一些实施例中,命令解码器106可将接收到的存储器命令cmd提供到跟踪电路系统130。跟踪电路系统130可监测命令cmd以确定装置100是否已接收到非法命令和/或非法命令序列。如果跟踪电路系统130检测到非法命令和/或序列,那么跟踪电路系统130可将作用中停止命令信号stpcmd提供给命令解码器106。作用中stpcmd可致使命令解码器106制止发出非法命令给装置100的其它组件和/或发出用以阻止执行非法命令的额外命令。在一些实施例中,命令解码器106可修改非法命令以使得执行合法命令。举例来说,如果在校准命令之后在已经过所需的时延时段之前发出刷新命令,那么响应于作用中stpcmd,命令解码器106可修改命令序列以使得在发出刷新命令之前经过所需的时延时段。
33.在一些实施例中,跟踪电路系统130可将命令警报信号cmd_alrt提供到装置100的警报引脚。跟踪电路系统130可在检测到非法命令和/或序列时提供作用中cmd_alert。cmd_alert信号可用于向用户或与装置100通信的另一装置(未示出)产生警告、错误消息和/或其它通知。在一些实施例中,cmd_alert信号可通知用户和/或另一装置命令或命令序列被检测到、未被执行和/或经修改。在一些实施例中,跟踪电路系统130可存储与接收到的命令cmd有关的数据(例如,命令数据)。实例命令数据可包含但不限于接收到命令的次数、一时间间隔内接收到命令的次数、何时接收到命令和/或其组合。在一些实施例中,跟踪电路系统130可例如响应于命令数据读取命令而将命令数据cmd_data提供到io电路122。
34.在一些实施例中,跟踪电路系统130可从内部时钟产生器114接收内部时钟信号lclk。lclk可用于跟踪电路系统130的监测操作的定时。举例来说,在一些实施例中,lckl可用于确定在一时间间隔期间接收到命令的次数。
35.在一些实施例中,跟踪电路系统130可从地址解码器104接收地址(未示出)。当命令是否非法可取决于与命令相关联的地址时,地址可用于检测非法命令。在一些实施例中,作为从命令解码器106和/或地址解码器104接收命令和/或地址的补充和/或替代,跟踪电路系统130可从命令地址输入电路102接收命令和/或地址。在一些实施例中,作为将stpcmd提供到命令解码器106的补充和/或替代,跟踪电路系统130可将stpcmd提供到命令地址输入电路102。
36.在一些实施例中,跟踪电路系统130可形成装置100的组成部分。举例来说,跟踪电路系统130可与存储器阵列118形成于同一半导体裸片中。在一些实例中,跟踪电路系统130可与存储器阵列118处于同一印刷电路板上。
37.向装置100的供电端子供应供电电势vdd1、vdd2和vss。供电电势vdd1、vdd2和vss供应给内部电压产生器电路124。内部电压产生器电路124基于供应给供电端子的供电电势vdd1、vdd2和vss产生各个内部电势vpp、vod、vary、vperi等。虽然各种内部电势和供电电势可用于装置100的不同电路中的任一个,但内部电势vpp主要用于行解码器108中,内部电势vod和vary主要用于存储器阵列118中包含的感测放大器samp中,且内部电势vperi用于许多外围电路块中。
38.还向供电端子供应供电电势vddq和vssq。供电电势vddq和vssq供应给输入/输出电路122。在本公开的一实施例中,供应给供电端子的供电电势vddq和vssq可为与供应给供电端子的供电电势vdd和vss相同的电势。在本公开的另一实施例中,供应给供电端子的供电电势vddq和vssq可为与供应给供电端子的供电电势vdd和vss不同的电势。供应给供电端
子的供电电势vddq和vssq用于输入/输出电路122,以使得输入/输出电路122产生的供电噪声不传播到其它电路块。
39.半导体装置100的组件(例如,命令解码器106、c/a跟踪电路系统130)可在不存取外部端子(例如,c/a、dq)的情况下与半导体装置100的其它组件一起发射和/或接收信息。在一些实施例中,组件可通过用于发射和/或接收信息的导电迹线(例如,cmd线、stpcmd线、xadd线)彼此耦合。在不接入外部端子的情况下可与半导体装置100的其它组件通信的组件可被视为在半导体装置100上(例如,当半导体装置100为存储器装置时,“在存储器上”或“在存储器中”),且必须接入半导体装置100的外部端子以与半导体装置100的组件通信的其它组件或装置可被视为在半导体装置100外和/或外部(例如,当半导体装置100为存储器装置时,“在存储器外”)。
40.图2是根据本公开的实施例的c/a跟踪电路系统300的框图。在上下文中,也示出了io电路203和命令解码器201。在一些实施例中,c/a跟踪电路系统300(还被称作跟踪电路系统)可包含在c/a跟踪电路系统130中。io电路203可包含在io电路122中且命令解码器201可包含在命令解码器106中。跟踪电路系统300可包含命令序列产生器202、模式匹配电路系统204、计数比较器206和命令数据寄存器208。
41.命令序列产生器202可接收命令cmd。在一些实施例(例如图2中示出的一个实施例)中,命令序列产生器202可从命令解码器201接收命令。在一些实施例中,命令序列产生器202可在提供命令和/或命令序列(cs)给模式匹配电路系统204之前至少暂时地存储接收到的命令中的一或多个。在一些实例中,命令序列产生器202可包含用于存储命令和/或命令序列的一或多个缓冲器、锁存器和/或寄存器。举例来说,如果受关注的命令序列有三个命令长,那么命令序列产生器202可缓冲命令直到接收到至少三个命令为止并且接着提供所述三个命令(例如,命令序列)给模式匹配电路系统204。当然,命令序列产生器202提供的命令序列可具有不同数目的命令(例如,1个、2个、4个等)。在一些实施例中,命令序列产生器202可提供不同长度的命令序列(lc)。举例来说,命令序列产生器202可提供单个命令以及多命令序列。在一些实施例中,命令序列产生器202可编程和/或硬译码有待提供的命令序列的长度。在一些实施例中,命令序列产生器202可从模式匹配电路系统204接收命令序列的长度。
42.模式匹配电路系统204可从命令序列产生器202接收命令和/或命令序列。模式匹配电路系统204可将接收到的命令和/或命令序列与非法命令和非法命令序列的模式进行比较。比较的结果(res)可提供给计数比较器206。所述结果可包含通过所述比较检测到的非法命令或命令序列(如果存在)。在一些实施例中,所述结果可另外包含已检测到非法命令或命令序列多少次的计数。所述计数可为一时间间隔(例如,500毫秒)的计数、寿命计数和/或其组合。在一些实施例中,包含在模式匹配电路系统204中的模式可写入到寄存器。在其它实施例中,模式匹配电路系统204中的模式可经硬译码(例如,硬接线、熔丝熔断)。在一些实施例中,所述模式可从命令序列产生器202提供所要的序列长度。如将参考图3更详细地论述,在一些实施例中,命令序列产生器202可包含在模式匹配电路系统204中或命令序列产生器202的功能可由模式匹配电路系统204的组件实施。
43.在一些实施例中,当模式匹配电路系统204检测到某些非法命令和/或命令序列时,模式匹配电路系统204可激活命令警报cmd_alrt信号和/或停止命令stpcmd信号,这些
信号可分别提供给警报引脚和命令解码器201。举例来说,可能需要阻挡某些非法命令或命令序列而不考虑已经接收到非法命令和/或命令序列多少次(例如,校准命令后紧接着存取命令)。
44.计数比较器206可从模式匹配电路系统204接收结果(res)。计数比较器206可包含比较器电路和/或其它逻辑电路。如果所述结果指示检测到非法命令和/或序列,那么计数比较器206可将已经接收到非法命令和/或命令序列的次数与阈值进行比较。在一些实施例中,计数比较器206可包含存储非法命令和/或命令序列的阈值的寄存器或其它存储媒体。在一些实例中,计数比较器206可另外包含用于存储保持跟踪已经接收到非法命令和/或命令序列的次数的计数值的寄存器或其它存储媒体。在一些实施例中,计数比较器206从模式匹配电路系统204接收阈值(tv)。如果已经接收到非法命令或命令序列的次数等于或大于阈值,那么计数比较器206可激活cmd_alrt信号和/或stpcmd信号。如果所述次数低于阈值,那么计数比较器206可更新计数值而非激活cmd_alrt和stpcmd。在一些实施例中,计数比较器206可将非法命令和/或序列和经更新计数值(cd)提供给命令数据寄存器208。
45.如果从模式匹配电路系统204接收的结果指示未检测到非法命令和/或序列,那么计数比较器206可以不更新任何计数值或激活任何信号。
46.在一些实施例中,从模式匹配电路系统204接收的结果仅包含模式匹配电路系统204检测到的非法命令或序列的指示。在这些实施例中,计数比较器206可包含存储已经接收到非法命令和/或序列的次数(例如,计数值)的计数器。计数器可每当所述结果指示已经接收到非法命令和/或序列时增加。在一些实施例中,所述结果可包含非法命令和/或序列的指示和计数值两者。也就是说,在这些实施例中,模式匹配电路系统204针对接收到的每一非法命令和/或序列存储和增加计数。
47.在一些实施例中,模式匹配电路系统204和/或计数比较器206可接收内部时钟信号lclk,所述内部时钟信号lclk可从内部时钟产生器(例如内部时钟产生器114)提供。lclk信号可用于测量时间间隔(例如,数个时钟循环或数毫秒)。在一些实施例中,可在所述时间间隔之后重置与接收到的非法命令和/或序列相关联的计数值(例如,设置为
‘0’
)。当仅在所述时间间隔内提供某些非法命令和/或序列次数的情况下阻挡所述非法命令和/或序列时,可使用计数值重置。举例来说,如果刷新命令的时间间隔足以阻止触发热失控状况,那么可以不阻挡所述刷新命令。
48.命令数据寄存器208可包含用于存储与非法命令和/或序列有关的数据(例如命令数据)的一或多个寄存器。在一些实施例中,命令数据可包含接收到的非法命令和/或序列以及从计数比较器206接收的其经更新计数值。在一些实施例中,命令数据可包含何时接收到非法命令和/或序列。在一些实施例中,命令数据寄存器208还可以存储与接收到的所有命令(不只是非法命令)有关的命令数据。举例来说,命令数据寄存器208可从命令序列产生器202接收命令cmd。在一些实施例中,命令数据寄存器208可为多用途寄存器(mpr)。如将参考图3更详细地论述,在一些实施例中,命令数据寄存器208可包含在模式匹配电路系统204中或命令数据寄存器208的功能可由模式匹配电路系统204的组件。
49.可通过mpr读取命令和/或命令数据寄存器读取命令从命令数据寄存器208读取命令数据。响应于读取命令,命令数据寄存器208可将命令数据cmd_data提供给io电路203。命令数据可允许用户、存储器的另一组件和/或与c/a跟踪电路系统300通信的装置分析存储
器的使用。举例来说,可分析命令数据以确定最常尝试哪些攻击。在另一实例中,可在存储器未能确定是否存在应提供给模式匹配电路系统204的额外非法命令或序列之后分析命令数据。在一些实施例中,每当激活stpcmd和/或cmd_alrt信号时,可提供命令数据。命令数据可用于提供关于已检测到、阻挡和/或修改了什么非法命令和/或命令序列的信息。
50.图3是根据本公开的实施例的模式匹配电路系统300的框图。在一些实施例中,模式匹配电路系统300可包含在模式匹配电路系统204中。模式匹配电路系统300可包含模式寄存器302、比较器304和结果寄存器306。
51.模式匹配电路系统300可接收数据,所述数据可提供给模式寄存器302和/或比较器304。所述数据可从存储器阵列(例如存储器阵列118)和/或io电路(例如io电路122和/或io电路203)提供。
52.模式寄存器302可存储将在模式匹配操作中使用的一或多个模式。在一些实施例中,模式寄存器302可包含多个寄存器308。每一寄存器308可存储一或多个模式。在一些实施例中,可使用多用途寄存器(mpr)实施模式寄存器302。在这些实施例中,可使用mpr写入命令将模式写入到模式寄存器302。在其它实施例中,可响应于模式寄存器写入命令而将模式写入到模式寄存器302。在一些实施例中,模式寄存器302还可以存储额外数据,例如与每一模式和/或每一模式的长度相关联的阈值。在一些实施例中,阈值tv和/或每一模式的长度lc可提供给与模式匹配电路系统300通信的其它组件(例如,命令序列产生器202)。在一些实施例中,所述模式中的一些或全部可硬译码(例如,硬接线、熔丝熔断)于模式寄存器302中。举例来说,对应于非法命令和/或非法命令序列的模式和/或与非法命令和/或命令序列有关的其它数据可硬译码于模式寄存器302中。
53.比较器304可接收来自模式寄存器302的模式pat以及命令和/或命令序列cs。在一些实施例中,可从命令序列产生器(例如命令序列产生器202)接收cs。比较器304可执行模式匹配操作以确定cs是否包含pat。在一些实施例中,举例来说,当模式寄存器302包含多于一个模式时,比较器304可执行用于多个模式pat的模式匹配操作。可循序地或并行地对多个模式执行模式匹配操作。基于模式匹配操作的确定,比较器304可产生结果res。在一些实施例中,res可包含pat存在于cs中的次数的计数值、在cs中发现多个模式的哪个pat,和/或其组合。举例来说,res可包含cs中发现的非法命令和/或序列和/或已经发现非法命令和/或序列的次数的指示。在一些实施例中,模式匹配电路系统300可响应于比较器304执行的模式匹配操作确定非法命令和/或序列存在于cs中而激活停止命令信号stpcmd和/或命令警报信号cmd_alrt。
54.在一些实施例中,比较器304可包含比较器逻辑,例如多个xor逻辑电路。逻辑电路的数目可至少部分地基于待匹配模式中的长度(例如,位数目)。在一些实施例中,比较器304可包含一或多个内容可寻址存储器(cam)单元。在一些实施例中,比较器304中可包含其它逻辑电路或其它电路组件(例如,运算放大器)。
55.在一些实施例中,比较器304可包含缓冲器312。缓冲器312可暂时存储接收到的一或多个命令直到已经获取所要序列长度为止。在这些实施例中,作为从命令序列产生器接收cs的替代或补充,比较器304可从命令解码器(例如,命令解码器106、命令解码器201)接收命令。因此,在一些实施例中,可省略命令序列产生器。
56.结果寄存器306可响应于模式匹配操作而存储比较器304输出的一或多个结果
res。在一些实施例中,结果寄存器306可包含多个寄存器310。每一寄存器310可存储一或多个结果。在一些实施例中,结果寄存器306可包含多用途寄存器(mpr)。在这些实施例中,可使用mpr读取命令读取结果寄存器306。在其它实施例中,可响应于结果寄存器读取命令从结果寄存器306读取结果。在一些实施例中,所述结果可提供给计数比较器,例如计数比较器206。任选地,在一些实施例中,作为提供给结果寄存器306的补充或替代,比较器304可将res提供给计数比较器。
57.在一些实施例中,结果寄存器306可将结果提供给io电路,例如io电路122。在一些实施例中,结果寄存器306可将结果提供给命令数据寄存器,例如命令数据寄存器208。在一些实施例中,结果寄存器306可存储与非法命令和/或序列或所有命令和/或序列有关的命令数据并将cmd_data提供给io电路。在这些实施例中,可省略命令数据寄存器。
58.图4是根据本公开的实施例的方法400的流程图。在一些实施例中,方法400中的一些或全部可由跟踪电路系统130、跟踪电路系统200和/或模式匹配电路系统300执行。
59.在框402处,可执行“接收命令序列”。所述命令序列可包含至少一个命令。在一些实施例中,可通过命令序列产生器(例如命令序列产生器202)接收命令序列。在一些实施例中,可通过模式匹配电路系统(例如模式匹配电路系统204和/或模式匹配电路系统300)的缓冲器(例如缓冲器312)接收命令序列。
60.在框404处,可执行“将所述命令序列与模式进行比较并产生结果”。所述比较可由模式匹配电路系统执行。在一些实施例中,所述比较可由模式匹配电路系统的比较器(例如比较器304)执行。在一些实施例中,所述模式可对应于包含至少一个非法命令的非法命令序列。
61.当所述结果指示命令序列包含所述模式时,在框406处,可执行“增加与命令序列相关联的计数”并且在框408处,可执行“将所述计数与阈值进行比较”。所述增加和比较可由计数比较器(如计数比较器206)执行。如果所述结果指示所述命令序列不包含所述模式,那么方法400可在框404之后结束且可以不执行框406和408。
62.当计数等于或大于阈值时,在框410处,可执行“激活信号”。在一些实施例中,所述信号可阻止执行命令序列。举例来说,所述信号可致使命令解码器(例如命令解码器106)阻止执行和/或修改命令序列。如果所述结果指示计数不等于或大于阈值,那么方法400可在框408之后结束且可以不执行框410。
63.任选地,在一些实施例中,在框412处,可执行“存储命令数据”。所述命令数据可与命令序列相关联。在一些实施例中,所述命令数据可存储于寄存器(例如命令数据寄存器208)中。在一些实施例中,即使不执行框406和408和/或框410仍可执行框412。在一些实施例中,可响应于寄存器读取命令而从寄存器提供命令数据。
64.图5是根据本公开的实施例的包含存储器装置508的计算系统500的框图。计算系统500可包含用户接口502、处理器504、存储器控制器506和存储器装置508。
65.用户接口502可包含从用户501接收输入和/或提供输出(例如,文本、图形、声音)给用户501的一或多个组件。实例组件包含但不限于键盘、鼠标、触摸屏、显示器(例如,液晶显示器)、扬声器和麦克风。处理器504可包含执行计算操作的一或多个处理单元。在一些实施例中,处理器504可为多核心和/或多线程处理器。处理器504可至少部分地基于用户接口502从用户501接收的输入而执行计算操作。
66.存储器控制器506可提供处理器504和存储器装置508之间的接口。存储器控制器506可从处理器504接收命令,例如对检索和/或存储来自由处理器504执行的计算操作的数据的请求。存储器控制器506可将来自处理器504的命令转译成存储器装置508可执行的存储器命令。存储器控制器506可以其中存储器装置508可存储数据(例如,存储于包含在存储器装置508中的存储器阵列中)的方式另外提供来自处理器504的数据。存储器控制器506可从存储器装置508接收处理器504请求的数据和/或从存储器装置508接收其它信息。存储器控制器506可将数据提供给处理器504。
67.在一些实施例中,存储器装置508可包含图1中示出的装置100。在一些实施例中,存储器装置508可包含图1中示出的跟踪电路系统130和/或图2中示出的跟踪电路系统200。跟踪电路系统可用于检测和/或阻止非法命令和/或序列(为简洁起见,非法个别命令和命令序列两者将被称作非法命令)的执行。
68.在图5所示的实例中,用户501可将非法命令提供给计算装置500。用户501可为与计算装置500交互的另一装置或人员。用户501可为不被准许存取计算系统500或其部分的用户。然而,用户501可为计算系统500的无意中致使发出非法命令的合法用户。举例来说,用户501可能错读存储器装置508规范并且在命令之间提供不足时延或编程致使发出太多命令的有缺陷环路。在不考虑用户501的意图的情况下,在一些实施例中,非法命令可提供给用户接口502。在其它实施例中,用户501可绕过用户接口502并且将非法命令直接提供给处理器504、存储器控制器506和/或存储器装置508。非法命令可提供给存储器装置508(例如,直接或经由用户接口502、处理器504和/或存储器控制器506)。
69.在一些实施例中,可通过存储器装置508的命令解码器(例如命令解码器106和/或命令解码器201)接收非法命令。所述命令可提供给存储器装置508的跟踪电路系统。可通过跟踪电路系统,例如通过模式匹配电路系统(例如模式匹配电路系统204和/或模式匹配电路系统300)和/或计数比较器(例如计数比较器206)来检测非法命令。响应于检测到非法命令,跟踪电路系统可阻止命令解码器致使非法命令被存储器装置508执行。在一些实施例中,命令解码器可修改非法命令。跟踪电路系统可另外发出命令警报信号(cmd_alert)。命令警报信号可包含指示非法命令被检测到、不被执行和/或经修改的数据。命令警报信号可提供给存储器控制器506。在一些实施例中,命令警报信号可从存储器控制器506提供到处理器504,在一些实施例中,所述处理器504可将命令警报信号提供给用户接口502。在一些实施例中,用户接口502可将命令警报信号提供给用户501。在一些实施例中,响应于命令警报信号,处理器504和/或用户接口502可被配置成约束对计算系统500的存取。举例来说,用户接口502可拒绝接受来自用户501的另外输入直到接收到口令或其它鉴认为止。在另一实例中,处理器504可在一段时间内和/或在从用户接口502接收到“解除警报(all clear)”信号之前中止执行计算操作。系统500可响应于命令警报信号而采取其它动作且本公开的实施例不限于前两个实例。
70.在一些实施例中,本文所公开的设备和方法可允许检测非法命令和/或命令序列。在一些实施例中,本文所公开的设备和方法可阻止执行非法命令和/或命令序列。在一些实施例中,本文所公开的设备和方法可允许修改非法命令和/或命令序列。在一些实施例中,本文所公开的设备和方法可允许通知接收到非法命令和/或命令序列和/或允许提供命令数据。在一些应用中,本文所公开的设备和方法可阻止归因于执行非法命令和/或命令序列
对存储器装置的损坏。虽然本文中提供的实例是指dram,但本公开的原理不限于特定存储器类型。
71.当然,应了解,本文中所描述的实例、实施例或过程中的任一个可与一或多个其它实例、实施例和/或过程组合或分离和/或在根据本发明系统、装置和方法的单独装置或装置部分当中执行。
72.最后,上文的论述意图仅为说明性的,且不应解释为将所附权利要求书限于任何特定实施例或实施例组。因此,虽然已特定详细地描述了本公开的各种实施例,但还应了解,可由所属领域的普通技术人员设计多个修改和替代实施例而不会脱离如所附权利要求书中所阐述的本公开的更广和预期精神和范围。因此,说明书和附图应以说明性方式看待,且并不旨在限制所附权利要求书的范围。
技术特征:
1.一种设备,其包括:命令序列产生器,其被配置成接收和存储命令并且提供包含至少一个命令的命令序列;模式匹配电路系统,其被配置成接收所述命令序列并且将所述命令序列与模式进行比较并产生结果,其中所述结果指示所述模式是否包含在所述命令序列中,其中所述模式对应于一或多个命令;和计数比较器,其被配置成接收所述结果,且当所述结果指示所述模式包含在所述命令序列中时,所述计数比较器被进一步配置成更新与包含所述模式的所述命令序列相关联的计数值并将所述计数值与阈值进行比较,其中所述计数比较器被进一步配置成基于所述计数值与所述阈值的比较,激活停止命令信号或命令警报信号中的至少一个。2.根据权利要求1所述的设备,其另外包括命令数据寄存器,所述命令数据寄存器被配置成存储与包含所述模式的所述命令序列相关联的命令数据。3.根据权利要求2所述的设备,其中所述命令数据寄存器被配置成响应于寄存器读取命令而提供所述命令数据。4.根据权利要求1所述的设备,其中所述计数比较器被配置成在一时间间隔之后重置所述计数值。5.根据权利要求4所述的设备,其中所述时间间隔至少部分地基于时钟信号。6.根据权利要求1所述的设备,其中所述模式匹配电路系统包含:模式寄存器,其被配置成存储所述模式;和比较器,其被配置成将所述命令序列与所述模式进行比较并且产生所述结果。7.根据权利要求6所述的设备,其中所述模式匹配电路系统另外包含被配置成存储所述结果的结果寄存器。8.根据权利要求6所述的设备,其中所述模式寄存器被进一步配置成存储所述阈值并将所述阈值提供给所述计数比较器。9.根据权利要求6所述的设备,其中所述模式寄存器被进一步配置成存储所述命令序列中的数个命令并将所述数个命令提供给所述命令序列产生器。10.根据权利要求1所述的设备,其中所述计数比较器包含比较器和计数器。11.一种设备,其包括:命令解码器,其被配置成解码从存储器控制器接收的命令;和电路系统,其被配置成接收所述命令并且分析所述命令以确定所述命令是否包含非法命令或非法命令序列中的至少一个,其中当所述电路系统确定所述命令包含所述非法命令或所述非法命令序列中的至少一个时,所述电路系统被进一步配置成将作用中停止命令信号提供给所述命令解码器,其中所述命令解码器被配置成响应于所述作用中停止命令信号而阻止执行所述非法命令或命令序列。12.根据权利要求11所述的存储器,其中当所述电路系统确定所述命令包含所述非法命令或所述非法命令序列中的至少一个时,所述电路系统被进一步配置成将活动命令警报信号提供给所述存储器的警报引脚。13.根据权利要求11所述的存储器,其另外包括io电路,其中所述电路系统被配置成将
与所述命令相关联的命令数据提供给所述io电路。14.根据权利要求13所述的存储器,其中所述命令数据响应于寄存器读取命令而提供给所述io电路。15.根据权利要求13所述的存储器,其中所述命令数据响应于确定所述命令包含所述非法命令或所述非法命令序列中的至少一个而提供给所述io电路。16.根据权利要求11所述的存储器,其另外包括内部时钟产生器,所述内部时钟产生器被配置成将时钟信号提供给所述跟踪电路系统,其中确定所述命令是否包含所述非法命令或所述非法命令序列中的所述至少一个至少部分地基于所述时钟信号。17.根据权利要求11所述的存储器,其中所述命令解码器被配置成通过修改所述非法命令或命令序列来阻止执行所述非法命令或命令序列。18.一种方法,其包括:从存储器控制器接收包含至少一个命令的命令序列;将所述命令序列与对应于包含至少一个非法命令的非法命令序列的模式进行比较;当结果指示所述命令序列包含所述模式时,增加与所述命令序列相关联的计数并将所述计数与阈值进行比较;和发出被配置成当所述计数等于或大于所述阈值时阻止执行所述命令序列的信号。19.根据权利要求18所述的方法,其另外包括将与所述命令序列相关联的命令数据存储于寄存器中。20.根据权利要求19所述的方法,其另外包括:接收读取寄存器命令;和响应于所述读取寄存器命令而提供所述命令数据。
技术总结
本公开的实施例涉及用于存储器中的命令/地址跟踪的设备和方法。跟踪电路系统可用于确定命令和/或命令序列是否包含非法命令和/或非法命令序列。如果所述命令和/或命令序列包含非法命令和/或非法命令序列,那么所述跟踪电路系统可激活阻止执行所述命令的信号和/或对所述检测到的非法命令和/或命令序列的通告。告。告。
