← Back to Patent Explorer
US5159336A Expired / Lapsed US ⏱️ 0.0 years remaining

Tape controller with data compression and error correction sharing a common buffer

Assignee: Ditto Inc
•
Filing: 1991-08-13
•
Granted: 1992-10-27
•
Expires: 2011-08-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A controller has a data compression unit and error correcting code unit which share a single common random access memory. The controller is connected between a host computer and a peripheral device such as a tape drive. A second order search for strings of data bytes is enabled or disabled to change the compression ratio, data throughput, and memory bandwidth constraints.

Inventors

  • 👤 Steve Rabin
  • 👤 Peter L. Skeggs

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 22:36
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F11/00; G06F11/07; G06F11/08; G06F11/10; H; H03; H03M; H03M7/00; H03M7/30; H03M7/3084; H03M7/3086; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0682

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 88 words
A controller for connection between a host computer and a peripheral device for said computer comprising: an error correcting code unit; a data compression unit; a single shared random access memory providing buffer memory for both said error correcting unit and said data compression unit; a single memory bus between said shared random access memory, said error correcting code unit and said data compression unit; and an arbiter controlling said ECC unit and said data compression unit to share access to said random access memory across said bus.
Claim 2
Dependent Claim 88 words
A controller for connection between a host computer and a peripheral device for said computer comprising: an error correcting code unit; a data compression unit; a single shared random access memory providing buffer memory for both said error correcting unit and said data compression unit; a single memory bus between said shared random access memory, said error correcting code unit and said data compression unit; and an arbiter controlling said ECC unit and said data compression unit to share access to said random access memory across said bus.
Claim 3
Dependent Claim 59 words
The controller recited in claim 1 wherein said data compression unit performs a primary search for repeated occurrences of strings in a stream of data bytes passing from said host computer to said peripheral unit; and means for controlling the search in said data compression unit to alter the compression ratio and the data throughput of said compression unit.
Claim 4
Dependent Claim 64 words
The controller recited in claim 2 wherein said data compression unit includes: means for performing a more extensive second order search in which the stream of bytes being processed is searched for strings of length greater than the current match length; and means for enabling and disabling said means for performing a second order search to adjust the compression rate of said compression unit.
Claim 5
Dependent Claim 67 words
The system recited in claim 3 wherein said controller is connected between said host computer and said peripheral unit and wherein said controller contains a control bit enabling and disabling said second order search, said control bit being set by said controller in response to data throughput from said host computer to increase the ratio of compressed bytes to bytes not compressed, thereby reducing said compression rate.
Claim 6
Dependent Claim 103 words
The controller recited in claim 2 wherein said data compression unit includes: means for storing strings of data bytes which match other strings in a stream of data bytes passing from said host computer to said peripheral unit; means for searching for natural extensions of the current match length as each subsequent byte is processed; means for performing a second order search in which the stream of bytes is searched for strings of length greater than the current match length; and means for enabling and disabling said means for performing said second order search to adjust the compression rate of said compression unit.
Claim 7
Dependent Claim 97 words
The system recited in claim 5 wherein said shared random access memory includes: a history buffer for storing groups of bytes processed by said compression unit; a buffer pointing to the head of a linked list for each byte value appearing in said history buffer; and means for updating said history buffer each time a byte is processed by said compression unit and wherein said second order search is performed if the current match length is not extended, said second order search being performed on all previously processed bytes for strings greater than the current match length.
Claim 8
Dependent Claim 43 words
The system recited in claim 6 wherein said random access memory includes: a pointer buffer containing a linked list of all occurrences of each byte value appearing in said history buffer, and wherein said pointer buffer is updated as each byte is processed.
Claim 9
Dependent Claim 22 words
The system recited in claim 6 further comprising: an input buffer containing input bytes for which no compressed representation has been produced.
Claim 10
Dependent Claim 13 words
The system recited in claim 1 wherein said peripheral is a tape drive.
Claim 11
Dependent Claim 32 words
The system recited in claim 1 wherein said error correcting code unit, said data compression unit, said shared random access memory and said arbiter are integrated into a single VLSI integrated circuit.
Claim 12
Dependent Claim 119 words
A data compression unit for connection between a host computer and a peripheral device for said computer comprising: means for performing a primary search for repeated occurrences of strings in a stream of data bytes passing from said host computer to said peripheral unit; means for controlling the search in said data compression unit to alter the compression ratio and the data throughout of said compression unit; means for performing a more extensive second order search in which the stream of bytes being processed is searched for strings of length greater than the current match length; and means for enabling and disabling said means for performing a second order search to adjust the compression ratio of said compression unit.
Claim 13
Dependent Claim 119 words
A data compression unit for connection between a host computer and a peripheral device for said computer comprising: means for performing a primary search for repeated occurrences of strings in a stream of data bytes passing from said host computer to said peripheral unit; means for controlling the search in said data compression unit to alter the compression ratio and the data throughout of said compression unit; means for performing a more extensive second order search in which the stream of bytes being processed is searched for strings of length greater than the current match length; and means for enabling and disabling said means for performing a second order search to adjust the compression ratio of said compression unit.
Claim 14
Dependent Claim 101 words
The data compression unit recited in claim 11 further comprising: means for storing strings of data bytes which match other strings in a stream of data bytes passing from said host computer to said peripheral unit; means for searching for natural extensions of the current match length as each subsequent byte is processed; means for performing a second order search in which the stream of bytes is searched for strings of length greater than the current match length; and means for enabling and disabling said means for performing said second order search to adjust the compression rate of said compression unit.
Claim 15
Dependent Claim 96 words
The system recited in claim 11 wherein said random access memory includes: a history buffer for storing groups of bytes processed by said compression unit; a buffer pointing to the head of a linked list for each byte value appearing in said history buffer; and means for updating said history buffer each time a byte is processed by said compression unit and wherein said second order search is performed if the current match length is not extended, said second order search being performed on all previously processed bytes for strings greater than the current match length.
Claim 16
Dependent Claim 44 words
The system recited in claim 13 wherein said random access memory further includes: a pointer buffer containing a linked list of all occurrences of each byte value appearing in said history buffer, and wherein said pointer buffer is updated as each byte is processed.
Claim 17
Dependent Claim 22 words
The system recited in claim 13 further comprising: an input buffer containing input bytes for which no compressed representation has been produced.
Claim 18
Dependent Claim 72 words
The system recited in claim 11 wherein said data compression unit is in a controller connected between said host computer and said peripheral unit, and wherein said controller contains a control bit enabling and disabling said second order search, said control bit being set by said controller in response to data throughput from said host computer to increase the ratio of compressed bytes to bytes not compressed, thereby reducing said compression rate.
Claim 19
Dependent Claim 13 words
The system recited in claim 11 wherein said peripheral is a tape drive.

References Cited (Backward Citations)

US4464650A Cited
US4558302A Cited
US4558302B1 Cited
US4847619A Cited
US5003307A Cited
US5016009A Cited
US4929946A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-10-27 1996-04-27 1996-10-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-10-27 2000-04-27 2000-10-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-10-27 2004-04-27 2004-10-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag