# US 11,442,940 B2 · Apparatuses and methods for on-memory pattern matching

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,940 B2
- Document ID: US11442940B2
- Status: Granted
- Kind: B2
- Application number: 16/807,692
- Filed: 2020-03-03
- Published: 2021-09-09
- Granted: 2022-09-13
- Earliest claimed: 2020-03-03
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Debra M. Bell; Libo Wang; Di Wu; James S. Rehmeyer; Anthony D. Veches
- Web page: https://patentgrep.com/patent/US11442940B2

## CPC

- G06F 16/24558: {Binary matching operations}
- G11C 11/407: for memory cells of the field-effect type
- G06V 10/82: using neural networks
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 7/1063: {Control signal output circuits, e.g. status or busy flags, feedback command signals}
- G11C 11/4096: Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
- G11C 11/54: using elements simulating biological cells, e.g. neuron
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Embodiments of the disclosure are drawn to apparatuses, systems, methods, and memories that are capable of performing pattern matching operations within a memory device. The pattern matching operations may be performed on data stored within the memory based on a pattern stored in a register. The result of the pattern matching operation may be provided by the memory. The data on which the pattern matching operation is performed may not be output from the memory during the pattern matching operation.

## Claims

### Claim 1

An apparatus comprising:
a memory array configured to store data on a semiconductor die;
a first register on the semiconductor die and configured to store a pattern of a string of bits;
a comparator circuit on the semiconductor die or located under the memory array and, when enabled, is configured to:
receive the data and an indication of the pattern of the string of bits, determine whether the data includes the pattern of the string of bits, and
generate a result based on a determination of whether the data includes the pattern of the string of bits; and
a mode register, wherein the comparator circuit is enabled when a first value is written to the mode register.

### Claim 2 (depends on 1)

The apparatus of claim 1, further comprising a second register on the semiconductor die configured to store an indication of the result.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein at least one of the first register or the second register is a multipurpose register.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein the second register is further configured to provide, to a device located off the semiconductor die, an active alert signal when the indication of the result is stored in the second register, wherein the active result signal is provided to an alert pin.

### Claim 5 (depends on 2)

The apparatus of claim 2, wherein the pattern is written to the first register responsive to a first multipurpose register command and the result is read from the second register responsive to a second multipurpose register command.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the comparator circuit is programmable to perform at least one of a plurality of pattern matching operations to determine whether the data includes the pattern.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the first register is further configured to store a second pattern and wherein the comparator circuit is further configured to determine whether the data includes the second pattern and generate a second result.

### Claim 8 (depends on 1)

The apparatus of claim 1, further comprising a third register on the semiconductor die configured to store a second pattern, wherein the comparator circuit is further configured to receive the second pattern and determine whether the data includes the second pattern and generate a second result.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the comparator circuit is further configured to provide an active alert signal when the result indicates the data included the pattern, wherein the active result signal is provided to an alert pin accessible to a device outside the memory.

### Claim 10

A method comprising:
storing a first pattern in a first register of a memory device on a semiconductor die, wherein the first pattern includes a string of bits;
receiving an indication of the first pattern and data at a comparator circuit of the memory device;
receiving a pattern matching command from a command decoder of the memory device;
determining with the comparator circuit whether the data includes the first pattern, wherein the determining is performed responsive to the pattern matching command;
generating a first result based on the determining; and
storing an indication of the first result in a second register of the memory.

### Claim 11 (depends on 10)

The method of claim 10, further comprising receiving a register write command, wherein storing the first pattern in the first register is performed responsive to the register write command.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
receiving a register read command; and
providing the indication of the first result from the second register to an IO circuit on the memory responsive to the register read command.

### Claim 13 (depends on 10)

The method of claim 10, further comprising writing a first value to a mode register, wherein the first value causes the mode register to enable the comparator circuit.

### Claim 14 (depends on 10)

The method of claim 10, further comprising providing an active alert signal responsive to storing the indication of the first result in the second register.

### Claim 15 (depends on 10)

The method of claim 10, further comprising programming a type of pattern matching operation to the comparator circuit.

### Claim 16 (depends on 10)

The method of claim 10, wherein the first result includes a count value of a number of times the first pattern is present in the data.

### Claim 17 (depends on 10)

The method of claim 10, wherein the first result includes a memory address of a location of a match of the first pattern in the data.

### Claim 18 (depends on 10)

The method of claim 10, wherein the first result includes a flag, wherein the flag has a first value if the first pattern is included in the data and a second value if the first pattern is not included in the data.

### Claim 19 (depends on 10)

The method of claim 10, further comprising:
storing a second pattern in the first register or a third register;
determining, with the comparator circuit whether the second pattern is included in the data;
generating a second result based on the determining; and
storing an indication of the second result in the second register.

### Claim 20 (depends on 19)

The method of claim 19, wherein determining whether the second pattern is included in the data is performed after determining whether the first pattern is included in the data.

### Claim 21

A memory comprising:
memory cells;
a multipurpose register configured to receive data indicative of a pattern from an external terminal of the memory;
comparator circuitry configured to compare contents of the memory cells with the data indicative of the pattern and provide a pattern indication; and
a result register configured to store the pattern indication and make the pattern indication accessible to another external terminal of the memory, wherein the result register makes the pattern indication accessible to another external terminal of the memory by providing the pattern indication to an IO circuit of the memory.

### Claim 22 (depends on 21)

The memory of claim 21, wherein the multipurpose register receives the data from the external terminal via an IO circuit of the memory.

### Claim 23 (depends on 21)

The memory of claim 21, wherein the result register comprises a second multipurpose register.

### Claim 24 (depends on 21)

The memory of claim 21, wherein the result register makes the pattern indication accessible to another external terminal of the memory by providing the pattern indication to an alert pin.
