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

Method and apparatus for efficiently interfacing variable width data streams to a fixed width memory

Assignee: Unisys Corp
•
Filing: 1994-08-09
•
Granted: 1996-09-24
•
Expires: 2014-08-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus for and method of providing a system whereby a number of processors may communicate with a memory device and wherein the memory device may operate at a slower speed without substantially reducing the band pass of the computer system. Further, one or more of the processors may have a different data word width from the other processors and from the memory device. The present invention may minimize the amount of wasted memory bits contained therein by concatenating data words such that the resulting data word substantially matches the word width of the memory device. The present invention further allows predefined portions of a data word to be placed in an order and concatenated with predefined portions of the same data word or with predefined portions of other data words. A number of predetermined formats define the selection and the order that the predefined portions may be placed. Various formats are contemplated and are described herein.

Inventors

  • 👤 Kevin F. Jennings

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 05:32
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4009; G06F13/4018

Claims Analysis

Total Claims: 65
Claim 1
Independent Claim 217 words
In a data processing system having a first bus wherein the first bus has a first bus width, the first bus for sequentially transmitting a plurality of first data packets wherein the plurality of first data packets have a first data width, the data processing system further having a second bus wherein the second bus has a second width, the second bus for sequentially transmitting a plurality of second data packets wherein the plurality of second data packets have a second data width, the width of the first bus being less than the width of the second bus, the improvement comprising: a. first programmable formatting means coupled to the first bus and further coupled to the second bus for formatting the plurality of first data packets into a plurality of groups, said first programmable formatting means assembling the plurality of first data packets into the plurality of groups as the plurality of first data packets are sequentially transmitted over the first bus, each of the plurality of groups forming a corresponding one of the plurality of second data packets for sequential transmission over the second bus; and b. first control means coupled to said first programmable formatting means for controlling which of the plurality of first data packets are assembled into each of the plurality of groups.
Claim 2
Dependent Claim 217 words
In a data processing system having a first bus wherein the first bus has a first bus width, the first bus for sequentially transmitting a plurality of first data packets wherein the plurality of first data packets have a first data width, the data processing system further having a second bus wherein the second bus has a second width, the second bus for sequentially transmitting a plurality of second data packets wherein the plurality of second data packets have a second data width, the width of the first bus being less than the width of the second bus, the improvement comprising: a. first programmable formatting means coupled to the first bus and further coupled to the second bus for formatting the plurality of first data packets into a plurality of groups, said first programmable formatting means assembling the plurality of first data packets into the plurality of groups as the plurality of first data packets are sequentially transmitted over the first bus, each of the plurality of groups forming a corresponding one of the plurality of second data packets for sequential transmission over the second bus; and b. first control means coupled to said first programmable formatting means for controlling which of the plurality of first data packets are assembled into each of the plurality of groups.
Claim 3
Dependent Claim 19 words
An improvement according to claim 1 wherein the first bus operates at a higher frequency than the second bus.
Claim 4
Dependent Claim 19 words
An improvement according to claim 2 wherein the first bus operates at twice the frequency of the second bus.
Claim 5
Dependent Claim 24 words
An improvement according to claim 3 wherein the width of the second bus is twice as wide as the width of the first bus.
Claim 6
Dependent Claim 62 words
An improvement according to claim 4 wherein said first control means sequentially receives two first data packets from the first bus during two successive bus cycles of the first bus before said first formatting means assembles the two first data packets into a group, the result being transmitted over the second bus on a next succeeding bus cycle of the second bus.
Claim 7
Dependent Claim 21 words
An improvement according to claim 1 wherein each of the plurality of first data packets comprises a plurality of first sub-packets.
Claim 8
Dependent Claim 17 words
An improvement according to claim 6 wherein each of the plurality of first sub-packets comprises a word.
Claim 9
Dependent Claim 32 words
An improvement according to claim 6 wherein each of the plurality of second data packets comprises a plurality of second sub-packets and wherein each of the plurality second sub-packets comprises a byte.
Claim 10
Dependent Claim 23 words
An improvement according to claim 6 wherein each of the plurality of first data packets comprises a MSB sub-packet and an LSB sub-packet.
Claim 11
Dependent Claim 21 words
An improvement according to claim 7 wherein each of the plurality of second data packets comprises a plurality of second sub-packets.
Claim 12
Dependent Claim 17 words
An improvement according to claim 10 wherein each of the plurality of second sub-packets comprises a word.
Claim 13
Dependent Claim 17 words
An improvement according to claim 10 wherein each of the plurality of second sub-packets comprises a byte.
Claim 14
Dependent Claim 23 words
An improvement according to claim 11 wherein each of the plurality of first data packets comprises a MSB sub-packet and an LSB sub-packet.
Claim 15
Dependent Claim 37 words
An improvement according to claim 10 wherein said first control means further controls which of the plurality of sub-packets of each of said plurality of first data packets are assembled into each of the plurality of groups.
Claim 16
Dependent Claim 56 words
An improvement according to claim 12 wherein said first control means is instruction programmable, said instruction having control bits for programmable control such that a predetermined number of the plurality of sub-packets of the plurality of first data packets may be assembled together by said first formatting means to form one of the plurality of groups.
Claim 17
Dependent Claim 42 words
An improvement according to claim 15 wherein said first control means is further programmable such that the plurality of sub-packets of the plurality of first data packets may be assembled together in an order from the MSB sub-packet to the LSB sub-packet.
Claim 18
Dependent Claim 42 words
An improvement according to claim 16 wherein said first control means is further programmable such that the plurality of sub-packets of the plurality of first data packets may be assembled together in an order from the LSB sub-packet to the MSB sub-packet.
Claim 19
Dependent Claim 66 words
An improvement according to claim 14 wherein said first control means is instruction programmable, such instruction having control bits for programmable control such that any predetermined one of the plurality of sub-packets the plurality of first data packets may be assembled together with any other predetermined one of the plurality of sub-packets the plurality of first data packets to form one of the plurality of groups.
Claim 20
Dependent Claim 50 words
An improvement according to claim 1 further comprising a memory wherein the memory is coupled to the second bus, the first control means further being instruction programmable, said instruction having control bits for controlling which of the plurality of first data packets are assembled into each of the plurality groups.
Claim 21
Dependent Claim 19 words
An improvement according to claim 18 further comprising a processor wherein the processor is coupled to the first bus.
Claim 22
Dependent Claim 47 words
An improvement according to claim 20 wherein said first control means is further programmable such that the processor may send a block of data from the processor to the memory, said first formatting means formatting the block of data as the block of data is sequentially transferred.
Claim 23
Dependent Claim 44 words
An improvement according to claim 21 wherein said first control means is further programmable such that the processor may receive a block of data from the memory, said first formatting means formatting the block of data as the block of data is sequentially transferred.
Claim 24
Dependent Claim 51 words
An improvement according to claim 22 wherein said first control means is further programmable such that the memory may send a block of data from the memory to said first formatting means, said first formatting means formatting the block of data and sending the block of data back to the memory.
Claim 25
Dependent Claim 61 words
An improvement according to claim 20 wherein the memory comprises a plurality of memory devices wherein each of the plurality of memory devices is coupled to a corresponding one of the plurality of sub-packet of the plurality of second data packets and wherein the corresponding one of the plurality of memory device stores the corresponding one of the plurality of sub-packets.
Claim 26
Dependent Claim 75 words
An improvement according to claim 24 wherein each of the plurality of memory devices has contents and are separately enabled such that the corresponding one of the plurality of sub-packets of the plurality of second data packets that is coupled to the corresponding one of the plurality of memory devices is stored in the corresponding one of the plurality of memory devices without disturbing the contents of the other of the plurality of memory devices.
Claim 27
Dependent Claim 111 words
An improvement according to claim 1 further comprising: c. second formatting means coupled to the first bus and further coupled to the second bus for formatting a plurality of second data packets, said second formatting means disassembling the plurality of second data packets into a plurality of first data packets as the plurality of second data packets are sequentially transmitted over the second bus, each of the plurality of first data packets being sequential transmitted over the first bus; and d. second control means coupled to said second formatting means for controlling which of the plurality of second data packets are disassembled into each of the plurality of first data packets.
Claim 28
Dependent Claim 19 words
An improvement according to claim 26 wherein the first bus operates at a higher frequency than the second bus.
Claim 29
Dependent Claim 19 words
An improvement according to claim 27 wherein the first bus operates at twice the frequency of the second bus.
Claim 30
Dependent Claim 24 words
An improvement according to claim 28 wherein the width of the second bus is twice as wide as the width of the first bus.
Claim 31
Dependent Claim 70 words
An improvement according to claim 29 wherein said second control means sequentially receives one second data packets from the second bus during one successive bus cycles of the second bus, then said second formatting means disassembles the one second data packet and produces two first data packets, the resulting two first data packets being transmitted over the first bus on the next succeeding two bus cycle of the first bus.
Claim 32
Dependent Claim 211 words
A data processing system having a first bus wherein the first bus has a first bus width, the first bus for sequentially transmitting a plurality of first data packets wherein the plurality of first data packets have a first data width, the data processing system further having a second bus wherein the second bus has a second width, the second bus for sequentially transmitting a plurality of second data packets wherein the plurality of second data packets have a second data width, the width of the first bus being less than the width of the second bus, comprising: a. a memory processor coupled to the first bus and further coupled to the second bus for programming one of a plurality of formatting functions and formatting the plurality of first data packets into a plurality of groups, said memory processor assembling the plurality of first data packets into the plurality of groups as the plurality of first data packets are sequentially transmitted over the first bus, each of the plurality of groups forming a corresponding one of the plurality of second data packets for sequential transmission over the second bus; the memory processor further controlling which of the plurality of first data packets are assembled into each of the plurality of groups.
Claim 33
Dependent Claim 211 words
A data processing system having a first bus wherein the first bus has a first bus width, the first bus for sequentially transmitting a plurality of first data packets wherein the plurality of first data packets have a first data width, the data processing system further having a second bus wherein the second bus has a second width, the second bus for sequentially transmitting a plurality of second data packets wherein the plurality of second data packets have a second data width, the width of the first bus being less than the width of the second bus, comprising: a. a memory processor coupled to the first bus and further coupled to the second bus for programming one of a plurality of formatting functions and formatting the plurality of first data packets into a plurality of groups, said memory processor assembling the plurality of first data packets into the plurality of groups as the plurality of first data packets are sequentially transmitted over the first bus, each of the plurality of groups forming a corresponding one of the plurality of second data packets for sequential transmission over the second bus; the memory processor further controlling which of the plurality of first data packets are assembled into each of the plurality of groups.
Claim 34
Dependent Claim 21 words
A data processing system according to claim 31 wherein the first bus operates at a higher frequency than the second bus.
Claim 35
Dependent Claim 21 words
A data processing system according to claim 32 wherein the first bus operates at twice the frequency of the second bus.
Claim 36
Dependent Claim 26 words
A data processing system according to claim 33 wherein the width of the second bus is twice as wide as the width of the first bus.
Claim 37
Dependent Claim 63 words
A data processing system according to claim 34 wherein said memory processor sequentially receives two first data packets from the first bus during two successive bus cycles of the first bus before said memory processor assembles the two first data packets into a group, the resulting group being transmitted over the second bus on a next succeeding bus cycle of the second bus.
Claim 38
Dependent Claim 23 words
A data processing system according to claim 31 wherein each of the plurality of first data packets comprises a plurality of first sub-packets.
Claim 39
Dependent Claim 19 words
A data processing system according to claim 35 wherein each of the plurality of first sub-packets comprises a word.
Claim 40
Dependent Claim 35 words
A data processing system according to claim 36 wherein each of the plurality of second data packets comprises a plurality of second sub-packets and wherein each of the plurality of second sub-packets comprises a byte.
Claim 41
Dependent Claim 25 words
A data processing system according to claim 37 wherein each of the plurality of first data packets comprises a MSB sub-packet and an LSB sub-packet.
Claim 42
Dependent Claim 23 words
A data processing system according to claim 37 wherein each of the plurality of second data packets comprises a plurality of second sub-packets.
Claim 43
Dependent Claim 19 words
A data processing system according to claim 40 wherein each of the plurality of second sub-packets comprises a word.
Claim 44
Dependent Claim 19 words
A data processing system according to claim 40 wherein each of the plurality of second sub-packets comprises a byte.
Claim 45
Dependent Claim 25 words
A data processing system according to claim 41 wherein each of the plurality of first data packets comprises a MSB sub-packet and an LSB sub-packet.
Claim 46
Dependent Claim 38 words
A data processing system according to claim 40 wherein said memory processor further controls which of the plurality of sub-packets of each of said plurality of first data packets are assembled into each of the plurality of groups.
Claim 47
Dependent Claim 56 words
A data processing system according to claim 43 wherein said memory processor is instruction programmable, said instruction having control bits for programmable control such that a predetermined number of the plurality of sub-packets of the plurality of first data packets may be assembled together by said formatting means to form one of the plurality of groups.
Claim 48
Dependent Claim 43 words
A data processing system according to claim 45 wherein said memory processor is further programmable such that the plurality of sub-packets of the plurality of first data packets may be assembled together in an order from the MSB sub-packet to the LSB sub-packet.
Claim 49
Dependent Claim 43 words
A data processing system according to claim 46 wherein said memory processor is further programmable such that the plurality of sub-packets of the plurality of first data packets may be assembled together in an order from the LSB sub-packet to the MSB sub-packet.
Claim 50
Dependent Claim 69 words
A data processing system according to claim 44 wherein said memory processor is instruction programmable, said instruction having control bits for programmable control such that any predetermined one of the plurality of sub-packets of the plurality of first data packets may be assembled together with any other predetermined one of the plurality of sub-packets of the plurality of fist data packets to form one of the plurality of groups.
Claim 51
Dependent Claim 52 words
A data processing system according to claim 36 further comprising a memory wherein the memory is coupled to the second bus, the memory processor further being instruction programmable, said instruction having control bits for controlling which of the plurality of first data packets are assembled into each of the plurality of groups.
Claim 52
Dependent Claim 21 words
A data processing system according to claim 49 further comprising a processor wherein the processor is coupled to the first bus.
Claim 53
Dependent Claim 47 words
A data processing system according to claim 50 wherein said memory processor is further programmable such that the processor may send a block of data from the processor to the memory, said memory processor formatting the block of data as the block of data is sequentially transferred.
Claim 54
Dependent Claim 44 words
A data processing system according to claim 51 wherein said memory processor is further programmable such that the processor may receive a block of data from the memory, said memory processor formatting the block of data as the block of data is sequentially transferred.
Claim 55
Dependent Claim 50 words
A data processing system according to claim 52 wherein said memory processor is further programmable such that the memory may send a block of data from the memory to said memory processor, said memory processor formatting the block of data and sending the block of data back to the memory.
Claim 56
Dependent Claim 64 words
A data processing system according to claim 50 wherein the memory comprises a plurality of memory devices wherein each one of the plurality of memory devices is coupled to a corresponding one of the plurality of sub-packet of the plurality of second data packets and wherein the corresponding one of the plurality of memory device stores the corresponding one of the plurality of sub-packets.
Claim 57
Dependent Claim 77 words
A data processing system according to claim 54 wherein each of the plurality of memory devices has contents and are separately enabled such that the corresponding one of the plurality of sub-packets of the plurality of second data packets that is coupled to the corresponding one of the plurality of memory devices is stored in the corresponding one of the plurality of memory devices without disturbing the contents of the other of the plurality of memory devices.
Claim 58
Dependent Claim 90 words
A data processing system according to claim 31 wherein the memory processor further formats a plurality of second data packets, said memory processor disassembling the plurality of second data packets into a plurality of first data packets as the plurality of second data packets are sequentially transmitted over the second bus, each of the plurality of first data packets being sequential transmitted over the first bus; said memory processor further controlling which of the plurality of second data packets are disassembled into each of the plurality of first data packets.
Claim 59
Dependent Claim 21 words
A data processing system according to claim 56 wherein the first bus operates at a higher frequency than the second bus.
Claim 60
Dependent Claim 21 words
A data processing system according to claim 57 wherein the first bus operates at twice the frequency of the second bus.
Claim 61
Dependent Claim 26 words
A data processing system according to claim 58 wherein the width of the second bus is twice as wide as the width of the first bus.
Claim 62
Dependent Claim 71 words
A data processing system according to claim 59 wherein said memory processor sequentially receives one second data packets from the second bus during one successive bus cycles of the second bus, then said memory processor may disassemble the one second data packet and produces two first data packets, the resulting two first data packets being transmitted over the first bus on the next succeeding two bus cycle of the first bus.
Claim 63
Independent Claim 71 words
A method for interfacing between a first bus and a second bus wherein the second bus is wider than the first bus, comprising: a. programming one of a plurality of formatting functions; b. receiving a plurality of first data packets from the first bus; c. formatting a predetermined number of the plurality of first data packets into a second data packet; d. writing the second data packet onto the second bus.
Claim 64
Independent Claim 71 words
A method for interfacing between a first bus and a second bus wherein the second bus is wider than the first bus, comprising: a. programming one of a plurality of formatting functions; b. receiving a plurality of first data packets from the first bus; c. formatting a predetermined number of the plurality of first data packets into a second data packet; d. writing the second data packet onto the second bus.
Claim 65
Dependent Claim 35 words
A method according to claim 61 wherein said formatting step further comprises: a. arranging the predetermined number of the plurality of first data packets such that the resulting second data packet has a predetermined width.

References Cited (Backward Citations)

US4309754A Cited
US4595911A Cited
US4716527A Cited
US4860198A Cited
US4878166A Cited
US5255378A Cited
US5388227A Cited
US5195185A Cited
US5202966A Cited
US5255374A Cited
US5255375A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-09-24 2000-03-25 2000-09-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-09-24 2004-03-25 2004-09-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-09-24 2008-03-25 2008-09-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag