US5440753A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Variable length string matcher
Assignee: CIF LICENSING LLC
•
Filing: 1994-03-11
•
Granted: 1995-08-08
•
Expires: 2014-03-11
Abstract
Abstract A variable length string matcher uses absolute addressing of a history buffer; the longest matching string is determined by an associative content addressable memory.
Inventors
- 👤 Brian T. Hou
- 👤 Craig D. Cohen
- 👤 Pasco-Anderson James A
- 👤 Michael Gutman
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 15:43
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/3084; H03M7/3086; G; G06; G06F; G06F7/00; G06F7/02; G06T; G06T9/00; G06T9/005; G06V; G06V10/00; G06V10/70; G06V10/768; G11; G11C; G11C15/00
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
365 words
An encoder/decoder having a variable length string matching apparatus for finding, within a stored first sequence of data elements, a longest string of stored data elements that matches a string of a second sequence of given data elements, comprising: encoding means, operably coupled to a storage, for generating a logical sequence of control signals to the variable length string matching apparatus, and the variable length string matching apparatus, comprising: the storage, operably coupled to the encoding means, for storing said first sequence of data elements, comparison circuitry for comparing a single data element of said second sequence with multiple data elements of said first sequence, and for issuing match signals when matches are found, and control circuitry for causing said comparison circuitry to operate iteratively, each iteration comprising a simultaneous comparison of a data element of said second sequence with the stored multiple data elements, said control circuitry being responsive to said match signals for determining the longest string of said stored data elements that matches a string of said second sequence immediately when the match occurs, based on when an iteration does not result in issuance of a match signal by said comparison circuitry, wherein each of a plurality of cells includes at least the storage and the comparison circuitry, the cells are associated by signals between adjacent cells, the cells are provided in parallel each iteration with the data element of the second sequence for comparison and wherein said storage comprises locations each for holding one of said data elements of said first sequence, said comparison circuitry comprises a series of comparators each in a different respective one of said cells for comparing one of said data elements of said first sequence with a given data element of said second sequence and for issuing a match signal when a match is found, and delay circuitry for storing said match signal issued by a said comparator temporarily each in a different respective one of said cells for use in a next iteration on the next data element in said second sequence, wherein the variable length string matcher finds a longest match and produces a codeword in response to the logical sequence of control signals.
Claim 2
Dependent Claim
365 words
An encoder/decoder having a variable length string matching apparatus for finding, within a stored first sequence of data elements, a longest string of stored data elements that matches a string of a second sequence of given data elements, comprising: encoding means, operably coupled to a storage, for generating a logical sequence of control signals to the variable length string matching apparatus, and the variable length string matching apparatus, comprising: the storage, operably coupled to the encoding means, for storing said first sequence of data elements, comparison circuitry for comparing a single data element of said second sequence with multiple data elements of said first sequence, and for issuing match signals when matches are found, and control circuitry for causing said comparison circuitry to operate iteratively, each iteration comprising a simultaneous comparison of a data element of said second sequence with the stored multiple data elements, said control circuitry being responsive to said match signals for determining the longest string of said stored data elements that matches a string of said second sequence immediately when the match occurs, based on when an iteration does not result in issuance of a match signal by said comparison circuitry, wherein each of a plurality of cells includes at least the storage and the comparison circuitry, the cells are associated by signals between adjacent cells, the cells are provided in parallel each iteration with the data element of the second sequence for comparison and wherein said storage comprises locations each for holding one of said data elements of said first sequence, said comparison circuitry comprises a series of comparators each in a different respective one of said cells for comparing one of said data elements of said first sequence with a given data element of said second sequence and for issuing a match signal when a match is found, and delay circuitry for storing said match signal issued by a said comparator temporarily each in a different respective one of said cells for use in a next iteration on the next data element in said second sequence, wherein the variable length string matcher finds a longest match and produces a codeword in response to the logical sequence of control signals.
Claim 3
Dependent Claim
61 words
The encoder/decoder of claim 1 wherein the storage comprises storage locations for holding said data elements of said sequence, said storage locations being identifiable by absolute addresses, and the comparison circuitry simultaneously determines, immediately when the match occurs, which said storage locations hold the matching said string of stored data elements and identifies said storage locations based on their absolute addresses.
Claim 4
Dependent Claim
60 words
The encoder/decoder of claim 2 wherein said comparison circuitry comprises comparators for comparing each said data element of said sequence, as held in a said storage location, with a given data element of said second string, and address circuitry for determining and keeping track of the absolute address of at least one said storage location whose comparator indicates a match.
Claim 5
Dependent Claim
319 words
An encoding/decoding method that utilizes finding, within a stored first sequence of data elements, a longest string of stored data elements that matches a string of a second sequence of data elements, comprising the steps of: generating a logical sequence of control signals, and finding a longest match and producing a codeword in response to the logical sequence of control signals, wherein said finding the longest match and producing the codeword includes the steps of: storing said first sequence of data elements, comparing, simultaneously, a single data element of said second sequence with multiple data elements of said first sequence, issuing match signals when matches are found, performing said comparing step in iterations, each iteration comprising comparing a data element of said second sequence with multiple data elements in the stored first sequence, and determining, immediately when the match occurs, the longest string of said stored data elements that matches a string of said second sequence based on when an iteration does not result in issuance of a match signal, wherein the storing, comparing, and performing said comparing are performed in individual cells, and a signal is utilized to associate adjacent cells, the cells are provided in parallel each iteration with the data element of the second sequence for comparison and wherein storing includes storing at locations, each for holding one of said data elements of said first sequence, comparing includes utilizing a series of comparators each in a different respective one of said cells for comparing one of said data elements of said first sequence with a given data element of said second sequence and for issuing a match signal when a match is found, and performing said comparing includes storing said match signal issued temporarily in the step of comparing, wherein each match signal is in a different one of said cells for use in a next iteration on the next data element in said second sequence.
Claim 6
Dependent Claim
319 words
An encoding/decoding method that utilizes finding, within a stored first sequence of data elements, a longest string of stored data elements that matches a string of a second sequence of data elements, comprising the steps of: generating a logical sequence of control signals, and finding a longest match and producing a codeword in response to the logical sequence of control signals, wherein said finding the longest match and producing the codeword includes the steps of: storing said first sequence of data elements, comparing, simultaneously, a single data element of said second sequence with multiple data elements of said first sequence, issuing match signals when matches are found, performing said comparing step in iterations, each iteration comprising comparing a data element of said second sequence with multiple data elements in the stored first sequence, and determining, immediately when the match occurs, the longest string of said stored data elements that matches a string of said second sequence based on when an iteration does not result in issuance of a match signal, wherein the storing, comparing, and performing said comparing are performed in individual cells, and a signal is utilized to associate adjacent cells, the cells are provided in parallel each iteration with the data element of the second sequence for comparison and wherein storing includes storing at locations, each for holding one of said data elements of said first sequence, comparing includes utilizing a series of comparators each in a different respective one of said cells for comparing one of said data elements of said first sequence with a given data element of said second sequence and for issuing a match signal when a match is found, and performing said comparing includes storing said match signal issued temporarily in the step of comparing, wherein each match signal is in a different one of said cells for use in a next iteration on the next data element in said second sequence.
References Cited (Backward Citations)
DE1574599A1
Cited
US3465299A
Cited
US3568156A
Cited
US4205302A
Cited
DE2857403A1
Cited
US4164025A
Cited
US4285049A
Cited
DE3149926A1
Cited
US4446452A
Cited
US4550387A
Cited
DE3246432A1
Cited
US4453217A
Cited
US4625295A
Cited
US4689768A
Cited
US4539549A
Cited
US4558302A
Cited
US4558302B1
Cited
US4760523A
Cited
US5014327A
Cited
US4897814A
Cited
US5245338A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-08-07 | 1999-02-06 | 1999-08-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-08-07 | 2003-02-06 | 2003-08-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-08-07 | 2007-02-06 | 2007-08-08 | $7700.00 | Window Closed / Lapsed |