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

Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths

Assignee: International Business Machines Corp
•
Filing: 1993-05-28
•
Granted: 1996-08-27
•
Expires: 2013-05-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Hardware logic within a host bridge that connects a CPU local bus to a peripheral bus that determines if data to be transmitted on the CPU local bus is non-contiguous and, if so, substitutes contiguous data for the non-contiguous data to ensure that the CPU local bus does not malfunction. Simultaneously, the hardware translates data transfers between a peripheral bus that is limited by its architecture to data strings of a standard length and a CPU local bus that permits dynamic bus sizing.

Inventors

  • 👤 Gregory N. Santos

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 00:25
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4009; G06F13/4018; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 260 words
An information handling system, comprising: a central processing unit; a system bus connected to said central processing unit; a peripheral bus for connecting peripheral devices thereto, said peripheral bus able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, said peripheral bus including a first enable/non-enable signal which indicates which of said data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of said data substrings within said particular data string contain invalid data; and a host bridge for connecting said system bus to said peripheral bus, said host bridge having associated therewith a logic network which is responsive to said first enable/non-enable signal on said peripheral bus to (i) detect whether said particular data string for a single peripheral bus cycle to be transferred from said peripheral bus to said system bus is incompatible for transfer over said system bus in that it contains at least two valid data substrings separated by at least one invalid data substring, and (ii) convert an incompatible data string into two or more system bus compatible data strings for transference over said system bus in two or more system bus cycles, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring, before said data is transferred from said host bridge over said system bus.
Claim 2
Dependent Claim 260 words
An information handling system, comprising: a central processing unit; a system bus connected to said central processing unit; a peripheral bus for connecting peripheral devices thereto, said peripheral bus able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, said peripheral bus including a first enable/non-enable signal which indicates which of said data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of said data substrings within said particular data string contain invalid data; and a host bridge for connecting said system bus to said peripheral bus, said host bridge having associated therewith a logic network which is responsive to said first enable/non-enable signal on said peripheral bus to (i) detect whether said particular data string for a single peripheral bus cycle to be transferred from said peripheral bus to said system bus is incompatible for transfer over said system bus in that it contains at least two valid data substrings separated by at least one invalid data substring, and (ii) convert an incompatible data string into two or more system bus compatible data strings for transference over said system bus in two or more system bus cycles, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring, before said data is transferred from said host bridge over said system bus.
Claim 3
Dependent Claim 20 words
The information handling system of claim 1, wherein said logic network is implemented in hardware form within said host bridge.
Claim 4
Dependent Claim 65 words
The information handling system of claim 1, wherein said logic network includes a generator for generating a second enable/non-enable signal for each of said two or more system bus compatible data strings based upon (i) said first enable/non-enable signal and (ii) the bit width of a slave connected to the system bus to which said two or more system bus compatible data strings are transferred.
Claim 5
Dependent Claim 77 words
The information handling system of claim 3, wherein said logic network includes a first logic path for converting said incompatible data string to said two or more system bus compatible data strings during a write transfer from said peripheral bus to said system bus and a second logic path for converting said incompatible data string to said two or more system bus compatible data strings during a read transfer from said peripheral bus to said system bus.
Claim 6
Dependent Claim 28 words
The information handling system of claim 4, wherein said logic network includes at least one multiplexor for selecting either said first logic path or said second logic path.
Claim 7
Dependent Claim 16 words
The information handling system of claim 1, wherein said peripheral bus conforms to PCI bus architecture.
Claim 8
Dependent Claim 25 words
The information handling system of claim 1, wherein said peripheral bus has both data and corresponding memory address information multiplexed on a single bus line.
Claim 9
Dependent Claim 32 words
The information handling system of claim 1, wherein a peripheral device connected to said peripheral bus initiates a transfer of said particular data string from said peripheral bus to said system bus.
Claim 10
Dependent Claim 43 words
The information handling system of claim 1, wherein each of said two or more system bus compatible data strings are sequentially transferred from said host bridge to said system bus in direct correspondence with two or more bus cycles of said system bus.
Claim 11
Independent Claim 263 words
A method of transferring data, in an information handling system having a system bus and a peripheral bus connected by a host bridge, between a peripheral device connected to the peripheral bus and a component connected to the system bus, wherein the peripheral bus is able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, and wherein the peripheral bus includes a first enable/non-enable signal which indicates which of the data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of the of data substrings within the particular data string contain invalid data, said method comprising the steps of: (i) detecting, in response to said first enable/non-enable signal on said peripheral bus, whether the particular data string for a single peripheral bus cycle to be transferred from said peripheral bus to said system bus is incompatible for transfer over said system bus in that it contains at least two valid data substrings separated by at least one invalid data substring; (ii) converting an incompatible data string to two or more system bus compatible data strings, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring; and (iii) transferring each of said two or more system bus compatible data strings from said peripheral bus over said system bus in two or more system bus cycles.
Claim 12
Independent Claim 263 words
A method of transferring data, in an information handling system having a system bus and a peripheral bus connected by a host bridge, between a peripheral device connected to the peripheral bus and a component connected to the system bus, wherein the peripheral bus is able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, and wherein the peripheral bus includes a first enable/non-enable signal which indicates which of the data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of the of data substrings within the particular data string contain invalid data, said method comprising the steps of: (i) detecting, in response to said first enable/non-enable signal on said peripheral bus, whether the particular data string for a single peripheral bus cycle to be transferred from said peripheral bus to said system bus is incompatible for transfer over said system bus in that it contains at least two valid data substrings separated by at least one invalid data substring; (ii) converting an incompatible data string to two or more system bus compatible data strings, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring; and (iii) transferring each of said two or more system bus compatible data strings from said peripheral bus over said system bus in two or more system bus cycles.
Claim 13
Dependent Claim 58 words
The method of claim 10, further including the step of generating a second enable/non-enable signal for each of said two or more system bus compatible data strings based upon (i) said first enable/non-enable signal and (ii) the bit width of a slave connected to the system bus that receives said two or more system bus compatible data strings.
Claim 14
Dependent Claim 14 words
The method of claim 10, wherein said peripheral bus conforms to PCI bus architecture.
Claim 15
Dependent Claim 23 words
The method of claim 10, wherein said peripheral bus has both data and corresponding memory address information multiplexed on a single bus line.
Claim 16
Dependent Claim 249 words
A host bridge for connecting a system bus to a peripheral bus in an information handling system, the peripheral bus able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, the peripheral bus including a first enable/non-enable signal which indicates which of the data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of the of data substrings within the particular data string contain invalid data, the host bridge comprising: a detector which is responsive to said first enable/non-enable signal on said peripheral bus for determining whether the particular data string for a single peripheral bus cycle to be transferred from said system bus to said peripheral bus is incompatible for transfer over the system bus in that it contains at least two valid data substrings separated by at least one invalid data substring; and a logic network for (i) converting an incompatible data string to two or more system bus compatible data strings, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring, and (ii) sequentially transferring each of said two or more system bus compatible data strings from said peripheral bus over said system bus in direct correspondence with two or more bus cycles of said system bus.
Claim 17
Dependent Claim 249 words
A host bridge for connecting a system bus to a peripheral bus in an information handling system, the peripheral bus able to transfer data strings each of which has a predetermined bit width defining a plurality of data substrings, each of said plurality of data substrings comprising a plurality of data bits, the peripheral bus including a first enable/non-enable signal which indicates which of the data substrings within a particular data string for a single peripheral bus cycle contain valid data and which of the of data substrings within the particular data string contain invalid data, the host bridge comprising: a detector which is responsive to said first enable/non-enable signal on said peripheral bus for determining whether the particular data string for a single peripheral bus cycle to be transferred from said system bus to said peripheral bus is incompatible for transfer over the system bus in that it contains at least two valid data substrings separated by at least one invalid data substring; and a logic network for (i) converting an incompatible data string to two or more system bus compatible data strings, wherein each of said two or more system bus compatible data strings does not contain at least two valid data substrings separated by at least one invalid data substring, and (ii) sequentially transferring each of said two or more system bus compatible data strings from said peripheral bus over said system bus in direct correspondence with two or more bus cycles of said system bus.
Claim 18
Dependent Claim 15 words
The host bridge of claim 14, wherein said peripheral bus conforms to PCI bus architecture.
Claim 19
Dependent Claim 24 words
The host bridge of claim 14, wherein said peripheral bus has both data and corresponding memory address information multiplexed on a single bus line.
Claim 20
Dependent Claim 20 words
The information handling system of claim 1, wherein both said system bus and said peripheral bus have 32 bit bandwidths.
Claim 21
Dependent Claim 18 words
The method of claim 10, wherein both said system bus and said peripheral bus have 32 bit bandwidths.
Claim 22
Dependent Claim 19 words
The host bridge of claim 14, wherein both said system bus and said peripheral bus have 32 bit bandwidths.
Claim 23
Independent Claim 373 words
A method of transferring bytes of data in a data string from a peripheral bus to a system bus interconnected by a host bridge, wherein the bytes of data in the data string include a number of valid bytes of data which exceeds that which may be transferred across the system bus in a single system bus clock cycle, said method comprising the steps of: (a) initiating a data transfer request with a master device on the peripheral bus targeted for a slave device on the system bus, and generating a first byte enable signal indicating which of the bytes of data in the data string are valid and which are invalid; (b) responding to the data transfer request with the target slave device on the system bus by issuing a bit width signal indicating a bit width of the target slave device; (c) transferring at least one valid byte of data across the system bus to the target slave device, corresponding to the first byte enable signal, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; (d) decoding the issued bit width signal to determine if more than one system bus clock cycle is required to transfer the valid bytes of data in the data string across the system bus to the target slave device; (e) generating a next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, said next byte enable signal masking the valid bytes of data which have already been transferred across the system bus to the target slave device; (f) transferring at least one valid byte of data across the system bus to the target slave device corresponding to the next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; and (g) repeating steps (e) and (f) until all of the valid bytes of data in the data string have been transferred across the system bus to the target slave device.
Claim 24
Independent Claim 373 words
A method of transferring bytes of data in a data string from a peripheral bus to a system bus interconnected by a host bridge, wherein the bytes of data in the data string include a number of valid bytes of data which exceeds that which may be transferred across the system bus in a single system bus clock cycle, said method comprising the steps of: (a) initiating a data transfer request with a master device on the peripheral bus targeted for a slave device on the system bus, and generating a first byte enable signal indicating which of the bytes of data in the data string are valid and which are invalid; (b) responding to the data transfer request with the target slave device on the system bus by issuing a bit width signal indicating a bit width of the target slave device; (c) transferring at least one valid byte of data across the system bus to the target slave device, corresponding to the first byte enable signal, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; (d) decoding the issued bit width signal to determine if more than one system bus clock cycle is required to transfer the valid bytes of data in the data string across the system bus to the target slave device; (e) generating a next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, said next byte enable signal masking the valid bytes of data which have already been transferred across the system bus to the target slave device; (f) transferring at least one valid byte of data across the system bus to the target slave device corresponding to the next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; and (g) repeating steps (e) and (f) until all of the valid bytes of data in the data string have been transferred across the system bus to the target slave device.
Claim 25
Dependent Claim 28 words
The method of claim 20, wherein the target slave device has a bit width of 8 bits and the master device has a bit width of 32 bits.
Claim 26
Dependent Claim 28 words
The method of claim 20, wherein the target slave device has a bit width of 16 bits and the master device has a bit width of 32 bits.
Claim 27
Dependent Claim 39 words
The method of claim 20, wherein each of said transfers of at least one valid byte of data across the system bus to the target slave device is performed during a single bus clock cycle of the system bus.
Claim 28
Dependent Claim 33 words
The method of claim 20, wherein the master device generates said first byte enable signal and the host bridge (i) decodes said bit width signal and (ii) generates the next byte enable signal.
Claim 29
Independent Claim 401 words
A device for use in a computer system having a system bus and a peripheral bus interconnected by a host bridge, for transferring bytes of data in a data string across the host bridge from a master device attached to the peripheral bus to a target slave device attached to the system bus, wherein the bytes of data in the data string include a number of valid bytes of data which exceeds that which may be transferred across the system bus in a single system bus clock cycle, said device comprising: a first byte enable signal generator for generating a first byte enable signal, in response to a data transfer request initiated by the master device, to indicate which of the bytes of data in the data string are valid and which are invalid; a bit width signal generator for generating a bit width signal, in response to the data transfer request, to indicate a bit width of the target slave device; a transfer mechanism for transferring at least one valid byte of data across the system bus to the target slave device, corresponding to the first byte enable signal, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; and a decoder for decoding the issued bit width signal to determine if more than one system bus clock cycle is required to transfer the valid bytes of data in the data string across the system bus to the target slave device; wherein (i) said generator generates a next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, said next byte enable signal masking the at least one valid byte of data which have already been transferred across the system bus to the target slave device, and (ii) said transfer mechanism transfers at least one valid byte of data across the system bus to the target slave device corresponding to the next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle, until all of the valid bytes of data in the data string have been transferred across the system bus to the target slave device.
Claim 30
Independent Claim 401 words
A device for use in a computer system having a system bus and a peripheral bus interconnected by a host bridge, for transferring bytes of data in a data string across the host bridge from a master device attached to the peripheral bus to a target slave device attached to the system bus, wherein the bytes of data in the data string include a number of valid bytes of data which exceeds that which may be transferred across the system bus in a single system bus clock cycle, said device comprising: a first byte enable signal generator for generating a first byte enable signal, in response to a data transfer request initiated by the master device, to indicate which of the bytes of data in the data string are valid and which are invalid; a bit width signal generator for generating a bit width signal, in response to the data transfer request, to indicate a bit width of the target slave device; a transfer mechanism for transferring at least one valid byte of data across the system bus to the target slave device, corresponding to the first byte enable signal, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle; and a decoder for decoding the issued bit width signal to determine if more than one system bus clock cycle is required to transfer the valid bytes of data in the data string across the system bus to the target slave device; wherein (i) said generator generates a next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, said next byte enable signal masking the at least one valid byte of data which have already been transferred across the system bus to the target slave device, and (ii) said transfer mechanism transfers at least one valid byte of data across the system bus to the target slave device corresponding to the next byte enable signal if required to complete the transfer of the valid bytes of data in the data string, without exceeding the number of bytes of data which may be transferred across the system bus in said single system bus clock cycle, until all of the valid bytes of data in the data string have been transferred across the system bus to the target slave device.
Claim 31
Dependent Claim 28 words
The device of claim 25, wherein the target slave device has a bit width of 8 bits and the master device has a bit width of 32 bits.
Claim 32
Dependent Claim 28 words
The device of claim 25, wherein the target slave device has a bit width of 16 bits and the master device has a bit width of 32 bits.
Claim 33
Dependent Claim 39 words
The device of claim 25, wherein each of said transfers of at least one valid byte of data across the system bus to the target slave device is performed during a single bus clock cycle of the system bus.
Claim 34
Dependent Claim 42 words
The method of claim 25, wherein the master device generates said first byte enable signal, the target slave device generates said bit width signal, and the host bridge (i) decodes said bit width signal and (ii) generates said next byte enable signal.
Claim 35
Dependent Claim 60 words
The host bridge of claim 14, further comprising a generator for generating a byte enable signal for each of said two or more system bus compatible data strings based upon the bit width of a component connected to the system bus that functions as a slave during the transfer each of said two or more system bus compatible data strings.

References Cited (Backward Citations)

US4547849A Cited
US5101478A Cited
US4878166A Cited
US5142672A Cited
US5317715A Cited
US5025412A Cited
US5003463A Cited
EP0531559A1 Cited
US5255374A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag