Claims Analysis
Total Claims: 34
Claim 1
Independent Claim
85 words
A data compression system comprising: means for sequentially receiving a plurality of data symbols from an input source; and b. means for simultaneously storing a present one of the symbols into one of a plurality of content addressable memory cells and comparing the present symbol to a plurality of previously received symbols to determine if the present symbol matches a previously received symbol wherein state information indicative of a match is transferred between the memory cells and symbols are not transferred between the memory cells.
Claim 2
Dependent Claim
85 words
A data compression system comprising: means for sequentially receiving a plurality of data symbols from an input source; and b. means for simultaneously storing a present one of the symbols into one of a plurality of content addressable memory cells and comparing the present symbol to a plurality of previously received symbols to determine if the present symbol matches a previously received symbol wherein state information indicative of a match is transferred between the memory cells and symbols are not transferred between the memory cells.
Claim 3
Dependent Claim
17 words
The data compression system as claimed in claim 1 wherein each byte represents eight bits of information.
Claim 4
Dependent Claim
21 words
The data compression system as claimed in claim 1 wherein the content addressable memory has means for writing, searching, and reading.
Claim 5
Dependent Claim
98 words
The data compression system as claimed in claim 1 further comprising: a. means for grouping symbols into uncoded bytes and strings, where each string comprises a longest matching string stored in the content addressable memory from the previously received signals; and b. means for generating a string code representative of each string or a previously written byte if no matching string occurs; wherein the string code comprises a length value representative of a number of symbols in the string and a position value representative of a position of the longest matching string stored in the content addressable memory.
Claim 6
Dependent Claim
53 words
The data compression system as claimed in claim 4 further comprising means for determining which longest matching string stored in the content addressable memory is nearest in location to a last byte stored in the content addressable memory, if there is more than one longest matching string stored in the content addressable memory.
Claim 7
Dependent Claim
36 words
The data compression system as claimed in claim 1 further comprising a plurality of string match state machines, each of the string match state machines cooperatively coupled to a stored symbol in the content addressable memory.
Claim 8
Dependent Claim
80 words
The data compression system as claimed in claim 6 wherein each of the string match state machines comprise three states: a. a first state signalling that the stored symbol does not match a current input string; b. a second state signalling that the stored symbol matches only a last symbol of the current input string; and c. a third state signalling that a string including the stored symbol matches at least a last two symbols of the current input string.
Claim 9
Dependent Claim
41 words
The data compression system as claimed in claim 7 wherein each of the string match state machines comprise a fourth state for initialization, wherein upon a reset signal all of the string match state machines are forced into the fourth state.
Claim 10
Dependent Claim
46 words
The data compression system as claimed in claim 1 wherein the means for simultaneously storing and comparing further comprises an array of a plurality of string match modules, each string match module comprising a CAM word, a string match state machine and an address logic module.
Claim 11
Dependent Claim
26 words
The data compression system as claimed in claim 9 wherein the array of a plurality of string match modules are arranged in a one-dimensional circular queue.
Claim 12
Dependent Claim
26 words
The data compression system as claimed in claim 9 wherein the array of a plurality of string match modules are arranged in both columns and rows.
Claim 13
Dependent Claim
17 words
The data compression system as claimed in claim 1 further comprising means for decompressing previously compressed data.
Claim 14
Dependent Claim
55 words
The data compression system as claimed in claim 1 wherein the means for sequentially receiving a plurality of data symbols receives the plurality of data symbols at a rate of one symbol per clock cycle and the means for simultaneously storing and comparing processes the data at a rate of one symbol per clock cycle.
Claim 15
Dependent Claim
184 words
A data compression system comprising: a. means for receiving data from an input source a byte at a time, each byte representing eight bits of information; b. means for simultaneously storing a present data byte into one of a plurality of content addressable memory cells and comparing the present data byte to a plurality of previously received data bytes to determine if the present data byte matches the previously received data bytes wherein state information indicative of a match is transferred between the memory cells and data bytes are not transferred between the memory cells; c. means for grouping data bytes into uncoded bytes and strings, where each string consists of a longest matching string stored in the content addressable memory from the previously received data; d. means for determining which longest matching string stored in the content addressable memory is nearest to a last byte received, if there is more than one longest matching string stored in the content addressable memory; and e. means for outputting a string code representative of each string or a previously written byte if no matching string occurs.
Claim 16
Dependent Claim
184 words
A data compression system comprising: a. means for receiving data from an input source a byte at a time, each byte representing eight bits of information; b. means for simultaneously storing a present data byte into one of a plurality of content addressable memory cells and comparing the present data byte to a plurality of previously received data bytes to determine if the present data byte matches the previously received data bytes wherein state information indicative of a match is transferred between the memory cells and data bytes are not transferred between the memory cells; c. means for grouping data bytes into uncoded bytes and strings, where each string consists of a longest matching string stored in the content addressable memory from the previously received data; d. means for determining which longest matching string stored in the content addressable memory is nearest to a last byte received, if there is more than one longest matching string stored in the content addressable memory; and e. means for outputting a string code representative of each string or a previously written byte if no matching string occurs.
Claim 17
Dependent Claim
21 words
The data compression system as claimed in claim 14 wherein the content addressable memory has means for writing, searching, and reading.
Claim 18
Dependent Claim
45 words
The data compression system as claimed in claim 14 wherein the string code comprises a length value representative of a number of bytes in the string and a position value representative of a position of the longest matching string stored in the content addressable memory.
Claim 19
Dependent Claim
36 words
The data compression system as claimed in claim 14 further comprising a plurality of string match state machines, each of the string match state machines cooperatively coupled to a stored byte in the content addressable memory.
Claim 20
Dependent Claim
86 words
The data compression system as claimed in claim 17 wherein each of the string match state machines comprises three states: a. a first state signalling that the stored byte of data does not match a current input string; b. a second state signalling that the stored byte of data matches only a last byte of the current input string; and c. a third state signalling that a string including the stored byte of data matches at least a last two characters of the current input string.
Claim 21
Dependent Claim
42 words
The data compression system as claimed in claim 18 wherein each of the string match state machines further comprise a fourth state for initialization, wherein upon a reset signal all of the string match state machines are forced into the fourth state.
Claim 22
Dependent Claim
46 words
The data compression system as claimed in claim 14 wherein the means for simultaneously storing and comparing further comprises an array of a plurality of string match modules, each string match module comprising a CAM word, a string match state machine and an address logic module.
Claim 23
Dependent Claim
26 words
The data compression system as claimed in claim 20 wherein the array of a plurality of string match modules are arranged in a one-dimensional circular queue.
Claim 24
Dependent Claim
26 words
The data compression system as claimed in claim 20 wherein the array of a plurality of string match modules are arranged in both columns and rows.
Claim 25
Dependent Claim
17 words
The data compression system as claimed in claim 14 further comprising means for decompressing previously compressed data.
Claim 26
Dependent Claim
29 words
The data compression system as claimed in claim 14 wherein the means for simultaneously storing and comparing processes the data at a rate of one byte per clock cycle.
Claim 27
Dependent Claim
225 words
A data compression system, for receiving data and compressing it at a rate of one byte per clock cycle, the compression system comprising: a. means for receiving data from an input source a byte at a time, each byte representing eight bits of information; b. an array of string match modules coupled to the means for receiving data comprising: i. a content addressable memory comprising a first plurality of CAM words, each CAM word capable of storing an input byte and simultaneously comparing subsequently received input bytes to stored data to determine if the subsequently received input bytes match stored data; and ii. a third plurality of string match state machines where state information is passed in a same direction as a direction followed by an active write pointer; c. means for grouping the received input bytes into uncoded bytes and strings, each string comprising a fourth plurality of input bytes; d. means for determining which longest matching string stored in the content addressable memory is nearest to a last byte received, if there is more than one longest matching string stored in the content addressable memory; and e. means for outputting a string code or a previously written byte if no matching string occurs, representative of each string, each string correspondingly matching a stored string of input bytes stored in the content addressable memory.
Claim 28
Dependent Claim
225 words
A data compression system, for receiving data and compressing it at a rate of one byte per clock cycle, the compression system comprising: a. means for receiving data from an input source a byte at a time, each byte representing eight bits of information; b. an array of string match modules coupled to the means for receiving data comprising: i. a content addressable memory comprising a first plurality of CAM words, each CAM word capable of storing an input byte and simultaneously comparing subsequently received input bytes to stored data to determine if the subsequently received input bytes match stored data; and ii. a third plurality of string match state machines where state information is passed in a same direction as a direction followed by an active write pointer; c. means for grouping the received input bytes into uncoded bytes and strings, each string comprising a fourth plurality of input bytes; d. means for determining which longest matching string stored in the content addressable memory is nearest to a last byte received, if there is more than one longest matching string stored in the content addressable memory; and e. means for outputting a string code or a previously written byte if no matching string occurs, representative of each string, each string correspondingly matching a stored string of input bytes stored in the content addressable memory.
Claim 29
Dependent Claim
45 words
The data compression system as claimed in claim 25 wherein the string code comprises a length value representative of the number of characters in the string and a position value representative of the position of the longest matching string stored in the content addressable memory.
Claim 30
Dependent Claim
47 words
The data compression system as claimed in claim 26 further comprising means for determining which longest matching string stored in the content addressable memory is nearest to the last input byte received, if there is more than one longest matching string stored in the content addressable memory.
Claim 31
Dependent Claim
36 words
The data compression system as claimed in claim 25 further comprising a plurality of string match state machines, each of the string match state machines cooperatively coupled to a stored byte in the content addressable memory.
Claim 32
Dependent Claim
80 words
The data compression system as claimed in claim 28 wherein each of the string match state machines comprises three states: a. a first state signalling that the stored byte does not match a current input string; b. a second state signalling that the stored byte matches only a last byte of the current input string; and c. a third state signalling that a string including the stored byte matches at least a last two characters of the current input string.
Claim 33
Dependent Claim
41 words
The data compression system as claimed in claim 29 wherein each of the string match state machines comprise a fourth state for initialization, wherein upon a reset signal all of the string match state machines are forced into the fourth state.
Claim 34
Dependent Claim
39 words
The data compression system as claimed in claim 30 wherein the means for receiving data receives a byte of data every clock cycle and the content addressable memory can store and compare a byte of data every clock cycle.