CN115552525A - 用于存储器上型式匹配的设备和方法 - Google Patents
用于存储器上型式匹配的设备和方法 Download PDFInfo
- Publication number
- CN115552525A CN115552525A CN202180017132.3A CN202180017132A CN115552525A CN 115552525 A CN115552525 A CN 115552525A CN 202180017132 A CN202180017132 A CN 202180017132A CN 115552525 A CN115552525 A CN 115552525A
- Authority
- CN
- China
- Prior art keywords
- pattern
- register
- memory
- data
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Tests Of Electronic Circuits (AREA)
- Dram (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
Abstract
本公开的实施例涉及能够在存储器装置内执行型式匹配操作的设备、系统、方法和存储器。可基于存储于寄存器中的型式对存储于所述存储器内的数据执行所述型式匹配操作。所述型式匹配操作的结果可由所述存储器提供。在所述型式匹配操作期间,可不从所述存储器输出被执行所述型式匹配操作的所述数据。
Description
背景技术
本公开大体上涉及存储器装置,包含易失性存储器,例如动态随机存取存储器(DRAM)。数据可存储于DRAM的个别存储器单元中。存储器单元可以行和列的阵列形式组织。一行中的每一存储器单元可耦合到字线且一列中的每一存储器单元可耦合到位线。因此,每个存储器单元耦合到字线和位线。数据可提供到DRAM且从DRAM检索数据以用于通过微处理器、图形处理单元或其它电路执行各种计算。
例如人工智能和大数据分析等大量计算应用程序需要型式匹配操作。将针对型式搜索的数据从数据存储装置(例如,硬盘驱动器)提供到DRAM,且接着提供到执行型式匹配操作的处理器。
发明内容
本文中所描述的设备、系统和方法可允许由存储器执行型式匹配。这可允许在不在存储器外部将数据提供到其它处理电路的情况下分析所述数据。在一些实施例中,仅型式匹配操作的结果可由存储器提供。在一些应用中,这可减少用于型式匹配操作的时间。举例来说,并非将来自存储器阵列的多种数据发送到可将数据与特定型式进行比较的处理器(例如,CPU),存储器装置可具备型式匹配能力。处理器接着可请求型式匹配操作模式,且从存储器装置接收关于存储器阵列中存在或不存在特定型式的信息。
根据本公开的至少一个实例,一种设备可包含:存储器阵列,其经配置以将数据存储于半导体裸片上;第一寄存器,其在所述半导体裸片上且经配置以存储位串的型式;及比较器电路,其在所述半导体裸片上或位于所述存储器阵列下方,且经配置以:接收所述数据和所述位串的所述型式的指示;确定所述数据是否包含所述位串的所述型式;且基于确定所述数据是否包含所述位串的所述型式而产生结果。
根据本公开的至少一个实例,一种方法可包含:将第一型式存储于半导体裸片上的第一寄存器中,其中所述第一型式包含位串;在所述半导体裸片上的比较器电路处接收所述第一型式和数据的指示;利用所述比较器电路确定所述数据是否包含所述第一型式;基于所述确定而产生第一结果;及将所述第一结果的指示存储于所述存储器上的第二寄存器中。
根据本公开的至少一个实例,一种存储器可包含:存储器单元;多用途寄存器,其经配置以从所述存储器的外部端子接收指示型式的数据;比较器电路,其经配置以将所述存储器单元的内容与指示所述型式的所述数据进行比较并且提供型式指示;及结果寄存器,其经配置以存储所述型式指示且使所述型式指示可由所述存储器的另一外部端子存取。
附图说明
图1为根据本公开的实施例的半导体装置的框图。
图2为根据本公开的实施例的型式匹配电路的框图。
图3为根据本公开的实施例的系统的框图。
图4为根据本公开的实施例的方法的流程图。
图5为根据本公开的实施例的方法的流程图。
具体实施方式
某些实施例的以下描述在本质上仅为示例性的,并且绝不意图限制本公开的范围或其应用或用途。在对本发明的系统和方法的实施例的以下详细描述中,参考形成本文的一部分的附图,且借助于说明方式展示其中可实践所描述的系统和方法的特定实施例。足够详细地描述这些实施例,以使所属领域的技术人员能够实践本发明所公开的系统和方法,且应理解,可利用其它实施例,且在不脱离本公开的精神和范围的情况下可进行结构和逻辑改变。此外,为了清晰起见,当所属领域的技术人员清楚某些特征时将不再论述其详细描述,以免混淆本公开的实施例的描述。因此,以下详细描述不应以限制性的意义来理解,且本公开的范围仅由所附权利要求书来限定。
动态随机存取存储器(DRAM)通常用于存储用于执行由微处理器、图形处理单元、专用集成电路和/或其它电路(在本文中统称为处理电路)执行的计算的数据或从所述计算产生的数据。数据可从处理电路和/或长期数据存储装置(例如,非易失性存储器)传送到DRAM和从所述DRAM传送到所述处理电路和/或所述长期数据存储装置。举例来说,可从硬盘驱动器检索数据且将其提供到DRAM。接着可按需要将数据从DRAM提供到处理电路以用于由处理电路执行的计算。在一些装置中,向和从DRAM提供数据可由存储器控制器控制。存储器控制器可集成到处理电路和/或与DRAM和处理电路通信的单独组件中。
例如人工智能和大数据分析等大量计算应用程序需要型式匹配操作。举例来说,可针对特定序列搜索基因组信息的大规模数据库。在另一实例中,可训练神经网络以搜索图像数据中的某些特征,从而识别图像中的对象。当前,将针对型式搜索的数据从长期数据存储装置提供到DRAM,且提供到其中执行型式匹配操作的处理电路。然而,在一些应用中,在组件之间传送数据可减缓型式匹配计算。因此,期望减少在组件之间传送的数据。
根据本公开的实施例,例如DRAM的存储器可包含用于执行型式匹配计算的电路,在本文中被称为型式匹配电路。在一些实施例中,型式匹配电路可包含比较器电路和与比较器电路通信的一或多个寄存器。存储器可接收待分析的型式和数据以确定所述型式是否存在于所述数据中(例如,所述数据是否包含一或多个型式匹配)。型式匹配可由(例如,机载)存储器执行,且无需在存储器外部将待分析的数据提供到用于型式匹配操作的其它处理电路。确切地说,在一些实施例中,仅型式匹配操作的结果可由存储器提供。在一些应用中,通过存储器执行型式匹配操作且仅提供结果可至少由于较少数据在存储器与处理电路之间传送而减少型式匹配操作所需的时间。
图1为展示根据本公开的至少一个实施例的半导体装置100的整体配置的框图。在一些实例中,半导体装置100可为半导体存储器装置,例如集成在单个半导体芯片上的DRAM装置。
半导体装置100包含存储器阵列118。存储器阵列118展示为包含多个存储器组。在图1的实施例中,存储器阵列118展示为包含八个存储器组BANK0-BANK7。在其它实施例中,存储器阵列118中可包含更多或更少的组。每一存储器组包含多个字线WL、多个位线BL和/BL以及布置在所述多个字线WL与所述多个位线BL和/BL的交叉点处的多个存储器单元MC。字线WL的选择由行解码器108执行,并且位线BL和/BL的选择由列解码器110执行。所选择的字线WL可由字线驱动器WD驱动到所要的电荷。在图1的实施例中,行解码器108包含用于每一存储器组的相应行解码器,且列解码器110包含用于每一存储器组的相应列解码器。位线BL和/BL耦合到相应感测放大器(SAMP)。
从位线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中。
半导体装置100可采用多个外部端子以用于从半导体装置100外部(例如,存储器外部)的装置(例如,图1中未展示的存储器控制器)传输和接收信息。外部端子可包含:命令和地址(C/A)端子,其耦合到命令和地址总线以接收命令和地址;及CS信号;时钟端子,其用以接收时钟CK和/CK;数据端子DQ,其用以提供数据;及警告引脚ALERT,其用于提供Alrt信号;及电源端子,其用以接收电源电势VDD1、VDD2、VSS、VDDQ和VSSQ。
时钟端子供应有提供到输入电路112的外部时钟CK和/CK。外部时钟可为互补的。输入电路112基于CK和/CK时钟产生内部时钟ICLK。将ICLK时钟提供到命令解码器110且提供到内部时钟产生器114。内部时钟产生器114基于ICLK时钟提供各种内部时钟LCLK。LCLK时钟可用于各种内部电路的定时操作。将内部数据时钟LCLK提供到输入/输出电路122,以对包含于输入/输出电路122中的电路的操作进行定时,例如提供到数据接收器以对写入数据的接收进行定时。
C/A端子可供应有存储器地址。经由命令/地址输入电路102将供应到C/A端子的存储器地址提供到地址解码器104。地址解码器104接收地址且将经解码的行地址XADD供应到行解码器108,且将经解码的列地址YADD供应到列解码器110。地址解码器104还可供应经解码组地址BADD,其可指示含有经解码行地址XADD和列地址YADD的存储器阵列118的组。C/A端子可供应有命令。命令的实例包含用于存取存储器的存取命令,例如用于执行读取操作的读取命令和用于执行写入操作的写入命令,以及其它命令和操作。存取命令可与用以指示待存取的存储器单元的一或多个行地址XADD、列地址YADD和组地址BADD相关联。
命令可作为内部命令信号经由命令/地址输入电路102提供到命令解码器106。命令解码器106包含对内部命令信号进行解码以产生各种内部信号和用于执行操作的命令的电路。举例来说,命令解码器106可提供用以选择字线WL的行命令信号和用以选择位线BL的列命令信号。在另一实例中,命令解码器106可提供提供到模式寄存器132的模式寄存器命令,以选择存储器操作条件,例如根据本公开的实施例的启用型式匹配操作的存储器条件。
装置100可接收作为读取命令的存取命令。当接收到激活命令,且行和组地址及时供应有激活命令,随后为读取命令,而列地址及时供应有读取命令时,读取数据从存储器阵列118中对应于行地址和列地址的存储器单元MC读取。通过命令解码器106(例如,命令控制器)接收读取命令,所述命令解码器提供内部命令,使得将读取数据从存储器阵列118提供到读取放大器128。读取数据经由输入/输出电路122从数据端子DQ输出到外部。
装置100可接收作为写入命令的存取命令。当接收到激活命令,且行和组地址及时供应有激活命令,随后为写入命令,而列地址及时供应有写入命令时,将供应到数据端子DQ的写入数据写入到存储器阵列118中对应于行地址和列地址的存储器单元。写入命令由命令解码器106接收,所述命令解码器提供内部命令以使得写入数据由输入/输出电路122中的数据接收器接收。还可将写入时钟提供到外部时钟端子,以用于通过输入/输出电路122的数据接收器对写入数据的接收进行定时。写入数据经由输入/输出电路122供应到写入放大器126,且由写入放大器126供应到存储器阵列118以写入到存储器单元MC中。
装置100还可接收使其进行刷新操作的命令。刷新信号可为脉冲信号,其在命令解码器106接收到指示自动刷新和/或其它刷新命令的信号时激活。在一些实施例中,刷新命令可从外部发布到存储器装置100。在一些实施例中,刷新命令可通过装置100的组件周期性地产生。将刷新信号提供到刷新控制器116。提供到刷新控制器116的刷新命令可使得装置100对存储器组中的一或多者进行刷新操作。
模式寄存器132可用于限定装置100的各种模式。模式寄存器132可保留所存储的信息,直到其重新编程、重置或装置100断电为止。可经由模式寄存器写入命令写入模式寄存器132。模式寄存器132可包含用于存储与不同存储器操作或配置相关的信息的一或多个寄存器。举例来说,模式寄存器132可用于设置突发长度、突发类型、等待时间、频率设定点,启用可编程终端组件,启用某些存储器操作,以及其它操作。模式寄存器132还可被编程有可经读取以提供关于装置100的状态信息的信息。举例来说,模式寄存器132可用于提供就绪状态、校准状态,以及其它状态信息。所读取的信息可通过装置100的电路编程。可经由模式寄存器读取命令读取模式寄存器132。读取模式寄存器132允许关于操作和配置的状态的信息由装置100提供。
根据本公开的实施例,模式寄存器132可用于指定其中型式匹配操作由型式匹配电路130执行的操作模式。举例来说,当特定值写入到模式寄存器132时,型式匹配操作可由型式匹配电路130使用提供到存储器的信号实施,且当不同特定值写入到模式寄存器132时,型式匹配操作可能不发生(例如,可停用型式匹配电路130)。在一些实施例中,型式匹配操作可响应于一或多个型式匹配命令而由型式匹配电路130执行,例如由比较器电路执行。当模式寄存器132经编程以启用型式匹配操作时,模式寄存器132可提供启用型式匹配电路130的控制信号EN_PM,其可包含一或多个寄存器和一或多个比较器电路(图1中未展示)。当型式匹配电路130由来自模式寄存器132的控制信号EN_PM启用时,型式匹配电路130可对由命令解码器106提供的一或多个型式匹配命令PatMat作出响应。如果停用,那么可忽略型式匹配命令PatMat。响应于所述一或多个型式匹配命令,型式匹配电路130可将型式存储于寄存器中,对存储于存储器阵列118中的数据执行型式匹配操作以确定型式是否存在于存储于存储器阵列118中的数据中,将型式匹配操作的结果写入到寄存器,基于型式匹配操作的结果更改阵列118中的数据,将来自寄存器的结果提供到IO电路122,和/或将警告信号Alrt提供到警告引脚。
型式匹配电路130可形成装置100的组成部分。举例来说,型式匹配电路130可形成于与存储器阵列118相同的半导体裸片中。在一些实例中,型式匹配电路130可在与存储器阵列118相同的印刷电路板上。以此方式,型式匹配电路可比处理器或主机装置更接近存储器阵列。举例来说,型式匹配电路130与存储器阵列118之间的等待时间或存取时间可预期小于用于将数据从存储器阵列118传递到装置100的输出引脚或端口的等待时间或存取时间,例如在将数据提供到处理器或主机的情况下。
在一些实施例中,由命令解码器106提供的模式寄存器命令、型式匹配命令和/或其它命令可响应于从装置100外部的存储器控制器(图1中未展示,参见图3)接收到的命令。
装置100的电源端子供应有电源电势VDD1、VDD2和VSS。电源电势VDD1、VDD2和VSS被供应到内部电压产生器电路124。内部电压产生器电路124基于供应到电源端子的电源电势VDD1、VDD2和VSS而产生各种内部电势VPP、VOD、VARY、VPERI等。尽管各种内部电势和电源电势可用于装置100的不同电路中的任一者,但内部电势VPP主要用于行解码器108中,内部电势VOD和VARY主要用于存储器阵列118中包含的感测放大器SAMP中,且内部电势VPERI用于许多外围电路块中。
电源端子还供应有电源电势VDDQ和VSSQ。电源电势VDDQ和VSSQ被供应到输入/输出电路122。在本公开的实施例中,供应到电源端子的电源电势VDDQ和VSSQ可以是与供应到电源端子的电源电势VDD和VSS相同的电势。在本公开的另一实施例中,供应到电源端子的电源电势VDDQ和VSSQ可以是与供应到电源端子的电源电势VDD和VSS不同的电势。供应到电源端子的电源电势VDDQ和VSSQ用于输入/输出电路122,使得由输入/输出电路122产生的电源噪声不会传播到其它电路块。
半导体装置100的组件(例如,命令解码器106、模式寄存器132、型式匹配电路130)可与半导体装置100的其它组件传输和/或接收信息,而无需存取外部端子(例如,C/A、DQ)。在一些实施例中,组件可通过导电迹线彼此耦合以用于传输和/或接收信息(例如,PatMat线、EN_PM线、XADD线)。在不存取外部端子的情况下可与半导体装置100的其它组件通信的组件可被视为在半导体装置100上(例如,当半导体装置100为存储器装置时,“在存储器上”或“在存储器中”),且必须存取半导体装置100的外部端子以与半导体装置100的组件通信的其它组件或装置可被视为在半导体装置100外和/或外部(例如,当半导体装置100为存储器装置时,“在存储器外”)。
图2为根据本公开的实施例的型式匹配电路200的框图。在一些实施例中,型式匹配电路200可包含于图1中所展示的型式匹配电路130中。型式匹配电路200可包含型式寄存器202、比较器204和结果寄存器206。在一些实施例中,型式匹配电路200可包含于包含存储器阵列的半导体裸片上。在一些实施例中,型式匹配电路200的组件中的一些或全部(例如,比较器204)可包含在存储器阵列之下。
型式匹配电路200可由控制信号EN_PM启用。在一些实施例中,控制信号可由模式寄存器(例如,模式寄存器132)提供。型式匹配电路200可接收一或多个型式匹配命令PatMat。在一些实施例中,型式匹配命令PatMat可由命令解码器(例如,命令解码器106)提供。型式匹配电路200可接收数据,所述数据可提供到型式寄存器202和/或比较器204。数据可由存储器阵列(例如,存储器阵列118)和/或IO电路(例如,IO电路122)提供。
型式寄存器202可存储待在型式匹配操作中使用的一或多个型式。在一些实施例中,型式可包含一或多个位(例如,位串)。在一些实施例中,型式寄存器202可包含多个寄存器208。每一寄存器208可存储一或多个型式。在一些实施例中,型式寄存器202可使用多用途寄存器(MPR)实施。在这些实施例中,可使用MPR写入命令将型式写入到型式寄存器202。在其它实施例中,可响应于型式寄存器写入命令将型式写入到型式寄存器202。
比较器204可从型式寄存器202接收型式Pat且可接收数据(在一些实施例中,其可来自存储器阵列)。比较器204可执行型式匹配操作以确定所述数据是否包含Pat。在一些实施例中,例如当型式寄存器202包含多于一个型式时,比较器204可执行多个型式Pat的型式匹配操作。可循序地或并行地对多个型式执行型式匹配操作。在一些实施例中,比较器204可经硬译码以执行单一类型的型式匹配操作。在其它实施例中,可(例如,经由型式匹配命令PatMat)编程比较器204以执行特定类型的型式匹配操作。型式匹配操作的类型可决定所执行的比较的类型(例如,发现Pat的确切匹配,发现在某一百分比的Pat内的匹配,如果Pat为向量,那么发现在向量的某一距离内的数据中的向量)。基于型式匹配操作的确定,比较器可产生结果Res。在一些实施例中,Res可包含Pat存在于数据中的次数的计数值、Pat在数据中的匹配的位置的存储器地址、旗标和/或其组合。结果Res还可被称为型式指示。
在一些实施例中,型式匹配操作的类型可限定基于型式匹配操作的结果而作为型式匹配电路200将采取的Res和/或其它动作所产生的结果的类型。举例来说,在一些实施例中,型式匹配电路200可删除存储器阵列的内容,其中数据匹配Pat或将预定值写入到存储器阵列,其中数据匹配Pat。
在一些实施例中,比较器204可包含比较器逻辑,例如多个XOR逻辑电路。逻辑电路的数目可至少部分地基于待匹配型式中的长度(例如,位数)。在一些实施例中,比较器204可包含一或多个内容可寻址存储器(CAM)单元。在一些实施例中,比较器204中可包含其它逻辑电路或其它电路组件(例如,运算放大器)。
结果寄存器206可响应于型式匹配操作而存储由比较器204输出的一或多个结果Res(或结果的指示)。在一些实施例中,结果寄存器206可包含多个寄存器210。每一寄存器210可存储一或多个结果。在一些实施例中,结果寄存器206可包含多用途寄存器(MPR)。在这些实施例中,可使用MPR读取命令读取结果寄存器206。在其它实施例中,可响应于结果寄存器读取命令而从结果寄存器206读取结果。在一些实施例中,可将结果提供为输出。在一些实施例中,结果寄存器206可将输出提供到IO电路,例如IO电路122。在一些实施例中,结果寄存器206可将输出提供到存储器阵列。在一些实施例中,结果寄存器206可产生信号,例如警告信号作为输出。在一些实施例中,可将警告信号提供到警告引脚(参见图1)。
任选地,在一些实施例中,比较器204可提供除结果寄存器206之外或代替所述结果寄存器的输出。在这些实施例中,可省略结果寄存器206。
图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的至少一部分。
用户接口304可将计算装置302的输出提供到用户且将来自用户的输入提供到计算装置302。在一些实施例中,用户接口304可包含用于提供输出的显示器(例如,LCD、CRT)和/或扬声器。在一些实施例中,用户接口304可包含用于提供输入的用户控制件,例如键盘、触摸屏、键盘、鼠标和/或轨道垫。
计算机可读媒体306可使用包含非暂时性计算机可读媒体的任何媒体实施。实例包含存储器、只读存储器(RAM)、只读存储器(ROM)、易失性或非易失性存储器、硬盘驱动器、固态驱动器或其它存储装置。虽然图3中展示单一计算机可读媒体306,但可存在多个媒体且本文中所描述的可执行指令可提供于一或多个计算机可读媒体上。计算机可读媒体可用于实施软件和/或固件组件。计算机可读媒体306可由用于型式匹配应用程序308的可执行指令编码。可执行指令可例如由CPU 316执行。型式匹配应用程序308可包含用于实施神经网络的指令、用于神经网络的训练程序、大数据分析应用程序和/或其它应用程序。在一些实施例中,计算机可读媒体306可由用于存储器应用程序编程接口(API)312的可执行指令编码。存储器API 312可允许用户(例如,另一过程)对存储器322的机载型式匹配能力的存取和控制。举例来说,存储器API 312可允许用户决定型式匹配应用程序308是否将利用存储器322的机载型式匹配能力或对CPU 316执行型式匹配操作。在另一实例中,存储器API312可允许用户确定将由存储器322执行的型式匹配操作的类型。在一些实施例中,存储器API 312可包含于型式匹配应用程序308内。在一些实施例中,型式匹配应用程序308自动确定是否可省略存储器322和存储器API 312的机载型式匹配能力和如何利用所述机载型式匹配能力。在一些实施例中,计算机可读媒体306可由用于实施驱动器314的指令编码。驱动器314可提供用于计算装置302的操作系统的指令以用于与计算装置302的一或多个组件(例如,CPU 316、存储器控制器318、ASIC 320和/或存储器322)交互。
CPU 316可执行在计算机可读媒体306上编码的指令。举例来说,用以实施型式匹配应用程序308的指令。在一些实施例中,CPU 316可包含一或多个图形处理单元或可由一或多个图形处理单元代替。CPU 316可经由存储器控制器318从存储器322提供且接收数据。存储器控制器318可控制如何从存储器322输入和输出数据。存储器控制器318可将命令发布到存储器322,例如模式寄存器写入命令、读取命令、写入命令和/或型式匹配操作命令。
在一些实施例中,计算装置302可包含除CPU 316之外或代替所述CPU的ASIC320。当计算装置302包含ASIC 320和CPU 316两者时,ASIC 320可接收信号且将其提供到CPU316和/或计算机可读媒体306。当计算装置302不包含CPU 316时,ASIC 320可响应于由非暂时性计算机可读媒体306提供的指令而执行计算。虽然在一些实施例中,ASIC 320可具有比CPU 316更少的计算能力,但ASIC 320可比CPU 316更小和/或需要更少的电力。在例如移动装置等一些应用中,ASIC 320的大小和电力优点可胜过CPU316的计算优点。虽然图3中展示ASIC 320,但可在其它实例中使用其它处理电路(例如,一或多个控制器、微控制器、现场可编程门阵列(FPGA)电路)。
图4为根据本公开的实施例的方法400的流程图。在一些实施例中,方法400可至少部分由装置100、型式匹配电路200和/或系统300执行。
在框402处,可执行“将第一型式存储于第一寄存器中”。在一些实施例中,可将型式存储于型式寄存器202中。在框404处,可执行“在比较器电路处接收第一型式和数据”。在一些实施例中,比较器204可接收第一型式和数据。在一些实施例中,从存储器阵列(例如,存储器阵列118)接收数据。在框406处,可执行“对型式和数据执行型式匹配操作”。在一些实施例中,型式匹配操作可由比较器执行。型式匹配操作可确定数据中是否存在第一型式。在框408处,可执行“基于型式匹配操作而产生第一结果”。在一些实施例中,结果可由比较器电路(例如,比较器204)产生。
在框410处,可执行“将第一结果存储于第二寄存器中”。在一些实施例中,结果可存储于结果寄存器206中。在一些实施例中,结果包含第一型式存在于数据中的次数的计数值、第一型式在数据中的匹配的位置的存储器地址、旗标,其中如果第一型式存在于数据中,那么所述旗标具有第一值,且如果第一型式不存在于数据中,那么所述旗标具有第二值,和/或其组合。
在一些实施例中,方法400可进一步包含框412,其中可执行“接收寄存器写入命令”。在一些实施例中,可响应于寄存器写入命令而执行将第一型式存储于第一寄存器中。在一些实施例中,可从命令解码器(例如,命令解码器106)接收命令。
在一些实施例中,方法400可进一步包含框414,其中执行“接收型式匹配命令”。在一些实施例中,可响应于型式匹配命令而执行第一型式匹配操作。在一些实施例中,可从命令解码器(例如,命令解码器106)接收命令。在一些实施例中,可在执行框412、402、404和/或406之前接收型式匹配命令。在一些实施例中,可在执行框412、402和/或404之后接收型式匹配命令。
在一些实施例中,方法400可进一步包含框416和框418,其中执行“接收寄存器读取命令”和“响应于寄存器读取命令而从第二寄存器提供第一结果”。在一些实施例中,结果可输出到IO电路,例如IO电路122。在一些实施例中,可将结果输出到警告引脚。
在一些实施例中,方法400可进一步包含框420,其中可执行“将第一值写入到模式寄存器”。在一些实施例中,可将第一值写入到模式寄存器132。在一些实施例中,第一值可使得模式寄存器启用比较器电路和/或型式匹配电路,例如型式匹配电路130。在一些实施例中,方法400可进一步包含框422,其中可执行“编程一种类型的型式匹配操作”。在一些实施例中,型式匹配操作可被编程到比较器电路。可在框414和/或412之前、之后或同时执行框422。
在一些实施例中,方法400可进一步包含框424,其中可执行“提供作用警告信号”。在一些实施例中,作用警告信号响应于将第一结果存储于第二寄存器中。在一些实施例中,作用警告信号由比较器电路提供。在一些实施例中,作用警告信号由第二寄存器提供。在一些实施例中,可在框410、416和/或418之前、之后和/或同时执行框424。
在一些实施例中,方法400可进一步包含“将第二型式存储于第一寄存器或第三寄存器中”,“利用比较器电路对第二型式和数据执行型式匹配操作以确定第二型式是否存在于数据中”,“基于型式匹配操作而产生第二结果”,及“将第二结果存储于第二寄存器中”。在一些实施例中,第三寄存器可包含于型式寄存器202中。在一些实施例中,在对第一型式和框402到410中所展示的数据执行型式匹配操作之后对第二型式执行型式匹配操作。
图5为根据本公开的实施例的方法500的流程图。在一些实施例中,方法500可至少部分由装置100、型式匹配电路200和/或系统300执行。
在框502处,可执行“将数据存储于存储器阵列中”。在一些实施例中,可由装置100和/或存储器322的一或多个组件执行存储。在框504处,可执行“将型式存储于第一寄存器中”。可由型式匹配电路(例如,型式匹配电路130、型式匹配电路200和/或存储器322)执行存储。在框506处,可执行“在比较器电路处接收型式和数据”。在一些实施例中,比较器电路可为比较器电路204。在框508处,可执行“对型式和数据执行型式匹配操作并产生结果”。在一些实施例中,型式匹配操作可由比较器电路执行。在一些实施例中,型式匹配操作可确定型式是否存在于数据中。
在框510处,可执行“修改存储器阵列中的数据”。在一些实施例中,所述修改可基于型式匹配操作的结果。在一些实施例中,修改存储器阵列中的数据可至少部分地由型式匹配电路130、型式匹配电路200和/或存储器322执行。在一些实施例中,修改数据可包含在存储器阵列的其中数据匹配型式的位置处删除存储器阵列的内容。在一些实施例中,修改数据可包含在存储器阵列的其中数据匹配型式的位置处将预定值写入到存储器阵列。
在一些实施例中,方法500可包含框512,其中可执行“将型式匹配操作的结果存储于第二寄存器中”。在一些实施例中,可在框510之前、之后或同时执行框512。在一些实施例中,方法500可包含框514,其中可执行“将存储器阵列中的数据修改的位置存储于第二寄存器中”。在一些实施例中,可在框510和/或框512之前、之后或同时执行框514。在一些实施例中,可代替框512而执行框514。
本文中所描述的设备、系统和方法可允许由存储器执行型式匹配。这可允许在不在存储器外部将数据提供到其它处理电路的情况下分析所述数据。在一些实施例中,仅型式匹配操作的结果可由存储器提供。在一些应用中,这可减少用于型式匹配操作的时间。举例来说,并非将来自存储器阵列的多种数据发送到可将数据与特定型式进行比较的处理器(例如,CPU),存储器装置可具备型式匹配能力。处理器接着可请求型式匹配操作模式,且从存储器装置接收关于存储器阵列中存在或不存在特定型式的信息。
当然,应了解,本文中所描述的实例、实施例或过程中的任一者可与一或多个其它实例、实施例和/或过程组合或分开和/或在根据本发明系统、装置和方法的单独装置或装置部分当中执行。
最后,上文的论述意图仅为说明性的,且不应解释为将所附权利要求书限于任何特定实施例或实施例群组。因此,尽管已经特别详细地描述了本公开的各种实施例,但还应了解,所属领域的普通技术人员可在不脱离如所附权利要求书中所阐述的本公开的更广和预期精神和范围的情况下设计多个修改和替代实施例。因此,说明书和附图应以说明性方式看待,且不意图限制所附权利要求书的范围。
Claims (27)
1.一种设备,其包括:
存储器阵列,其经配置以将数据存储于半导体裸片上;
第一寄存器,其在所述半导体裸片上且经配置以存储位串的型式;及
比较器电路,其在所述半导体裸片上或位于所述存储器阵列之下,且经配置以:
接收所述数据和所述位串的所述型式的指示,确定所述数据是否包含所述位串的所述型式,且
基于确定所述数据是否包含所述位串的所述型式而产生结果。
2.根据权利要求1所述的设备,其进一步包括所述半导体裸片上的第二寄存器,所述第二寄存器经配置以存储所述结果的指示。
3.根据权利要求2所述的设备,其中所述第一寄存器或所述第二寄存器中的至少一者为多用途寄存器。
4.根据权利要求2所述的设备,其中所述第二寄存器进一步经配置以在所述结果的所述指示存储于所述第二寄存器中时将作用警告信号提供到位于所述半导体裸片外的装置,其中作用结果信号被提供到警告引脚。
5.根据权利要求2所述的设备,其中响应于第一多用途寄存器命令将所述型式写入到所述第一寄存器,且响应于第二多用途寄存器命令从所述第二寄存器读取所述结果。
6.根据权利要求1所述的设备,其中所述比较器电路能够编程以执行多个型式匹配操作中的至少一者以确定所述数据是否包含所述型式。
7.根据权利要求1所述的设备,其中所述第一寄存器进一步经配置以存储第二型式,且其中所述比较器电路进一步经配置以确定所述数据是否包含所述第二型式且产生第二结果。
8.根据权利要求1所述的设备,其进一步包括所述半导体裸片上的第三寄存器,所述第三寄存器经配置以存储第二型式,其中所述比较器电路进一步经配置以接收所述第二型式且确定所述数据是否包含所述第二型式且产生第二结果。
9.根据权利要求1所述的设备,其进一步包括模式寄存器,其中当将第一值写入到所述模式寄存器时启用所述比较器电路。
10.根据权利要求1所述的设备,其中所述比较器电路进一步经配置以在所述结果指示所述数据包含所述型式时提供作用警告信号,其中作用结果信号被提供到所述存储器外部的装置能够存取的警告引脚。
11.一种方法,其包括:
将第一型式存储于半导体裸片上的第一寄存器中,其中所述第一型式包含位串;
在所述半导体裸片上的比较器电路处接收所述第一型式和数据的指示;
利用所述比较器电路确定所述数据是否包含所述第一型式;
基于所述确定产生第一结果;及
将所述第一结果的指示存储于所述存储器上的第二寄存器中。
12.根据权利要求11所述的方法,其进一步包括接收寄存器写入命令,其中响应于所述寄存器写入命令而执行将所述第一型式存储于所述第一寄存器中。
13.根据权利要求11所述的方法,其进一步包括接收型式匹配命令,其中响应于所述型式匹配命令而执行所述确定。
14.根据权利要求11所述的方法,其进一步包括:
接收寄存器读取命令;及
响应于所述寄存器读取命令而将所述第一结果的所述指示从所述第二寄存器提供到所述存储器上的IO电路。
15.根据权利要求11所述的方法,其进一步包括将第一值写入到模式寄存器,其中所述第一值使得所述模式寄存器启用所述比较器电路。
16.根据权利要求11所述的方法,其进一步包括响应于将所述第一结果的所述指示存储于所述第二寄存器中而提供作用警告信号。
17.根据权利要求11所述的方法,其进一步包括将一种类型的型式匹配操作编程到所述比较器电路。
18.根据权利要求11所述的方法,其中所述第一结果包含所述第一型式存在于所述数据中的次数的计数值。
19.根据权利要求11所述的方法,其中所述第一结果包含所述第一型式在所述数据中的匹配的位置的存储器地址。
20.根据权利要求11所述的方法,其中所述第一结果包含旗标,其中如果所述第一型式包含于所述数据中,那么所述旗标具有第一值,且如果所述第一型式未包含于所述数据中,那么所述旗标具有第二值。
21.根据权利要求11所述的方法,其进一步包括:
将第二型式存储于所述第一寄存器或第三寄存器中;
利用所述比较器电路确定所述第二型式是否包含于所述数据中;
基于所述确定而产生第二结果;及
将所述第二结果的指示存储于所述第二寄存器中。
22.根据权利要求21所述的方法,其中在确定所述第一型式是否包含于所述数据中之后,执行所述第二型式是否包含于所述数据中的确定。
23.一种存储器,其包括:
存储器单元;
多用途寄存器,其经配置以从所述存储器的外部端子接收指示型式的数据;
比较器电路,其经配置以将所述存储器单元的内容与指示所述型式的所述数据进行比较并且提供型式指示;及
结果寄存器,其经配置以存储所述型式指示且使所述型式指示能够由所述存储器的另一外部端子存取。
24.根据权利要求23所述的存储器,其中所述多用途寄存器经由所述存储器的IO电路从所述外部端子接收所述数据。
25.根据权利要求23所述的存储器,其中所述结果寄存器包括第二多用途寄存器。
26.根据权利要求23所述的存储器,其中所述结果寄存器通过将所述型式指示提供到所述存储器的IO电路而使所述型式指示能够由所述存储器的另一外部端子存取。
27.根据权利要求23所述的存储器,其中所述结果寄存器通过将所述型式指示提供到警告引脚而使所述型式指示能够由所述存储器的另一外部端子存取。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/807,692 US11442940B2 (en) | 2020-03-03 | 2020-03-03 | Apparatuses and methods for on-memory pattern matching |
US16/807,692 | 2020-03-03 | ||
PCT/US2021/019435 WO2021178179A1 (en) | 2020-03-03 | 2021-02-24 | Apparatuses and methods for on-memory pattern matching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115552525A true CN115552525A (zh) | 2022-12-30 |
Family
ID=77555838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180017132.3A Pending CN115552525A (zh) | 2020-03-03 | 2021-02-24 | 用于存储器上型式匹配的设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11442940B2 (zh) |
EP (1) | EP4115422A4 (zh) |
KR (1) | KR20220148259A (zh) |
CN (1) | CN115552525A (zh) |
WO (1) | WO2021178179A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442940B2 (en) | 2020-03-03 | 2022-09-13 | Micron Technology, Inc. | Apparatuses and methods for on-memory pattern matching |
US11586958B2 (en) * | 2020-04-06 | 2023-02-21 | Micron Technology, Inc. | Apparatuses, systems, and methods for machine learning using on-memory pattern matching |
US11676052B2 (en) * | 2020-04-15 | 2023-06-13 | Micron Technology, Inc. | Apparatuses and methods for inference processing on edge devices |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH064582A (ja) * | 1992-06-24 | 1994-01-14 | Matsushita Electric Ind Co Ltd | 中央演算装置 |
JP2007058450A (ja) * | 2005-08-23 | 2007-03-08 | Freescale Semiconductor Inc | 半導体集積回路 |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
JP2009099202A (ja) * | 2007-10-17 | 2009-05-07 | Toshiba Corp | 半導体記憶装置 |
US8127281B2 (en) * | 2007-12-12 | 2012-02-28 | International Business Machines Corporation | Method and apparatus for efficient multiple-pattern based matching and transformation of intermediate language expression trees |
US7995387B2 (en) | 2009-01-30 | 2011-08-09 | Sandisk Il Ltd. | System and method to read data subject to a disturb condition |
US8345483B2 (en) * | 2011-01-21 | 2013-01-01 | Spansion Llc | System and method for addressing threshold voltage shifts of memory cells in an electronic product |
US9121892B2 (en) * | 2012-08-13 | 2015-09-01 | Analog Devices Global | Semiconductor circuit and methodology for in-system scan testing |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US9805802B2 (en) | 2015-09-14 | 2017-10-31 | Samsung Electronics Co., Ltd. | Memory device, memory module, and memory system |
US11442940B2 (en) | 2020-03-03 | 2022-09-13 | Micron Technology, Inc. | Apparatuses and methods for on-memory pattern matching |
-
2020
- 2020-03-03 US US16/807,692 patent/US11442940B2/en active Active
-
2021
- 2021-02-24 EP EP21764564.7A patent/EP4115422A4/en active Pending
- 2021-02-24 KR KR1020227033968A patent/KR20220148259A/ko unknown
- 2021-02-24 WO PCT/US2021/019435 patent/WO2021178179A1/en unknown
- 2021-02-24 CN CN202180017132.3A patent/CN115552525A/zh active Pending
-
2022
- 2022-08-15 US US17/819,793 patent/US11829366B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4115422A4 (en) | 2024-03-20 |
KR20220148259A (ko) | 2022-11-04 |
WO2021178179A1 (en) | 2021-09-10 |
US11829366B2 (en) | 2023-11-28 |
US20220391396A1 (en) | 2022-12-08 |
US20210279242A1 (en) | 2021-09-09 |
EP4115422A1 (en) | 2023-01-11 |
US11442940B2 (en) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790981B2 (en) | Method of performing internal processing operation of memory device | |
US11768603B2 (en) | Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory | |
US10762946B2 (en) | Memory with partial array refresh | |
US11829366B2 (en) | Apparatuses and methods for on-memory pattern matching | |
TWI700585B (zh) | 半導體裝置及包含該半導體裝置的記憶體系統 | |
US20210406208A1 (en) | Apparatuses and methods for writing data to a memory | |
US20230186619A1 (en) | Apparatuses, systems, and methods for machine learning using on-memory pattern matching | |
CN115428079A (zh) | 用于介接存储器上型式匹配的设备和方法 | |
US11727965B2 (en) | Nonvolatile memory device, operating method of nonvolatile memory device, and electronic device including nonvolatile memory device | |
CN115083468A (zh) | 用于控制器引导的目标刷新操作的设备、系统和方法 | |
CN113284544A (zh) | 具有行修复机制的存储器装置及其操作方法 | |
US11676052B2 (en) | Apparatuses and methods for inference processing on edge devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |