# US 2014/0195883 A1 · Apparatus, System, and Method for Matching Patterns with an Ultra Fast Check Engine

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

- Number: US 2014/0195883 A1
- Document ID: US20140195883A1
- Status: Published application
- Kind: A1
- Application number: 14/207,066
- Filed: 2014-03-12
- Published: 2014-07-10
- Earliest claimed: 2010-12-01
- Assignees: Crocus Technology SA
- Applicants: Crocus Technology Inc.
- Inventors: Bertrand F. Cambou; Neal Berger; Mourad El Baraji
- Web page: https://patentgrep.com/patent/US20140195883A1

## CPC

- G06F 11/08: Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F 7/02: Comparing digital values (G06F7/06, {G06F7/22,} G06F7/38 take precedence)
- G11C 11/1673: {Reading or sensing circuits or methods}
- G11C 11/1675: {Writing or programming circuits or methods}
- G11C 11/5607: {using magnetic storage elements}
- G11C 15/02: using magnetic elements
- G11C 15/046: {using non-volatile storage elements}
- G06F 2207/025: String search, i.e. pattern matching, e.g. find identical word or best match in a string
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A check engine includes a plurality of comparators each including a first directional characteristic aligned to store at least one reference bit included in a set of reference bits, and a second directional characteristic aligned to present at least one target bit included in a set of target bits. Each of the plurality of comparators is configured to produce an output representing a level of matching between the at least one target bit and the at least one reference bit, based on a relative alignment between the first directional characteristic and the second directional characteristic. The check engine is configured such that the outputs of the plurality of comparators are combined to produce a combined output. The check engine is configured to determine that the set of target bits matches the set of reference bits based on the combined output of the plurality of comparators.

## Claims

### Claim 1

An apparatus, comprising:
a plurality of comparators each including:
a first directional characteristic aligned to store at least one reference bit included in a set of reference bits; and
a second directional characteristic aligned to present at least one target bit included in a set of target bits;
wherein each of the plurality of comparators is configured to produce an output representing a level of matching between the at least one target bit and the at least one reference bit, based on a relative alignment between the first directional characteristic and the second directional characteristic; and
wherein the apparatus is configured such that the outputs of the plurality of comparators are combined to produce a combined output;
wherein the apparatus is configured to determine that the set of target bits matches the set of reference bits based on the combined output of the plurality of comparators; and
wherein the plurality of comparators are connected in series to produce the combined output.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the output of each of the plurality of comparators represents a match between the at least one target bit and the at least one reference bit, the match corresponding to a substantially parallel alignment of the first directional characteristic and the second characteristic.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the output of each of the plurality of comparators represents a match between the at least one target bit and the at least one reference bit, the match corresponding to a substantially antiparallel alignment of the first directional characteristic and the second characteristic.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein:
if the set of target bits matches the set of reference bits, the plurality of comparators has a first combined resistance;
if the set of target bits does not match the set of reference bits, the plurality of comparators has a second combined resistance; and
the second combined resistance is not equal to the first combined resistance.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the second combined resistance is less than the first combined resistance.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the plurality of comparators are configurable by a common field line.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein to determine that the set of target bits matches the set of reference bits, the apparatus is configured to compare the combined output of the plurality of comparators to a self-referenced output of the plurality of comparators corresponding to a full matching configuration.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein:
at least one of the plurality of comparators is a magnetic random access memory (MRAM) cell; and
the first directional characteristic and the second directional characteristic correspond to a storage magnetization and a sense magnetization, respectively.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein at least one of the plurality of comparators includes:
a first directional characteristic aligned to store multiple reference bits included in the set of reference bits; and
a second directional characteristic aligned to present multiple target bits included in the set of target bits;
wherein the at least one of the plurality of comparators produces an output representing a level of matching between the multiple target bits and the multiple reference bits.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein a first field line and a second field line are configurable to set the first directional characteristic to store the multiple reference bits.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the first field line is substantially orthogonal to the second field line.

### Claim 12

A method of operating a check engine, comprising:
providing a plurality of magnetic random access memory (MRAM) cells in the check engine, each of the plurality of MRAM cells including a storage magnetization and a sense magnetization;
storing a plurality of reference bits in the plurality of MRAM cells, including during a programming cycle, aligning the storage magnetization of the each of the MRAM cells to store at least one of the plurality of reference bits;
presenting a plurality of target bits to the plurality of MRAM cells, including during a pattern checking cycle, aligning the sense magnetization of the each of the plurality of MRAM cells to present at least one of the plurality of target bits; and
determining a match between the plurality of target bits and the plurality of reference bits when only a first subset of the plurality of target bits matches a corresponding first subset of the plurality of reference bits.

### Claim 13 (depends on 12)

The method of claim 12, further comprising generating an output representing a level of matching between the plurality of target bits and the plurality of reference bits, based on a relative alignment between the storage magnetization and the sense magnetization of the each of the MRAM cells.

### Claim 14 (depends on 13)

The method of claim 13, wherein the match is determined when the first subset of the plurality of target bits matches a corresponding first subset of the plurality of reference bits, and a remaining subset of the plurality of target bits does not match a corresponding remaining subset of the plurality of reference bits.

### Claim 15 (depends on 14)

The method of claim 14, wherein:
if the plurality of target bits matches the plurality of reference bits, the plurality of MRAM cells has a first combined resistance;
if the plurality of target bits does not match the plurality of reference bits, the plurality of MRAM cells has a second combined resistance;
the second combined resistance is not equal to the first combined resistance; and
the output is generated based on at least one of the first combined resistance and the second combined resistance.

### Claim 16

A method of operating a check engine, comprising:
providing a plurality of magnetic random access memory (MRAM) cells in the check engine, each of the plurality of MRAM cells including a storage magnetization and a sense magnetization;
storing a plurality of reference bits in the plurality of MRAM cells, including during a programming cycle, aligning the storage magnetization of the each of the MRAM cells to store at least one of the plurality of reference bits;
presenting a plurality of target bits to the plurality of MRAM cells, including during a pattern checking cycle, aligning the sense magnetization of the each of the plurality of MRAM cells to present at least one of the plurality of target bits; and
generating an output of each of the MRAM cells, the output representing a level of matching between the at least one of the plurality of target bits and the at least one of the plurality of reference bits, the output being based on a relative alignment between the storage magnetization and the sense magnetization of the each of the MRAM cells; and
generating a combined output of the plurality of MRAM cells based on the output of the each of the MRAM cells, the combined output representing a level of matching between the plurality of target bits and the plurality of reference bits, the plurality of MRAM cells being connected in series.

### Claim 17 (depends on 16)

The method of claim 16, wherein the output of each of the MRAM cells represents a match between the at least one of the plurality of target bits and the at least one of the plurality of reference bits, the match corresponding to a substantially parallel alignment of a direction of the storage magnetization and a direction of the sense magnetization.

### Claim 18 (depends on 16)

The method of claim 16, wherein the output of each of the MRAM cells represents a match between the at least one of the plurality of target bits and the at least one of the plurality of reference bits, the match corresponding to a substantially antiparallel alignment of a direction of the storage magnetization and a direction of the sense magnetization.

### Claim 19 (depends on 16)

The method of claim 16, further comprising determining a match between the plurality of target bits and the plurality of reference bits when the combined output is greater than or equal to a predetermined threshold.

### Claim 20 (depends on 19)

The method of claim 19, further comprising determining the predetermined threshold based on a self-referenced output of the plurality of MRAM cells corresponding to a full matching configuration.
