System and method for perfoming scalable embedded parallel data compression
First Claim
1. A dynamic random access memory (DRAM) module, comprising:
- one or more memory devices for storing data; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing parallel data compression which processes stream data at more than a single byte or symbol (character) at one time. The parallel compression engine modifies a single stream dictionary based data compression method to provide scalable, high bandwidth compression. The parallel compression method examines a plurality of symbols in parallel, thus providing improved compression performance. Several types of devices and components are described that may include the parallel compression engine. Several devices are described that may include the parallel compression engine, including intelligent devices, network devices, adapters and other network connection devices, consumer devices, set-top boxes, digital-to-analog and analog-to-digital converters, digital data recording, reading and storage devices, optical data recording, reading and storage devices, scanners with optical character recognition, solid state storage devices, processors, bus bridges, memory modules, and cache controllers.
216 Citations
305 Claims
-
1. A dynamic random access memory (DRAM) module, comprising:
-
one or more memory devices for storing data; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A device comprising:
-
a processor; and
one or more dynamic random access memory (DRAM) modules coupled to the processor and operable to store data received from the processor;
wherein at least one of the one or more DRAM modules includes a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (12, 13, 14)
-
-
15. A dual in-line memory module (DIMM), comprising:
-
one or more memory devices for storing data; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A device comprising:
-
a processor; and
one or more dual in-line memory modules (DIMMs) coupled to the processor and operable to store data received from the processor;
wherein at least one of the one or more DIMMs includes a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (24)
-
-
25. A processor, comprising:
-
one or more registers;
an execution core; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A device comprising:
-
a processor; and
memory coupled to the processor and operable to store data received from the processor;
wherein the processor includes a parallel compression engine for compressing uncompressed data including the data sent to the memory for storing;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (34)
-
-
35. A cache controller, comprising:
-
cache memory control logic for controlling a cache memory; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
-
43. A device including a cache controller having an embedded parallel compression engine, the device comprising:
-
a processor;
cache memory which stores data used by said processor for executing one or more applications; and
a cache controller coupled to the cache memory and the processor, wherein the cache controller performs cache memory control functions for the cache memory, wherein the cache controller includes the parallel compression engine for compressing uncompressed data transferred to or from the cache memory;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (44)
-
-
45. A bus bridge, comprising:
-
bus bridge logic for bridging a first bus to a second bus; and
a parallel compression engine for compressing uncompressed data transferred between the first bus and the second bus, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
-
-
53. A device comprising:
-
a first bus;
a second bus; and
a bus bridge for bridging the first bus to the second bus, wherein the bus bridge includes a parallel compression engine for compressing uncompressed data transferred between the first bus and the second bus;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (54)
-
-
55. A solid state storage device, comprising:
-
one or more memory boards for storing data;
a processor board operable to manage the storage of the data on the one or more memory boards;
a memory bus operable to couple the memory boards to the processor board;
an interface board operable to couple the solid state storage device to a host system for receiving and sending the data; and
a parallel compression engine for compressing uncompressed data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62)
-
-
63. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a solid state storage device operable to store data received from one or more of the processor and the system memory, wherein the solid state storage device comprises;
one or more memory boards for storing the data; and
a parallel compression engine for compressing the data;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (64)
-
-
65. An intelligent device comprising:
-
a processor; and
a parallel compression engine for compressing uncompressed data within the device, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output the compressed data in response to the match information. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72)
-
-
73. A network hub comprising:
-
hub logic for receiving data from one or more sources on the network and sending the data to one or more destinations on the network; and
a parallel compression engine for compressing the received data prior to said sending, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80)
-
-
81. A network switch comprising:
-
switch logic for selecting paths for sending data to destinations on the network; and
a parallel compression engine for compressing uncompressed data prior to said sending, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (82, 83, 84, 85, 86, 87, 88)
-
-
89. A network bridge comprising:
-
bridge logic for connecting two or more networks; and
a parallel compression engine for compressing uncompressed data received on one of the two or more networks prior to transferring the data to at least one other of the two or more networks, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (90, 91, 92, 93, 94, 95, 96)
-
-
97. A network router comprising:
-
router logic operable to route data on one or more networks; and
a parallel compression engine for compressing uncompressed data during said routing, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (98, 99, 100, 101, 102, 103, 104)
-
-
105. A network brouter comprising:
-
bridge logic operable to connect two or more networks;
router logic operable to route data on the two or more networks; and
a parallel compression engine for compressing uncompressed data in transit through the brouter, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (106, 107, 108, 109, 110, 111, 112)
-
-
113. A multiplexer comprising:
-
multiplexing logic operable to;
receive a plurality of input signals from one or more sources;
multiplex the plurality of signals to form one output multiplexed signal; and
send the output multiplexed signal to a destination;
a parallel compression engine for compressing uncompressed data in the plurality of signals prior to said sending, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (114, 115, 116, 117, 118, 119, 120)
-
-
121. A demultiplexer comprising:
-
demultiplexing logic operable to;
receive a multiplexed signal from a source;
demultiplex the multiplexed signal to produce a plurality of signals; and
send the plurality of signals to one or more destinations;
a parallel compression engine for compressing uncompressed data in the plurality of signals prior to said sending, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (122, 123, 124, 125, 126, 127, 128)
-
-
129. A terminal server comprising:
-
a plurality of ports operable to couple a plurality of devices to the terminal server;
a port operable to couple a network to the terminal server;
data transfer logic operable to transfer data between the network and the plurality of devices; and
a parallel compression engine for compressing uncompressed data during said transferring the data between the network and the plurality of devices, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (130, 131, 132, 133, 134, 135, 136)
-
-
137. A network interface card (NIC), comprising:
-
network interface logic for interfacing a device to a network; and
a parallel compression engine for compressing uncompressed data transferred between the device and the network, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (138, 139, 140, 141, 142, 143, 144)
-
-
145. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a network interface card (NIC) operable to couple the computer system to a network, wherein the network interface card includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the network;
wherein the data transferred between the computer system and the network includes one or more of data transferred between the system memory and the network and data transferred between the processor and the network;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (146)
-
-
147. An Integrated Services Digital Network (ISDN) adapter comprising:
-
logic for interfacing a device to an Integrated Services Digital Network; and
a parallel compression engine for compressing uncompressed data transferred between the device and the ISDN, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information.. - View Dependent Claims (148, 149, 150, 151, 152, 153, 154)
-
-
155. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
an Integrated Services Digital Network (ISDN) adapter operable to couple the computer system to an Integrated Services Digital Network, wherein the ISDN adapter includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the Integrated Services Digital Network;
wherein the data transferred between the computer system and the Integrated Services Digital Network includes one or more of data transferred between the system memory and the Integrated Services Digital Network and data transferred between the processor and the Integrated Services Digital Network;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (156)
-
-
157. An asynchronous transfer mode (ATM) adapter comprising:
-
logic for interfacing a device to an ATM network; and
a parallel compression engine for compressing uncompressed data transferred between the device and the ATM network, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (158, 159, 160, 161, 162, 163, 164)
-
-
165. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
an asynchronous transfer mode (ATM) adapter operable to couple the computer system to a network that supports ATM, wherein the ATM adapter includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the network;
wherein the data transferred between the computer system and the network includes one or more of data transferred between the system memory and the network and data transferred between the processor and the network;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (166)
-
-
167. A modem comprising:
-
modem logic for interfacing a device to an analog data source; and
a parallel compression engine for compressing uncompressed data transferred between the device and the modem, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (168, 169, 170, 171, 172, 173, 174)
-
-
175. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
an modem operable to couple the computer system to an analog data source, wherein the modem includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the analog data source;
wherein the data transferred between the computer system and the analog data source includes one or more of data transferred between the system memory and the analog data source and data transferred between the processor and the analog data source;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (176)
-
-
177. A cable modem for connecting to a network via a cable service, comprising:
-
logic for coupling a device to a network via a cable service; and
a parallel compression engine for compressing uncompressed data transferred between the device and the network, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (178, 179, 180, 181, 182, 183, 184, 185)
-
-
186. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a cable modem operable to couple the computer system to a network via a cable service, wherein the cable modem includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the network;
wherein the data transferred between the computer system and the network includes one or more of data transferred between the system memory and the network and data transferred between the processor and the network;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (187)
-
-
188. A Digital Subscriber Line (DSL) adapter for interfacing a device to a Digital Subscriber Line, the DSL adapter comprising:
-
logic for interfacing the device to the Digital Subscriber Line; and
a parallel compression engine for compressing uncompressed data transferred between the device and the DSL, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information.. - View Dependent Claims (189, 190, 191, 192, 193, 194, 195)
-
-
196. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a Digital Subscriber Line (DSL) adapter operable to couple the computer system to a Digital Subscriber Line, wherein the DSL adapter includes a parallel compression engine for compressing uncompressed data transferred between the computer system and the Digital Subscriber Line;
wherein the data transferred between the computer system and the Digital Subscriber Line includes one or more of data transferred between the system memory and the Digital Subscriber Line and data transferred between the processor and the Digital Subscriber Line;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (197)
-
-
198. A network appliance comprising:
-
network interface logic for interfacing the network appliance to a network; and
a parallel compression engine for compressing uncompressed data transferred between the network appliance and the network, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (199, 200, 201, 202, 203, 204, 205)
-
-
206. A set-top box comprising:
-
logic for enabling a television set to serve as a user interface to the Internet;
logic for enabling the television set to receive and decode digital television (DTV) broadcasts; and
a parallel compression engine for compressing uncompressed data within the set-top box, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (207, 208, 209, 210, 211, 212, 213)
-
-
214. A digital-to-analog converter (DAC), comprising:
-
logic for converting a digital input to an analog output signal; and
a parallel compression engine for compressing uncompressed data in the digital input prior to said converting the digital input to the analog output signal, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (215, 216, 217, 218, 219, 220, 221)
-
-
222. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a digital-to-analog converter (DAC) for converting a digital input to an analog output signal;
wherein the digital-to-analog converter is operable to receive the digital input from one or more of the processor and the system memory;
wherein the DAC includes a parallel compression engine for compressing uncompressed data in the digital input prior to said converting the digital input to the analog output signal;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (223)
-
-
224. An analog-to-digital converter (ADC), comprising:
-
logic for converting an analog input signal to a digital output; and
a parallel compression engine for compressing uncompressed data in the digital output after said converting the analog input signal to the digital output, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (225, 226, 227, 228, 229, 230, 231)
-
-
232. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
an analog-to-digital converter (ADC) for converting an analog input signal to a digital output;
wherein the analog-to-digital converter is operable to provide the digital output to one or more of the processor and the system memory;
wherein the analog-to-digital converter further includes a parallel compression engine for compressing uncompressed data in the digital output after said converting the analog input signal to the digital output;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (233)
-
-
234. A digital data reading system comprising:
-
a storage medium operable to store digital data;
a mechanism for reading the data from the storage medium; and
a parallel compression engine for compressing the data after said reading, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245)
-
-
246. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a digital data reading device operable to read data from a digital storage medium;
wherein the digital data reading device includes logic for transferring the data read from the digital storage medium to one or more of the processor and the system memory; and
wherein the digital data reading device further includes a parallel compression engine for compressing uncompressed data read from the digital storage medium;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (247, 248, 249, 250, 251)
-
-
252. A digital data recording system comprising:
-
input logic for receiving data from one or more sources;
a recordable medium for recording the received data digitally; and
a parallel compression engine for compressing the received data prior to said recording the received data, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263)
-
-
264. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
a digital data recording device coupled to the processor and the system memory and operable to record data digitally to a recordable medium;
wherein the digital data recording device includes logic for receiving the data for recording from one or more of the processor and the system memory; and
wherein the digital data recording device further includes a parallel compression engine for compressing uncompressed data prior to said recording the data to the recordable medium;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (265, 266, 267, 268, 269)
-
-
270. An optical data recording system comprising:
-
input logic for receiving data from one or more sources;
a recordable medium for recording the received data optically; and
a parallel compression engine for compressing the received data prior to said recording the received data optically, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (271, 272, 273, 274, 275, 276, 277, 278)
-
-
279. A computer system comprising:
-
a processor;
system memory coupled to the processor; and
an optical data recording device coupled to the processor and the system memory and operable to record data optically to a recordable medium;
wherein the optical data recording device includes logic for receiving the data to be recorded from one or more of the processor and the system memory; and
wherein the optical data recording device further includes a parallel compression engine for compressing uncompressed data prior to said recording the data to the recordable medium;
wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (280, 281)
-
-
282. A scanner comprising:
-
scanning logic for capturing images by scanning preexisting images;
optical character recognition (OCR) logic for generating data from scanned images; and
a parallel compression engine for compressing the generated data, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (283, 284, 285, 286, 287, 288, 289)
-
-
290. A personal digital assistant (PDA) comprising:
-
a memory operable to store data within the PDA; and
a parallel compression engine for compressing uncompressed data within the PDA including the data stored to the memory, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (291, 292, 293, 294, 295, 296, 297)
-
-
298. A cellular telephone comprising:
-
a memory for storing data within the cellular telephone;
a display operable to display the data; and
a parallel compression engine for compressing uncompressed data in or received by the cellular telephone including the data stored to the memory, wherein the parallel compression engine is operable to;
maintain a history table comprising entries, wherein each entry comprises at least one symbol;
receive the uncompressed data, wherein the uncompressed data comprises a plurality of symbols;
compare the plurality of symbols with entries in the history table in a parallel fashion, wherein said comparing produces compare results;
determine match information for each of the plurality of symbols based on the compare results; and
output compressed data in response to the match information. - View Dependent Claims (299, 300, 301, 302, 303, 304, 305)
-
Specification