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
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.
References Cited (Backward Citations)
US3109162A
Cited
US4276611A
Cited
EP0038189A1
Cited
US4402040A
Cited
US4423480A
Cited
US4413258A
Cited
US4525849A
Cited
US4621342A
Cited
US4606002A
Cited
EP0127007A2
Cited
US4620278A
Cited
EP0141724A2
Cited
US4766536A
Cited
US4766538A
Cited
US4683534A
Cited
US5113369A
Cited
EP0240749A2
Cited
US4837682A
Cited
US5111424A
Cited
US4937733A
Cited
US4864496A
Cited
US5193197A
Cited
US4965723A
Cited
US4920486A
Cited
US4956771A
Cited
US5097437A
Cited
US4953081A
Cited
US5222223A
Cited
US5193149A
Cited
US5167019A
Cited
US5179557A
Cited
US5151994A
Cited
US5220653A
Cited
US5191653A
Cited
US5265215A
Cited
GB2256563A
Cited
US5155484A
Cited
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 |