用于介接存储器上型式匹配的设备和方法与流程

阅读: 评论:0


用于介接存储器型式匹配的设备和方法


背景技术:



1.本公开大体上涉及存储器装置,包含易失性存储器,例如动态随机存取存储器(dram)。数据可存储于dram的个别存储器单元中。存储器单元可以行和列的阵列的形式组织。一行中的每一存储器单元可耦合到字线且一列中的每一存储器单元可耦合到位线。因此,每个存储器单元耦合到字线和位线。数据可提供到dram以及从dram检索以用于通过微处理器、图形处理单元或其它电路系统执行各种计算。
2.例如人工智能和大数据分析等不断增长的计算应用需要型式匹配操作。当前,待针对型式搜索的数据从长期数据存储装置提供到dram,且提供到其中执行型式匹配操作的处理器。


技术实现要素:



3.本文中所描述的示例性设备、系统和方法可允许由存储器执行型式匹配。存储器可通过多种方法从存储器阵列检索用于型式匹配的数据,其中一些方法可利用现有操作,所述现有操作需要激活包含所述数据的字线或检索所述数据。这可允许在一些实施例中由存储器以较少的命令和/或操作来执行型式匹配。这在一些应用中可缩短时间和/或减小存储器的功率消耗。
4.根据本公开的至少一个实例,一种设备可包含:第一存储器阵列,其被配置成从处理器写入数据以及将数据读取到处理器;比较器电路,其在包括所述第一存储器阵列的半导体裸片上,且被配置成接收待写入到存储器阵列或待从存储器阵列读取的数据,接收位串的型式,且执行型式匹配操作,所述型式匹配操作包括将所述数据与所述型式进行比较;以及命令解码器,其在包括所述第一存储器阵列和所述比较器电路的半导体裸片上,且被配置成提供用于型式匹配操作的命令。
5.根据本公开的至少一个实例,一种设备可包含含于半导体裸片上的存储器,所述存储器可包含:存储器阵列,其包含多个字线,其中所述存储器阵列被配置成将数据存储在所述多个字线中的至少一些中,其中所述数据包含多个候选数据串;以及型式匹配电路系统,其被配置成接收数据和型式,其中所述型式匹配电路系统被配置成响应于命令执行型式匹配操作,所述型式匹配操作包含将数据与型式进行比较,其中所述型式包含一或多个数据串。所述设备可进一步包含存储器控制器,其被配置成将控制信号提供到存储器以存储所述多个数据串中的候选数据串,使得整个候选数据串可通过存储器存取操作检索,且将所述多个候选数据串中的一或多个候选数据串从存储器阵列提供到型式匹配电路系统,其中如何提供数据可至少部分基于包含在型式中的数据串的数目。
6.根据本公开的至少一个实例,一种方法可包含:在存储器中提供将数据提供到存储器上的型式匹配电路系统的命令,其中所述命令致使响应于刷新操作或错误校正操作中的至少一个从存储器的存储器阵列提供数据;将型式提供到型式匹配电路系统;以及利用型式匹配电路系统对数据和型式执行型式匹配操作以生成结果。
附图说明
7.图1为根据本公开的实施例的半导体装置的框图。
8.图2为根据本公开的实施例的型式匹配电路系统的框图。
9.图3为根据本公开的实施例的系统的框图。
10.图4为根据本公开的实施例的方法的流程图。
11.图5为根据本公开的实施例的方法的流程图。
具体实施方式
12.某些实施例的以下描述在本质上仅为示例性的,并且绝不意图限制本公开的范围或者其应用或用途。在对本发明的系统和方法的实施例的以下详细描述中,参考附图,附图形成本文的一部分,并且借助于说明的方式展示其中可实践所描述的系统和方法的特定实施例。足够详细地描述这些实施例,以使所属领域的技术人员能够实践当前公开的系统和方法,且应理解,可利用其它实施例,且可作出结构和逻辑改变,而不脱离本公开的精神和范围。此外,为了清晰起见,当所属领域的技术人员显而易见某些特征时将不再论述这些特征的详细描述,以免使本公开的实施例的描述模糊不清。因此,以下详细描述不应在限制性意义上理解,且本公开的范围仅由所附权利要求书限定。
13.动态随机存取存储器(dram)通常用于存储用于执行由微处理器、图形处理单元、专用集成电路和/或其它电路系统(在本文中统称为处理电路系统)执行的计算的数据或从所述计算生成的数据。数据可从处理电路系统和/或长期数据存储装置(例如,非易失性存储器)传递到dram以及从所述dram传递到所述处理电路系统和/或所述长期数据存储装置。举例来说,可从硬盘驱动器检索数据且将其提供到dram。接着可按需要将数据从dram提供到处理电路系统以用于由处理电路系统执行的计算。在一些装置中,向以及从dram提供数据可由存储器控制器控制。存储器控制器可集成到处理电路系统和/或与dram和处理电路系统通信的单独组件中。
14.例如人工智能和大数据分析等不断增长的计算应用需要型式匹配操作。举例来说,可针对特定序列搜索基因组信息的大规模数据库。在另一实例中,可训练神经网络以搜索图像数据中的某些特征,从而识别图像中的对象。当前,待针对型式搜索的数据从长期数据存储装置提供到dram,且提供到其中执行型式匹配操作的处理电路系统。然而,在一些应用中,在组件之间传递数据可能减慢型式匹配计算。因此,期望减少组件之间传递的数据。
15.根据本公开的实施例,例如dram等存储器可包含用于执行型式匹配计算的电路系统,在本文中被称为型式匹配电路系统。在一些实施例中,型式匹配电路系统可包含比较器电路以及与比较器电路通信的一或多个寄存器。存储器可接收待分析的型式和数据以确定所述型式是否存在于所述数据中(例如,所述数据是否包含一或多个型式匹配)。型式匹配可由(例如,机载)存储器执行,且无需在存储器外部将待分析的数据提供到其它处理电路系统以用于型式匹配操作。事实上,在一些实施例中,仅型式匹配操作的结果可由存储器提供。在一些应用中,由存储器执行型式匹配操作且仅提供结果可至少由于较少数据在存储器与处理电路系统之间传递而缩短型式匹配操作所需的时间。在一些实施例中,由存储器执行型式匹配操作可减小存储器和/或包含存储器的系统的功率消耗。
16.根据本公开的实施例,可从存储器的存储器阵列检索用于型式匹配的数据。在一
些实施例中,可通过错误校正操作检索数据。可周期性地从存储器阵列拉取数据以用于错误校正。除拉取数据以用于错误校正外,还可拉取数据以供在型式匹配操作中使用。在一些实施例中,可通过刷新操作检索数据。可通过激活存储器阵列的字线周期性地刷新数据。除了在刷新操作期间激活存储器线外,还可在线被激活以用于刷新的同时执行内部读取操作以提供用于型式匹配操作的数据。在一些应用中,相比于发布额外读取命令或读取比较命令以检索用于型式匹配操作的数据,在错误校正和/或刷新操作期间检索数据可减少执行型式匹配操作所需的命令和/或操作的数目。
17.根据本公开的实施例,作为存储器阵列的补充或替代,可从io线检索用于型式匹配的数据。在一些实施例中,随每个写入命令提供到存储器的数据可在写入到存储器阵列之前或与此并行地与型式进行比较。在一些实施例中,数据可随写入比较命令提供到存储器。响应于写入比较命令,随命令提供的数据可在不写入到存储器阵列的情况下与型式进行比较。
18.图1为展示根据本公开的至少一个实施例的半导体装置100的整体配置的框图。在一些实例中,半导体装置100可为半导体存储器装置,例如集成在单个半导体芯片上的dram装置。
19.半导体装置100包含存储器阵列118。存储器阵列118展示为包含多个存储器组。在图1的实施例中,存储器阵列118展示为包含八个存储器组bank0-bank7。在其它实施例中,存储器阵列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)。
20.从位线bl或/bl读取的数据由感测放大器samp放大,并经由互补本地数据线(liot/b)提供到子放大器传送门120。子放大器传送门120可充当开关以在适合的liot/b与适合的共享主数据线(mio)之间形成导电路径。读取数据可经由由子放大器传送门120提供的导电路径从本地数据线liot/b传递到主数据线mio,且传递到读取放大器126,所述读取放大器将所述数据提供到io电路122。从io电路122接收到的写入数据从写入放大器126输出,且经由互补主数据线mio、子放大器传送门120和互补本地数据线liot/b提供到感测放大器samp,且写入在耦合到位线bl或/bl的存储器单元mc中。
21.半导体装置100可采用多个外部端子以用于从半导体装置100外部(例如,存储器外部)的装置(例如,图1中未展示的存储器控制器)发射和接收信息。外部端子可包含:命令和地址(c/a)端子,其耦合到命令和地址总线以接收命令和地址,及cs信号;时钟端子,其用以接收时钟ck和/ck;数据端子dq,其用以提供数据;警告引脚alert,其用于提供alrt信号;以及供电端子,其用以接收供应电位vdd1、vdd2、vss、vddq和vssq。
22.向时钟端子供应提供到输入电路112的外部时钟ck和/ck。外部时钟可为互补的。输入电路112基于ck和/ck时钟生成内部时钟iclk。iclk时钟被提供到命令解码器110且被提供到内部时钟生成器114。内部时钟生成器114基于iclk时钟提供各种内部时钟lclk。
lclk时钟可用于各种内部电路的定时操作。将内部数据时钟lclk提供到输入/输出电路122,以对包含在输入/输出电路122中的电路的操作进行定时,例如提供到数据接收器以对写入数据的接收进行定时。
23.可向c/a端子供应存储器地址。经由命令/地址输入电路102将供应到c/a端子的存储器地址提供到地址解码器104。地址解码器104接收地址,且将经解码行地址xadd供应到行解码器108并将经解码列地址yadd供应到列解码器110。地址解码器104还可供应经解码组地址badd,其可指示含有经解码行地址xadd和列地址yadd的存储器阵列118的组。可向c/a端子供应命令。命令的实例包含用于存取存储器的存取命令,例如用于执行读取操作的读取命令和用于执行写入操作的写入命令,以及其它命令和操作。存取命令可与用以指示待存取的存储器单元的一或多个行地址xadd、列地址yadd和组地址badd相关联。
24.命令可作为内部命令信号经由命令/地址输入电路102提供到命令解码器106。命令解码器106包含用以解码内部命令信号以生成用于执行操作的各种内部信号和命令的电路。举例来说,命令解码器106可提供用以选择字线wl的行命令信号和用以选择位线bl的列命令信号。在另一实例中,命令解码器106可提供提供到模式寄存器132的模式寄存器命令,以选择存储器操作条件,例如根据本公开的实施例的启用型式匹配操作的存储器条件。
25.装置100可接收作为读取命令的存取命令。当接收到激活命令,且随所述激活命令及时供应行和组地址,随后为读取命令,而随所述读取命令及时供应列地址时,从存储器阵列118中对应于行地址和列地址的存储器单元mc读取读取数据。读取命令由命令解码器106(例如,命令控制器)接收,所述命令解码器提供内部命令使得从存储器阵列118读取的数据被提供到读取放大器128。经由输入/输出电路122将读取数据输出到数据端子dq外部。
26.装置100可接收作为写入命令的存取命令。当接收到激活命令,且随所述激活命令及时供应行和组地址,随后为写入命令,而随所述写入命令及时供应列地址时,将供应到数据端子dq的写入数据写入到存储器阵列118中对应于行地址和列地址的存储器单元。写入命令由命令解码器106接收,所述命令解码器提供内部命令使得写入数据由输入/输出电路122中的数据接收器接收。还可将写入时钟提供到外部时钟端子,以用于对输入/输出电路122的数据接收器接收写入数据进行定时。写入数据经由输入/输出电路122供应到写入放大器126,且由写入放大器126供应到存储器阵列118以写入到存储器单元mc中。
27.装置100还可接收致使其实行刷新操作的命令。刷新信号ref可为脉冲信号,其在命令解码器106接收到指示自动刷新和/或其它刷新命令的信号时激活。在一些实施例中,刷新命令可从外部发布到存储器装置100。在一些实施例中,刷新命令可由装置100的组件周期性地生成。将刷新信号ref提供到刷新控制器116。提供到刷新控制器116的刷新命令可致使装置100对存储器组中的一或多个实行刷新操作。
28.刷新控制电路116将刷新行地址rxadd供应到行控制电路108,所述行控制电路可刷新由刷新行地址指示的一或多个字线wl。刷新控制电路116可基于刷新信号控制刷新操作的定时。响应于刷新信号的激活,刷新控制电路116可生成并提供一或多个刷新地址。
29.一种类型的刷新操作可为自动刷新操作。响应于自动刷新操作,装置100可刷新存储器阵列118的字线或字线的组,且接着可响应于下一自动刷新操作刷新存储器的下一字线或字线的组。刷新控制电路116可将自动刷新地址作为指示存储器阵列118中的字线或字线的组的刷新地址提供。刷新控制电路116可生成刷新地址的序列,使得随着时间的
过去,自动刷新操作可循环经过存储器阵列118的所有字线。
30.装置100可包含错误校正电路系统(ecc)134,用于检测和校正写入到存储器阵列118以及从存储器阵列118读取的数据中的错误。存储器阵列118可包含专用于存储奇偶校验信息的区,或装置100可包含用于存储奇偶校验信息的额外阵列(未图示)。ecc134可接收来自存储器阵列118的数据和所述奇偶校验信息。当ecc 134检测到数据中的错误时,ecc 134可校正所述错误且将经校正数据重写回到存储器阵列118。ecc 134可响应于由命令解码器106提供的读取和/或写入命令而检测和校正错误。ecc 134可独立于读取和/或写入命令周期性地从存储器阵列118检索数据以检测和校正存储器阵列中的错误。举例来说,命令解码器106可周期性地将错误校正信号ecs发布到ecc 134。类似于上文描述的自动刷新操作,ecc 134可经由一系列错误校正信号循环经过存储器阵列118的所有字线。
31.模式寄存器132可用于限定装置100的各种模式。模式寄存器132可保留所存储的信息,直到其重新编程、重置或装置100断电为止。可经由模式寄存器写入命令对模式寄存器132进行编程。模式寄存器132可包含用于存储与不同存储器操作或配置相关的信息的一或多个寄存器。举例来说,模式寄存器132可用于设定突发长度、突发类型、时延、频率设定点,启用可编程终端组件,启用某些存储器操作,以及其它操作。模式寄存器132还可被编程有可经读取以提供关于装置100的状态信息的信息。举例来说,模式寄存器132可用于提供就绪状态、校准状态,以及其它状态信息。所读取的信息可由装置100的电路编程。可经由模式寄存器读取命令读取模式寄存器132。读取模式寄存器132允许由装置100提供关于操作和配置的状态的信息。
32.根据本公开的实施例,模式寄存器132可用于指定其中型式匹配操作由型式匹配电路系统130执行的操作模式。举例来说,当特定值写入到模式寄存器132时,型式匹配操作可由型式匹配电路系统130使用提供到存储器的信号实施,且当不同特定值写入到模式寄存器132时,型式匹配操作可能不发生(例如,可停用型式匹配电路系统130)。在一些实施例中,可由型式匹配电路系统130响应于一或多个型式匹配命令执行型式匹配操作。当模式寄存器132经编程以启用型式匹配操作时,模式寄存器132可提供启用型式匹配电路系统130的控制信号en_pm,所述型式匹配电路系统可包含一或多个寄存器和一或多个比较器电路(图1中未展示)。当型式匹配电路系统130由来自模式寄存器132的控制信号en_pm启用时,型式匹配电路系统130可对由命令解码器106提供的一或多个型式匹配命令patmat作出响应。响应于所述一或多个型式匹配命令,型式匹配电路系统130可将型式存储在寄存器中,例如利用比较器电路对存储于存储器阵列118中的数据和/或从io电路122接收的数据执行型式匹配操作以确定所述型式是否存在于存储于存储器阵列118中的数据中,将型式匹配操作的结果写入到寄存器,基于型式匹配操作的结果更改存储器阵列118中的数据,将结果从寄存器提供到io电路122,和/或将警告信号alrt提供到警告引脚。
33.型式匹配电路系统130可形成装置100的组成部分。举例来说,型式匹配电路系统130可形成于与存储器阵列118相同的半导体裸片中。在一些实例中,型式匹配电路系统130可在与存储器阵列118相同的印刷电路板上。以此方式,型式匹配电路系统可比处理器或主机装置更接近存储器阵列。举例来说,型式匹配电路系统130和存储器阵列118之间的时延或存取时间可预期小于用于将数据从存储器阵列118传递到装置100的输出引脚或端口(例如,外部端子)(例如,如果数据被提供到处理器或主机)的时延或存取时间。
34.根据本公开的实施例,来自存储器阵列118的数据可响应于读取命令和/或内部读取命令提供到型式匹配电路系统130。“内部读取”意思是,数据从存储器阵列118检索,但数据保持在装置100上。也就是说,数据不例如经由数据端子24发射到存储器外部。举例来说,响应于读取比较命令,数据可从存储器阵列118提供到型式匹配电路系统130。
35.根据本公开的实施例,在刷新操作期间,除激活字线以刷新存储在其中的数据外,数据还可提供到型式匹配电路系统130以用于型式匹配操作。也就是说,在刷新操作期间,当激活字线以用于刷新时,数据可由装置100在内部读取。根据本公开的实施例,在错误校正操作期间,除提供到ecc 134外,数据还可提供到型式匹配电路系统130以用于型式匹配操作。在一些实施例中,用于型式匹配操作的数据可响应于刷新操作和错误校正操作两者提供到型式匹配电路系统130。提供用于型式匹配操作的数据的方式可由命令解码器106所提供的一或多个型式匹配命令限定。
36.在一些实施例中,用于型式匹配操作的数据或型式的源可由命令解码器106所提供的一或多个型式匹配命令限定。在一些实施例中,型式的源可经由io电路122、存储器阵列118和/或第二存储器阵列(未图示)来自数据端子24。在一些实施例中,可响应于写入比较命令经由数据端子24经由io电路122接收用于型式匹配操作的数据。在写入比较操作期间,数据从数据端子24接收且提供到型式匹配电路系统130以用于执行型式匹配操作,然而,数据不写入到存储器阵列118。
37.在一些实施例中,模式寄存器命令、型式匹配命令和/或由命令解码器106提供的其它命令可响应于从装置100外部的存储器控制器(图1中未示出,见图3)接收的命令(例如,控制信号)。在一些实施例中,数据可接收自及提供到存储器控制器。
38.向装置100的供电端子供应供电电位vdd1、vdd2和vss。供电电位vdd1、vdd2和vss被供应到内部电压生成器电路124。内部电压生成器电路124基于供应到供电端子的供电电位vdd1、vdd2和vss而生成各种内部电位vpp、vod、vary、vperi等。尽管各种内部电位和供电电位可用于装置100的不同电路中的任一个,但内部电位vpp主要用于行解码器108中,内部电位vod和vary主要用于存储器阵列118中包含的感测放大器samp中,且内部电位vperi用于许多外围电路块中。
39.还向供电端子供应供电电位vddq和vssq。供电电位vddq和vssq被供应到输入/输出电路122。在本公开的实施例中,供应到供电端子的供电电位vddq和vssq可以是与供应到供电端子的供电电位vdd和vss相同的电位。在本公开的另一实施例中,供应到供电端子的供电电位vddq和vssq可以是与供应到供电端子的供电电位vdd和vss不同的电位。供应到供电端子的供电电位vddq和vssq用于输入/输出电路122,使得由输入/输出电路122生成的供电噪声不会传播到其它电路块。
40.半导体装置100的组件(例如,命令解码器106、模式寄存器132、型式匹配电路系统130)可与半导体装置100的其它组件发射和/或接收信息,而无需接入外部端子(例如,c/a、dq)。在一些实施例中,组件可通过导电迹线彼此耦合以用于发射和/或接收信息(例如,patmat线、en_pm线、xadd线)。在不接入外部端子的情况下可与半导体装置100的其它组件通信的组件可被视为在半导体装置100上(例如,当半导体装置100为存储器装置时,“在存储器上”或“在存储器中”),且必须接入半导体装置100的外部端子以与半导体装置100的组件通信的其它组件或装置可被视为在半导体装置100外和/或外部(例如,当半导体装置100
为存储器装置时,“在存储器外”)。
41.图2为根据本公开的实施例的型式匹配电路系统200的框图。在一些实施例中,型式匹配电路系统200可包含于图1中所展示的型式匹配电路系统130中。型式匹配电路系统200可包含型式寄存器202、比较器204和结果寄存器206。
42.型式匹配电路系统200可由控制信号en_pm启用。在一些实施例中,控制信号可由模式寄存器(例如,模式寄存器132)提供。型式匹配电路系统200可接收一或多个型式匹配命令patmat。在一些实施例中,型式匹配命令patmat可由命令解码器(例如,命令解码器106)提供。型式匹配电路系统200可接收数据,所述数据可提供到型式寄存器202和/或比较器204。数据可从存储器阵列(例如,存储器阵列118)和/或io电路(例如,io电路122)提供。
43.型式寄存器202可存储待在型式匹配操作中使用的一或多个型式。在一些实施例中,型式寄存器202可包含多个寄存器208。每一寄存器208可存储一或多个型式。在一些实施例中,型式寄存器202可使用多用途寄存器(mpr)实施。在这些实施例中,可使用mpr写入命令将型式写入到型式寄存器202。在其它实施例中,可响应于型式寄存器写入命令将型式写入到型式寄存器202。
44.比较器204可接收来自型式寄存器202的型式pat和数据。比较器204可执行型式匹配操作以确定数据是否包含pat。在一些实施例中,举例来说,当型式寄存器202包含一个以上型式时,比较器204可针对多个型式pat执行型式匹配操作。可循序地或并行地对多个型式执行型式匹配操作。在一些实施例中,比较器204可经硬译码以执行单一类型的型式匹配操作。在其它实施例中,可(例如,经由型式匹配命令patmat)编程比较器204以执行特定类型的型式匹配操作。型式匹配操作的类型可确定所执行的比较的类型(例如,到pat的确切匹配,到在某一百分比的pat内的匹配,如果pat为向量,则到在向量的某一距离内的数据中的向量)。基于型式匹配操作的确定,比较器可生成结果res。在一些实施例中,res可包含pat存在于数据中的次数的计数值、pat在数据中的匹配的位置的存储器地址、旗标和/或其组合。
45.在一些实施例中,型式匹配操作的类型可限定基于型式匹配操作的结果而作为res和/或型式匹配电路系统200待采取的其它动作所生成的结果的类型。举例来说,在一些实施例中,型式匹配电路系统200可在数据与pat匹配的情况下删除存储器阵列的内容,或在数据与pat匹配的情况下将预定值写入到存储器阵列。
46.在一些实施例中,型式匹配命令patmat可限定从其检索用于型式匹配操作的数据的源(例如,存储器阵列和/或io线)。在一些实施例中,型式匹配命令patmat可限定检索数据的方式,例如经由读取操作、读取比较操作、错误校正操作、刷新操作和/或写入操作。举例来说,型式匹配命令patmat可致使型式匹配电路系统200从存储器阵列检索数据,且作为型式匹配操作的一部分搜索整个阵列以获得给定型式。在另一实例中,型式匹配命令patmat可致使型式匹配电路系统200对响应于读取操作从存储器阵列接收的数据和/或响应于写入操作从io线接收的数据执行型式匹配操作。在此实例中,存储器可利用现有命令和/或操作,这可缩短型式匹配操作所利用的时间。在一些实施例中,型式匹配命令patmat可限定在执行型式匹配操作之前经执行以检索数据的操作的数目。举例来说,patmat可指示将响应于刷新操作从存储器阵列接收数据。然而,刷新操作可一次仅刷新一条字线,但待匹配的型式可包含等效于四条字线的数据。因此,patmat可进一步指示型式匹配电路系统
200可在执行型式匹配操作之前等待四个刷新操作。在一些实施例中,型式匹配电路系统200和/或型式匹配电路系统200的比较器204可包含用于存储由先前操作接收的数据的缓冲器212。
47.在一些实施例中,比较器204可包含比较器逻辑,例如多个xor逻辑电路。逻辑电路的数目可至少部分地基于待匹配型式中的长度(例如,位数目)。在一些实施例中,比较器204可包含一或多个内容可寻址存储器(cam)单元。在一些实施例中,比较器204中可包含其它逻辑电路或其它电路组件(例如,运算放大器)。
48.结果寄存器206可存储由比较器204响应于型式匹配操作输出的一或多个结果res。在一些实施例中,结果寄存器206可包含多个寄存器210。每一寄存器210可存储一或多个结果。在一些实施例中,结果寄存器206可包含多用途寄存器(mpr)。在这些实施例中,可使用mpr读取命令读取结果寄存器206。在其它实施例中,可响应于结果寄存器读取命令而从结果寄存器206读取结果。在一些实施例中,可将结果提供为output。在一些实施例中,结果寄存器206可将output提供到io电路,例如io电路122。在一些实施例中,结果寄存器206可将output提供到存储器阵列。在一些实施例中,结果寄存器206可生成信号,例如警告信号,作为output。在一些实施例中,可将警告信号提供到警告引脚(参见图1)。
49.任选地,在一些实施例中,比较器204可作为结果寄存器206的补充或代替而提供output。在这些实施例中,可省略结果寄存器206。
50.图3为根据本公开的实施例的系统300的框图。系统300可包含计算装置302和用户接口304。计算装置302可包含计算机可读介质306、中央处理单元(cpu)316、存储器控制器318和存储器322。在一些实施例中,计算装置302可进一步包含专用集成电路(asic)320。在一些实施例中,计算装置302可包含asic 320而不是cpu 316。虽然图3中示出cpu,但通常可使用任何数目或种类的处理器。在一些实施例中,当计算装置302包含asic 320时,存储器控制器318可与asic 320集成。在其它实施例中,存储器控制器318可与asic 320分离。在一些实施例中,存储器322可包含装置100和/或型式匹配电路系统200的至少一部分。
51.用户接口304可将计算装置302的输出提供到用户且将来自用户的输入提供到计算装置302。在一些实施例中,用户接口304可包含用于提供输出的显示器(例如,lcd、crt)和/或扬声器。在一些实施例中,用户接口304可包含用于提供输入的用户控制件,例如键盘、触摸屏、键盘、鼠标和/或触控垫。
52.计算机可读介质306可使用包含非暂时性计算机可读介质的任何介质实施。实例包含存储器、只读存储器(ram)、只读存储器(rom)、易失性或非易失性存储器、硬盘驱动器、固态驱动器或其它存储装置。虽然图3中展示单个计算机可读介质306,但可存在多个介质,且本文中所描述的可执行指令可提供于一或多个计算机可读介质上。计算机可读介质可用于实施软件和/或固件组件。计算机可读介质306可由用于型式匹配应用308的可执行指令编码。可执行指令可例如由cpu 316执行。型式匹配应用308可包含用于实施神经网络的指令、用于神经网络的训练程序、大数据分析应用和/或其它应用。在一些实施例中,计算机可读介质306可由用于存储器应用编程接口(api)312的可执行指令编码。存储器api 312可允许用户(例如,另一过程)对存储器322的机载型式匹配能力的存取和控制。举例来说,存储器api 312可允许用户决定型式匹配应用308是否将利用存储器322的机载型式匹配能力或对cpu 316执行型式匹配操作。在另一实例中,存储器api 312可允许用户确定将由存储器
322执行的型式匹配操作的类型。在一些实施例中,存储器api 312可包含于型式匹配应用308内。在一些实施例中,型式匹配应用308自动确定是否可省略存储器322和存储器api 312的机载型式匹配能力以及如何利用所述机载型式匹配能力。在一些实施例中,计算机可读介质306可由用于实施驱动器314的指令编码。驱动器314可提供用于计算装置302的操作系统的指令以用于与计算装置302的一或多个组件(例如,cpu 316、存储器控制器318、asic 320和/或存储器322)交互。
53.cpu 316可执行在计算机可读介质306上编码的指令。举例来说,用于实施型式匹配应用308的指令。在一些实施例中,cpu 316可包含一或多个图形处理单元或可由一或多个图形处理单元代替。cpu 316可经由存储器控制器318从存储器322提供且接收数据。存储器控制器318可控制如何从存储器322输入和输出数据。存储器控制器318可将命令发布到存储器322,例如模式寄存器写入命令、读取命令、写入命令和/或型式匹配操作命令。
54.在一些实施例中,计算装置302可包含asic 320,作为cpu 316的补充或替代。当计算装置302包含asic 320和cpu 316两者时,asic 320可接收信号且将其提供到cpu 316和/或计算机可读介质306。当计算装置302不包含cpu 316时,asic 320可响应于由计算机可读介质306提供的指令而执行计算。虽然在一些实施例中,asic 320可具有比cpu 316更少的计算能力,但asic 320可比cpu 316更小和/或需要更少的功率。在例如移动装置等一些应用中,asic 320的大小和功率优势可胜过cpu 316的计算优势。虽然图3中展示asic 320,但可在其它实例中使用其它处理电路系统(例如,一或多个控制器、微控制器、现场可编程门阵列(fpga)电路)。
55.虽然可在存储器存取操作期间存取存储器阵列的单个单元,但通常通过包含多个单元的字线来存取存储器阵列。字线的长度(例如,字线中的存储器单元的数目)可基于存储器阵列的架构而变化。当将从存储器阵列读取数据或数据将写入到存储器阵列时,在存储器阵列中存取一或多个字线。然而,数据或数据的子单元可能不整齐地配合到字线中。也就是说,数据可仅需要字线的一部分、多个字线或其组合(例如,3.5条字线,或多个字线的部分)。因此,字线的一些部分可不使用(例如,可能不含有有效数据),和/或一些字线可包含来自数据的不同子单元的数据。本文中所描述的型式匹配电路系统检查型式的特定数据可能是有用的,然而,存储器322可能不能感知到数据存储在存储器单元之间何处。通常,存储器322不“了解”存储于存储器阵列中的数据。实际上,存储器控制器318跟踪数据和/或数据的子单元存储在何处。存储器控制器318还确定数据如何存储以及从存储器阵列检索。也就是说,存储器控制器318通常提供指定如何跨存储器阵列的字线划分数据和/或数据的子单元(例如,数据内的数据串)的命令。存储器控制器318还确定字线中的什么存储器单元包含有效数据。
56.根据本公开的实施例,存储器控制器318可确定待提供到存储器322以用于型式匹配操作的型式的长度或其它性质。至少部分基于所述型式,存储器控制器318可控制数据如何从存储器322的存储器阵列提供和/或在存储器322的io线上提供到存储器322的比较器电路。数据可提供到比较器电路,使得所提供的数据为型式的相同长度且对应于与型式相同的数据的单元或子单元。
57.通常,可能需要某一应用搜索存储在存储器322中的数据中的候选数据串的集合以查看可包含一或多个数据串的型式的存在。候选数据串可以特定方式基于由存储器控制
器318提供的命令合意地存储在存储器中以便于检索和本文中所描述的存储器上型式匹配。举例来说,在一些实例中,候选数据串可以此方式存储,使得不超过一条字线用于存取每一候选数据串。举例来说,型式匹配应用308可以是用于搜索大基因序列中的多个碱基对的型式的应用。大基因序列包含多个候选数据串(例如,碱基对)。对应于多个碱基对的型式的数据可提供到存储器322的型式寄存器,且对应于大基因序列的数据可存储于存储器322的存储器阵列中。为了便于由存储器322执行的型式匹配,存储器控制器318可控制对应于大基因序列的数据如何存储于存储器阵列中,使得对应于整数数目的碱基对的数据存储在每一字线中(例如,对应于碱基对的数据不跨多个字线散布)。作为替代或另外,存储器控制器318可控制数据如何从存储器阵列检索且提供到比较器电路,使得对应于与型式相同长度的碱基对的集合的有效数据用于每一型式匹配操作。
58.在一些实施例中,存储器控制器318可控制存储器322以按便于型式匹配的方式将数据存储在存储器阵列中,和/或通过将控制信号(例如,命令)提供到存储器322而将有效数据从存储器阵列或另一源提供到型式匹配电路系统(例如,型式匹配电路系统130和/或200)。举例来说,存储器控制器318可确保候选数据串相对于存储器中的字线以特定方式布置,使得可通过接入整数数目的字线来存取完整的数据串。候选数据串可按便于存取候选数据串以与特定型式比较的方式布置。在一些实施例中,控制信号可由命令地址输入电路和/或命令解码器(例如,命令解码器106)接收。
59.在一些实施例中,由存储器控制器318提供的控制信号可确定存储器322的型式匹配电路系统是否响应于刷新操作和/或错误校正操作从存储器阵列接收数据。
60.当控制信号指示可响应于刷新操作提供数据时,存储器控制器318可确定型式匹配电路系统从其接收用于型式匹配操作的数据的字线的数目。字线的数目可基于待匹配的型式的长度或型式的其它性质、数据,和/或存储器控制器318如何将数据存储在存储器阵列中。在一些实施例中,存储器控制器可确定在型式匹配电路系统执行型式匹配操作之前执行的刷新操作的数目。刷新操作的数目可基于随每一刷新操作刷新的字线的数目、待匹配的型式的长度或型式的其它性质、数据,和/或存储器控制器318如何将数据存储在存储器阵列中。
61.当控制信号指示可响应于错误校正操作提供数据时,存储器控制器318可确定型式匹配电路系统从其接收用于型式匹配操作的数据的字线的数目。字线的数目可基于待匹配的型式的长度或型式的其它性质、数据,和/或存储器控制器318如何将数据存储在存储器阵列中。在一些实施例中,存储器控制器可确定在型式匹配电路系统执行型式匹配操作之前执行的错误校正操作的数目。错误校正操作的数目可基于随每一错误校正操作刷新的字线的数目、待匹配的型式的长度或型式的其它性质、数据,和/或存储器控制器318如何将数据存储在存储器阵列中。
62.图4为根据本公开的实施例的方法400的流程图。在一些实施例中,方法400的至少一部分可由装置100、型式匹配电路系统200和/或系统300执行。
63.在框402处,可执行“在存储器中提供要将数据提供到型式匹配电路系统的命令”。在一些实施例中,可由命令解码器(例如,命令解码器106)提供命令。在一些实施例中,可响应于由存储器控制器(例如,存储器控制器318)提供的控制信号而提供命令。型式匹配电路系统可包含型式匹配电路系统130和/或型式匹配电路系统200。在一些实施例中,命令可致
使响应于刷新操作从存储器的存储器阵列提供数据。在一些实施例中,可至少部分由例如刷新控制器116等刷新控制器执行刷新操作。在一些实施例中,命令可致使响应于错误校正操作从存储器的存储器阵列提供数据。错误校正操作可由错误校正电路系统(例如ecc 134)执行。在一些实施例中,经校正数据可由ecc提供到型式匹配电路系统。也就是说,提供到型式匹配电路系统的数据可以是已在上面执行错误校正操作的数据。在一些实施例中,命令可致使响应于写入操作将数据从存储器的io电路提供到型式匹配电路系统。
64.在框404处,可执行“将型式提供到型式匹配电路系统”。型式可从存储器阵列(例如,存储器阵列118)、存储器的另一存储器阵列和/或io电路(例如,io电路122)提供。在一些实施例中,可在框402之前执行框404。在一些实施例中,框402和404可同时或部分地同时执行。在框406处,可执行“对数据和型式执行型式匹配操作以生成结果”。型式匹配操作可由型式匹配电路系统执行。
65.图5为根据本公开的实施例的方法500的流程图。在一些实施例中,方法500的至少一部分可由装置100、型式匹配电路系统200和/或系统300执行。
66.在框502处,可执行“将型式提供到存储器”。在一些实施例中,型式可存储在存储器的寄存器(例如,型式寄存器202)中。在框504处,可执行“将数据提供到存储器”。在一些实施例中,数据可存储于存储器阵列(例如,存储器阵列118)中。在一些实施例中,可在框502之前执行框504。在一些实施例中,可同时执行框504和502。
67.在框506处,可执行“将第一命令提供到存储器以确定如何存储数据”。在一些实施例中,第一命令可确定如何跨存储器阵列的多个字线存储数据。在一些实施例中,可在框502和/或框504之前或者与框502和/或框504同时执行框506。
68.在框508处,可执行“将第二命令提供到存储器以致使存储器对型式和数据执行型式匹配操作”。在一些实施例中,型式匹配操作可由存储器的型式匹配电路系统(例如,型式匹配电路系统130和/或200)执行。在框510处,可执行“接收型式匹配操作的结果”。在一些实施例中,数据、型式和命令可由存储器控制器(例如存储器控制器118)提供到存储器。在一些实施例中,存储器控制器可从存储器接收结果。
69.在一些实施例中,方法500可进一步包含框512,其中可执行“将第三命令提供到存储器以确定数据如何提供到比较器电路”。在一些实施例中,比较器电路可包含在型式匹配电路系统中,且可执行型式匹配操作。在一些实施例中,比较器电路可包含比较器电路204。在一些实施例中,框512可与框506和/或框508同时执行。
70.在一些实施例中,第三命令可致使响应于刷新操作提供数据。刷新操作可至少部分由刷新控制器116执行。作为刷新操作的一部分,来自经刷新字线的数据可提供到比较器电路(例如,放大器126)。在一些实施例中,第三命令可致使比较器电路在执行型式匹配操作之前从多个刷新操作接收数据。举例来说,当待匹配的型式的长度包含横跨比在单个刷新操作中刷新的字线更多字线的数据时。在一些实施例中,比较器电路可包含缓冲器以存储来自所述多个型式匹配操作的数据。
71.在一些实施例中,第三命令致使响应于错误校正操作提供数据。在一些实施例中,可至少部分由错误校正电路系统(例如ecc 134)执行错误校正操作。在一些实施例中,数据可经由放大器126提供到比较器电路,正如其在错误校正操作期间被提供到ecc。在一些实施例中,数据可在提供到比较器电路之前由ecc校正。也就是说,经校正数据可由ecc提供到
比较器电路。在一些实施例中,第三命令致使比较器电路在执行型式匹配操作之前以与针对刷新操作所论述类似的方式从多个错误校正操作接收数据。
72.本文中所描述的设备、系统和方法可允许由存储器执行型式匹配。存储器可通过多种方法从存储器阵列检索用于型式匹配的数据,其中一些方法可利用现有操作,所述现有操作需要激活包含所述数据的字线或检索所述数据。这可允许在一些实施例中由存储器以较少的命令和/或操作来执行型式匹配。这在一些应用中可缩短时间和/或减小存储器的功率消耗。
73.当然,应了解,本文中所描述的实例、实施例或过程中的任一个可与一或多个其它实例、实施例和/或过程组合或分开和/或在根据本发明系统、装置和方法的单独装置或装置部分当中执行。
74.最后,上文的论述意图仅为说明性的,且不应解释为将所附权利要求书限于任何特定实施例或实施例组。因此,尽管已经特别详细地描述了本公开的各种实施例,但还应了解,所属领域的一般技术人员可在不脱离如所附权利要求书中所阐述的本公开的更广及预期精神和范围的情况下设计多个修改和替代实施例。因此,说明书和图式应以说明性方式看待,且并不希望限制所附权利要求书的范围。

技术特征:


1.一种设备,其包括:第一存储器阵列,其被配置成从处理器写入数据及将数据读取到处理器;比较器电路,其在包括所述第一存储器阵列的半导体裸片上,且被配置成:接收待写入到所述存储器阵列或从所述存储器阵列读取的所述数据,接收位串的型式,且执行型式匹配操作,所述型式匹配操作包括将所述数据与所述型式进行比较;以及命令解码器,其在包括所述第一存储器阵列和所述比较器电路的所述半导体裸片上,且被配置成提供用于所述型式匹配操作的命令。2.根据权利要求1所述的设备,其进一步包括被配置成对所述第一存储器阵列执行刷新操作的刷新控制器,其中,至少部分地基于用于所述型式匹配操作的所述命令中的至少一个,所述第一存储器阵列被配置成在所述刷新操作期间将所述第一数据提供到所述比较器电路。3.根据权利要求1所述的设备,其进一步包括被配置成对所述第一数据执行错误校正操作的错误校正电路系统,其中,至少部分地基于用于所述型式匹配操作的所述命令中的至少一个,所述第一存储器阵列被配置成将所述第一数据提供到所述比较器电路。4.根据权利要求3所述的设备,其中所述第一存储器阵列被配置成在所述错误校正操作之后将所述第一数据提供到所述比较器电路。5.根据权利要求1所述的设备,其中用于所述型式匹配操作的所述命令中的至少一个为读取比较命令,其中所述第一数据通过读取操作从所述存储器阵列提供到所述比较器电路。6.根据权利要求1所述的设备,其进一步包括被配置成存储和提供第二数据的第二存储器阵列,其中所述第二数据包含由所述比较器电路接收的所述型式。7.根据权利要求1所述的设备,其进一步包括被配置成存储所述型式且将所述型式提供到所述比较器电路的第一寄存器。8.根据权利要求7所述的设备,其中所述型式从所述第一存储器阵列提供到所述第一寄存器。9.根据权利要求7所述的设备,其进一步包括io电路,其中所述型式从所述io电路提供到所述第一寄存器。10.一种设备,其包括:存储器,其包含在半导体裸片上,所述存储器包括:存储器阵列,其包含多个字线,其中所述存储器阵列被配置成将数据存储在所述多个字线中的至少一些中,其中所述数据包含多个候选数据串;以及型式匹配电路系统,其被配置成接收所述数据和型式,其中所述型式匹配电路系统被配置成执行型式匹配操作,所述型式匹配操作包含响应于命令将所述数据与所述型式进行比较,其中所述型式包含一或多个数据串;以及存储器控制器,其被配置成将控制信号提供到所述存储器以:存储所述多个数据串中的候选数据串,使得整个所述候选数据串可通过存储器存取操作检索;以及将所述多个候选数据串中的一或多个候选数据串从所述存储器阵列提供到所述型式
匹配电路系统,其中如何提供所述数据可至少部分基于包含在所述型式中的数据串的数目。11.根据权利要求10所述的设备,其中所述多个候选数据串中的所述候选数据串存储在所述存储器阵列的单个字线中。12.根据权利要求10所述的设备,其中由所述存储器控制器提供的所述控制信号确定所述型式匹配电路系统是否响应于刷新操作或错误校正操作中的至少一个从所述存储器阵列接收所述数据。13.根据权利要求10所述的设备,其中所述存储器进一步包括被配置成对所述多个字线执行刷新操作的刷新控制器,其中由所述存储器控制器提供的所述控制信号确定所述型式匹配电路系统是否至少部分响应于所述刷新操作接收所述数据。14.根据权利要求13所述的设备,其中所述存储器控制器确定所述型式匹配电路系统从其接收用于所述型式匹配操作的所述数据的所述多个字线中的字线的数目,其中所述字线的数目至少部分基于包含在所述型式中的数据串的数目。15.根据权利要求13所述的设备,其中所述存储器控制器确定在所述型式匹配电路系统执行所述型式匹配操作之前执行的刷新操作的数目。16.根据权利要求10所述的设备,其中所述存储器进一步包括被配置成对存储在所述多个字线中的所述数据执行错误校正操作的错误校正电路系统,其中由所述存储器控制器提供的所述控制信号确定所述型式匹配电路系统是否至少部分响应于所述错误校正操作接收所述数据。17.根据权利要求16所述的设备,其中所述存储器控制器确定所述型式匹配电路系统从其接收用于所述型式匹配操作的所述数据的所述多个字线中的字线的数目。18.根据权利要求16所述的设备,其中所述存储器控制器确定在所述型式匹配电路系统执行所述型式匹配操作之前执行的错误校正操作的数目。19.根据权利要求10所述的设备,其中所述存储器进一步包括命令解码器,所述命令解码器被配置成从所述存储器控制器接收所述控制信号且响应于由所述存储器控制器提供的所述控制信号将所述命令发布到所述型式匹配电路系统。20.根据权利要求19所述的设备,其中所述命令解码器进一步被配置成将刷新命令发布到刷新控制器或将错误校正命令发布到所述存储器的错误校正电路系统这两个操作中的至少一个。21.根据权利要求10所述的设备,其中所述存储器进一步包括模式寄存器,所述模式寄存器被配置成当第一值写入到所述模式寄存器时使得所述型式匹配电路系统能够执行所述型式匹配操作,其中所述第一值至少部分基于由所述存储器控制器提供的所述控制信号。22.根据权利要求10所述的设备,其中所述存储器进一步包括io电路,其中所述型式匹配电路系统被配置成将所述型式匹配操作的结果提供到所述io电路,且所述io电路被配置成将所述结果提供到所述存储器控制器。23.一种方法,其包括:在存储器中提供要将数据提供到所述存储器上的型式匹配电路系统的命令,其中所述命令致使响应于刷新操作或错误校正操作中的至少一个从所述存储器的存储器阵列提供
所述数据;将型式提供到所述型式匹配电路系统;以及利用所述型式匹配电路系统对所述数据和所述型式执行型式匹配操作以生成结果。24.根据权利要求23所述的方法,其中响应于所述错误校正操作提供到所述型式匹配电路系统的所述数据为已在上面执行所述错误校正操作的数据。25.根据权利要求23所述的方法,其中由所述存储器的命令解码器提供所述命令,且响应于由存储器控制器提供的控制信号提供所述命令。26.根据权利要求23所述的方法,其中由所述存储器的io电路提供所述型式。27.根据权利要求23所述的方法,其中由第二存储器阵列提供所述型式。

技术总结


本公开的实施例涉及能够在存储器装置内执行型式匹配操作的设备、系统、方法和存储器。可基于存储于寄存器中的型式对存储于所述存储器内的数据执行所述型式匹配操作。所述型式匹配操作的结果可由所述存储器提供。可通过读取操作、刷新操作、错误校正操作和/或型式匹配操作从存储器阵列检索用于所述型式匹配操作的所述数据。可作为所述存储器阵列的替代或补充从传入数据输入线检索所述数据。所述数据如何被存储或检索以用于型式匹配操作可由存储器控制器控制。器控制器控制。器控制器控制。


技术研发人员:

J

受保护的技术使用者:

美光科技公司

技术研发日:

2021.02.09

技术公布日:

2022/12/1

本文发布于:2022-12-09 20:13:43,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/30486.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:型式   存储器   所述   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图