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

Apparatus for translating data formats starting at an arbitrary byte position

Assignee: Apple Inc
•
Filing: 1991-12-30
•
Granted: 1995-04-25
•
Expires: 2011-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats including apparatus for storing data from a first number of input bytes of data, apparatus for selecting unused bytes from the first number of data bytes stored by the apparatus for storing data and from a second number of input bytes of data, apparatus for placing the unused bytes selected in numerical byte order, and apparatus for placing the data in the numerical byte order in byte position for transfer to the format of a destination device.

Inventors

  • 👤 Steven G. Roskowski
  • 👤 Charles M. Flaig
  • 👤 Dean M. Drako

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 16:13
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/76; G06F7/762; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4009; G06F13/4018

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 169 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first storage device storing data from a first number of input bytes of data, a first selector coupled to said first storage device and selecting unused bytes from the first number of data bytes stored by the first storage device and from a second number of input bytes of data, a first rotator coupled to said first selector and placing the unused bytes selected in numerical byte order, according to the number of transfers already made, a second rotator coupled to said first rotator and placing the data in the numerical byte order in an arbitrary byte position for transfer to the format of a destination device, and a counter coupled to said first selector and determining the number of bytes utilized in the format to which the data is to be translated and the number of transfers already made.
Claim 2
Dependent Claim 169 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first storage device storing data from a first number of input bytes of data, a first selector coupled to said first storage device and selecting unused bytes from the first number of data bytes stored by the first storage device and from a second number of input bytes of data, a first rotator coupled to said first selector and placing the unused bytes selected in numerical byte order, according to the number of transfers already made, a second rotator coupled to said first rotator and placing the data in the numerical byte order in an arbitrary byte position for transfer to the format of a destination device, and a counter coupled to said first selector and determining the number of bytes utilized in the format to which the data is to be translated and the number of transfers already made.
Claim 3
Dependent Claim 73 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first storage device comprises a first register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received.
Claim 4
Dependent Claim 86 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first selector comprises a register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received, and a multiplexor for selecting data from the register and following sequential bits of data.
Claim 5
Dependent Claim 48 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first rotator comprises a plurality of multiplexing circuits arranged as a barrel rotator.
Claim 6
Dependent Claim 70 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the second rotator comprises a plurality of multiplexing circuits arranged as a barrel rotator responsive to an indication of the output format to rotate the data into the byte lane in which the data should appear.
Claim 7
Dependent Claim 125 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first storage device comprises a first register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received; and the first selector comprises a second register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received, and a multiplexor for selecting data from the first and the second registers.
Claim 8
Dependent Claim 174 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 further comprising a second storage device coupled to said second rotator for storing data from a first number of input bytes of data appearing in the format of a destination device, a second selector coupled to said second storage device for selecting unused bytes from the first number of data bytes stored by the second storage device and from a second number of input bytes of data in the format of the destination device, a third rotator coupled to said second selector for placing the unused bytes selected by the second selector in numerical byte order, and a fourth rotator coupled to said third rotator for placing the data in the numerical byte order in byte position for transfer to the format of the input device whereby the format of data may be translated to and from two individual formats of data.
Claim 9
Dependent Claim 125 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first storage device comprises a first register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received; and the first selector comprises a second register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received, and a multiplexor for selecting data from the first and the second registers.
Claim 10
Dependent Claim 173 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 8 further comprising a second storage device coupled to said second rotator for storing data from a first number of input bytes of data appearing in the format of a destination device, a second selector coupled to said second storage device for selecting unused bytes from the first number of data bytes stored by the second storage device and from a second number of input bytes of data in the format of the destination device, a third rotator coupled to said second selector for placing the unused bytes selected by the second selector in numerical byte order, a fourth rotator coupled to said third rotator for placing the data in the numerical byte order in byte position for transfer to the format of the input device whereby the format of data may be translated to and from two individual formats of data.
Claim 11
Dependent Claim 125 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first storage device comprises a first register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received; and the first selector comprises a second register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received, and a multiplexor for selecting data from the first and the second registers.
Claim 12
Dependent Claim 174 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 10 further comprising a second storage device coupled to said second rotator for storing data from a first number of input bytes of data appearing in the format of a destination device, a second selector coupled to said second storage device for selecting unused bytes from the first number of data bytes stored by the second storage device and from a second number of input bytes of data in the format of the destination device, a third rotator coupled to said second selector for placing the unused bytes selected by the second selector in numerical byte order, and a fourth rotator coupled to said third rotator for placing the data in the numerical byte order in byte position for transfer to the format of the input device whereby the format of data may be translated to and from two individual formats of data.
Claim 13
Dependent Claim 125 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the first storage device comprises a first register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received; and the first selector comprises a second register having a number of bit positions equal to the number of bits in the largest format to be converted and capable of storing bits in sequential order as they are received, and a multiplexor for selecting data from the first and the second registers.
Claim 14
Dependent Claim 174 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 12 further comprising a second storage device coupled to said second rotator for storing data from a first number of input bytes of data appearing in the format of a destination device, a second selector coupled to said second storage device for selecting unused bytes from the first number of data bytes stored by the second storage device and from a second number of input bytes of data in the format of the destination device, a thirst rotator coupled to said second selector for placing the unused bytes selected by the second selector in numerical byte order, and a fourth rotator coupled to said third rotator for placing the data in the numerical byte order in byte position for transfer to the format of the input device whereby the format of data may be translated to and from two individual formats of data.
Claim 15
Dependent Claim 40 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 1 in which the counter comprises combinatorial logic circuitry.
Claim 16
Dependent Claim 46 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 14 in which an address for data to be translated is transferred to the counter.
Claim 17
Dependent Claim 182 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first channel including a storage device for storing data appearing in a first format in groups each equal to the number of bytes of data in a second format, a selector coupled to said storage device and selecting unused bytes from a first one of the groups stored by the storage device and from a second one of the groups stored by the storage device, a first rotator coupled to said selector and placing the unused bytes selected in numerical byte order according to the number of transfers already made, a second rotator coupled to said first rotator and placing the data in the numerical byte order in an arbitrary byte position for transfer to the format of a destination device, and a counter coupled to said selector and determining the number of bytes utilized in the format to which the data is to be translated and the number of transfers already made.
Claim 18
Dependent Claim 182 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first channel including a storage device for storing data appearing in a first format in groups each equal to the number of bytes of data in a second format, a selector coupled to said storage device and selecting unused bytes from a first one of the groups stored by the storage device and from a second one of the groups stored by the storage device, a first rotator coupled to said selector and placing the unused bytes selected in numerical byte order according to the number of transfers already made, a second rotator coupled to said first rotator and placing the data in the numerical byte order in an arbitrary byte position for transfer to the format of a destination device, and a counter coupled to said selector and determining the number of bytes utilized in the format to which the data is to be translated and the number of transfers already made.
Claim 19
Dependent Claim 62 words
A circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats as claimed in claim 16 further comprising a second channel for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats.
Claim 20
Independent Claim 135 words
A method for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising: storing data from a first number of input bytes of data in a storage device; selecting unused bytes from the first number of data bytes stored by the storage device and from a second number of input bytes of data; determining the number of bytes consumed; placing the unused bytes selected in numerical byte order according to said number of bytes consumed; determining a starting byte position of a format of a destination device wherein said starting byte position is at an arbitrary location; and placing the data in the numerical byte order in said starting byte position for transfer to the format of said destination device.
Claim 21
Independent Claim 135 words
A method for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising: storing data from a first number of input bytes of data in a storage device; selecting unused bytes from the first number of data bytes stored by the storage device and from a second number of input bytes of data; determining the number of bytes consumed; placing the unused bytes selected in numerical byte order according to said number of bytes consumed; determining a starting byte position of a format of a destination device wherein said starting byte position is at an arbitrary location; and placing the data in the numerical byte order in said starting byte position for transfer to the format of said destination device.
Claim 22
Independent Claim 141 words
A method for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first channel including: storing data appearing in a first format in groups each equal to the number of bytes of data in a second format; selecting unused bytes from a first one of the groups stored and from a second one of the groups stored; determining the number of bytes consumed; placing the unused bytes selected in numerical byte order according to said number of bytes consumed; determining a starting byte position of a format of a destination device wherein said starting byte position is at an arbitrary location; and placing the data in the numerical byte order in said starting byte position for transfer to the format of said destination device.
Claim 23
Independent Claim 141 words
A method for translating data in one of a plurality of data formats into data in any of the other of the plurality of the data formats comprising a first channel including: storing data appearing in a first format in groups each equal to the number of bytes of data in a second format; selecting unused bytes from a first one of the groups stored and from a second one of the groups stored; determining the number of bytes consumed; placing the unused bytes selected in numerical byte order according to said number of bytes consumed; determining a starting byte position of a format of a destination device wherein said starting byte position is at an arbitrary location; and placing the data in the numerical byte order in said starting byte position for transfer to the format of said destination device.
Claim 24
Dependent Claim 222 words
A translation circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of data formats comprising: a first register which stores data from a first number of input bytes of data, said first register being coupled to an input of said translation circuit for translating data; a first multiplexer coupled to said first register, said first multiplexer selecting unused bytes from the first number of data bytes stored by the first storage device and from a second number of input bytes of data; a first rotator coupled to said first multiplexer, said first rotator placing the unused bytes selected in numerical byte order; a counter coupled to said first multiplexer and to said first rotator, said counter counting the number of transfers from an output of said translation circuit and controlling said first multiplexer to thereby select said unused bytes; a second register coupled to said first rotator to receive data from an output of said first rotator and to store said data from said output of said first rotator; a second rotator coupled to second register, said second rotator placing the data in the numerical byte order in an arbitrary byte position for transfer to a destination device, said second rotator coupled to said output of said translation circuit.
Claim 25
Dependent Claim 222 words
A translation circuit for translating data in one of a plurality of data formats into data in any of the other of the plurality of data formats comprising: a first register which stores data from a first number of input bytes of data, said first register being coupled to an input of said translation circuit for translating data; a first multiplexer coupled to said first register, said first multiplexer selecting unused bytes from the first number of data bytes stored by the first storage device and from a second number of input bytes of data; a first rotator coupled to said first multiplexer, said first rotator placing the unused bytes selected in numerical byte order; a counter coupled to said first multiplexer and to said first rotator, said counter counting the number of transfers from an output of said translation circuit and controlling said first multiplexer to thereby select said unused bytes; a second register coupled to said first rotator to receive data from an output of said first rotator and to store said data from said output of said first rotator; a second rotator coupled to second register, said second rotator placing the data in the numerical byte order in an arbitrary byte position for transfer to a destination device, said second rotator coupled to said output of said translation circuit.
Claim 26
Dependent Claim 101 words
A translation circuit as in claim 20 wherein said first register has a number of bit positions equal to the number of bits in the largest format to be converted and is capable of storing bits in sequential order as they are received, and wherein said first rotater comprises a plurality of multiplexing circuits arranged as a first barrel rotator, and wherein said second rotator comprises a plurality of multiplexing circuits arranged as a second barrel rotator that is responsive to and on indication of the output format to rotate data into the byte lane in which the data should appear.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-04-24 1998-10-24 1999-04-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-04-24 2002-10-24 2003-04-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-04-24 2006-10-24 2007-04-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag