Methods and apparatus for pattern matching
First Claim
Patent Images
1. A method of pattern matching in a memory, comprising:
- providing a pattern to be searched in the memory; and
pattern checking for the pattern to be searched in the memory, wherein pattern checking further comprises;
reading at least a portion of a page from the memory;
comparing the at least a portion of the read page and the pattern to be searched;
determining whether a number of bit errors between the at least a portion of the read page and the pattern to be searched is less than or equal to a particular number of bit errors, wherein the particular number of bit errors is greater than or equal to one; and
deeming the comparison a match when the number of bit errors is less than or equal to the particular number of bit errors;
wherein comparing the at least a portion of the read page and the pattern to be searched comprises combining the at least a portion of the read page and the pattern to be searched with an XNOR operation.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for pattern matching are disclosed. In at least one embodiment, pattern checking is accomplished by reading a page of memory, and comparing the read page with the pattern to be searched in a logic operation. In at least one other embodiment, a pattern to be searched is stored in registers where each bit of the pattern is stored using two register entries and each bit of the array data is stored using two cells of the array.
36 Citations
30 Claims
-
1. A method of pattern matching in a memory, comprising:
-
providing a pattern to be searched in the memory; and pattern checking for the pattern to be searched in the memory, wherein pattern checking further comprises; reading at least a portion of a page from the memory; comparing the at least a portion of the read page and the pattern to be searched; determining whether a number of bit errors between the at least a portion of the read page and the pattern to be searched is less than or equal to a particular number of bit errors, wherein the particular number of bit errors is greater than or equal to one; and deeming the comparison a match when the number of bit errors is less than or equal to the particular number of bit errors; wherein comparing the at least a portion of the read page and the pattern to be searched comprises combining the at least a portion of the read page and the pattern to be searched with an XNOR operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of pattern matching in a memory, comprising:
-
providing a pattern to be searched in the memory; and pattern checking for the pattern to be searched in the memory, wherein pattern checking further comprises; reading at least a portion of a page from the memory, wherein reading at least a portion of a page from the memory comprises reading the at least a portion of the page into a first cache of a page buffer of the memory; comparing the at least a portion of the read page and the pattern to be searched, wherein the pattern to be searched is loaded into a second cache of the page buffer of the memory; determining whether a number of bit errors between the at least a portion of the read page and the pattern to be searched is less than or equal to a particular number of bit errors, wherein the particular number of bit errors is greater than or equal to one; and deeming the comparison a match when the number of bit errors is less than or equal to the particular number of bit errors; wherein determining whether a number of bit error is greater than or equal to the particular number of bit errors comprises; programming the first data cache to values resulting from an XNOR combination of the first cache with the second cache; and determining whether the first data cache contains at least a number of logical 1 values equal to the particular number.
-
-
15. A method of pattern matching in a memory, comprising:
-
programming a pattern to be searched into a plurality of registers of the memory, each bit of the pattern associated with two separate register entries; pattern checking for the pattern to be searched in the memory, wherein each bit of data stored in the memory is stored in two cells of the memory; and determining an error count for the pattern checking; wherein determining an error count comprises; precharging a selected data line of a string of memory cells of the memory array; sensing on the data line; if the data line does not discharge, storing an error count value of zero; if the data line discharges, precharging the data line, applying a reference current to the data line at a first level sufficient to overcome a single bit non-match in the string, and sensing to determine if the data line discharges; if the data line does not discharge, storing an error count value equal to one; and if the data line discharges, incrementing the reference current to a next level sufficient to overcome an additional bit non-match in the string, precharging the data line, sensing, and if the data line discharges, repeating until a maximum reference current is reached or the data line stays charged; and storing an error count based on the reference current at which the data line remains charged. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A memory device, comprising:
-
an array of memory cells; circuitry configured to perform a method comprising; loading, into the memory device, a pattern to be searched within data stored in the array of memory cells; and pattern checking for the pattern to be searched within data stored in the array of memory cells, wherein pattern checking comprises; reading at least a portion of a page from the array of memory cells; comparing the at least a portion of the read page and the pattern to be searched; determining whether a number of bit errors between the at least a portion of the read page and the pattern to be searched is less than or equal to a particular number of bit errors, wherein the particular number of bit errors is greater than or equal to one; and deeming the comparison a match when the number of bit errors is less than or equal to the particular number of bit errors; and deeming the comparison a match when the number of bit errors is less than or equal to the particular number of bit errors; wherein comparing the at least a portion of the read page and the pattern to be searched comprises combining the at least a portion of the read page and the pattern to be searched with an XNOR operation.
-
-
30. A memory device, comprising:
-
an array of memory cells; circuitry configured to perform a method comprising; programming a pattern to be searched into a plurality of registers of the memory, such that each bit of the pattern to be searched is stored as two separate register entries; pattern checking for the pattern to be searched within data stored in the array of memory cells, wherein each bit of data to be searched in the array of memory cells is stored in a respective two memory cells of the array of memory cells; and determining an error count for the pattern checking; wherein determining an error count comprises; precharging a selected data line of a string of memory cells of the memory array; sensing on the data line; if the data line does not discharge, storing an error count value of zero; if the data line discharges, precharging the data line, applying a reference current to the data line at a first level sufficient to overcome a single bit non-match in the string, and sensing to determine if the data line discharges; if the data line does not discharge, storing an error count value equal to one; if the data line discharges, incrementing the reference current to a next level sufficient to overcome an additional bit non-match in the string, precharging the data line, sensing, and if the data line discharges, repeating until a maximum reference current is reached or the data line stays charged; and storing an error count based on the reference current at which the data line remains charged.
-
Specification