System for selecting and compressing data and sending temporarily stored compressed data on demand to individual ones of peripheral device selected and gated by interrupt signals
First Claim
1. A computer, comprising:
- a CPU;
a memory;
a data compression engine;
a data interface to peripheral devices;
a bus system connecting the CPU, the memory, the data compression engine, and the data interface; and
control routines executable by the CPU for processing and sending data to the data interface;
wherein the CPU, executing the control routines, selects data to go to individual ones of the peripheral devices, compresses the data by using the data compression engine, temporarily stores the compressed data for each peripheral device, and retrieves and sends the compressed data slice by slice to the individual ones of the peripheral devices on demand, selected and gated by interrupt signals from the individual ones of the peripheral devices via the data interface.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and methods are provided for pre-compressing data to be sent to a peripheral device in a computer system, sending the data to the peripheral device as a compressed data stream, and decompressing the data for use in the peripheral device in a real-time format. In a preferred embodiment, a unique peripheral device controller is provided having a data handling and decompression pipeline for receiving and decompressing an incoming compressed data stream in concert with a state machine for sensing the states of elements of the peripheral device, and for providing the decompressed data stream to data-using elements of the peripheral device. The peripheral device can be any device for which large amounts of data are typically needed, including, but not limited to printers, video displays, robotic driving devices, and data recording and media writing devices. Alternative methods are disclosed for compressing and decompressing data in systems according to the invention.
23 Citations
6 Claims
-
1. A computer, comprising:
-
a CPU; a memory; a data compression engine; a data interface to peripheral devices; a bus system connecting the CPU, the memory, the data compression engine, and the data interface; and control routines executable by the CPU for processing and sending data to the data interface; wherein the CPU, executing the control routines, selects data to go to individual ones of the peripheral devices, compresses the data by using the data compression engine, temporarily stores the compressed data for each peripheral device, and retrieves and sends the compressed data slice by slice to the individual ones of the peripheral devices on demand, selected and gated by interrupt signals from the individual ones of the peripheral devices via the data interface. - View Dependent Claims (2)
-
-
3. A computer, comprising:
-
a CPU; a memory; a data interface to peripheral device; a direct memory access (DMA) controller; a bus system connecting the CPU, the memory, the DMA controller and the data interface; and control routines executable by the CPU for processing and sending data to the data interface; wherein the CPU, executing the control routines, selects data to go to individual ones of the peripheral devices, compresses the data, temporarily stores the compressed data, and activates the DMA controller to retrieve the compressed data and to spool and send the compressed data to the individual ones of the peripheral devices selected and gated by the CPU by interrupt signals from the individual ones of the peripheral devices via the data interface. - View Dependent Claims (4)
-
-
5. A method for preparing and sending data to peripheral devices from a host computer, comprising steps of:
-
(a) selecting the data to be sent through use of a CPU in the host computer executing control routines stored in the host computer; (b) compressing the data to be sent by a data compression engine executable by the CPU in the host computer; (c) temporarily storing the data to be sent in a random-access memory of the host computer; (d) retrieving the compressed data slice-by-slice selected and gated on demand by interrupt requests received from individual ones of the peripheral devices, and sending the compressed data to the peripheral devices over a data link connecting the peripheral devices to the host computer.
-
-
6. A method for preparing and sending data to peripheral devices from a host computer, comprising steps of:
-
(a) selecting the data to be sent through use of a CPU in the host computer executing control routines stored in the host computer; (b) compressing the data to be sent by a data compression engine executable by the CPU in the host computer; (c) temporarily storing the data to be sent in a random-access memory of the host computer; (d) activating a direct memory access (DMA) controller in the host computer to retrieve and spool the compressed data selected and gated through the CPU on demand by interrupt requests received from individual ones of the peripheral devices, and to send the compressed data to the peripheral devices over a data link connecting the peripheral devices to the host computer.
-
Specification