Claims
- 1. A defect tolerant integrated circuit subsystem having a plurality of modules, a hierarchical bus connecting to said modules and bus masters for controlling bus operation, comprising:
tri-stateable transceivers for controlling signal transfer directions in said bus or cutting off signal transfer; and programmable switches for isolating defective bus segments and modules from a reminder of said subsystem.
- 2. A defect-tolerant integrated circuit subsystem as in claim 1, wherein at least one said module comprises two identification registers for storing an identification code associated with said module.
- 3. A defect-tolerant integrated circuit subsystem as in claim 2, wherein said identification registers comprise a nonvolatile memory element and a logic circuit.
- 4. A defect-tolerant integrated circuit subsystem as in claim 2, wherein said identification registers further form a base address for a memory block inside said module.
- 5. A defect-tolerant integrated circuit subsystem as in claim 1, wherein at least one said module comprises a control register having a disable bit for disabling said module.
- 6. A method for communication between a communicating module in a plurality of memory modules and a memory controller through a bus having a set of signal lines and a set of control lines comprising the steps of:
using a source-synchronous scheme for transferring data, address and timing information through the set of signal lines; and using an asynchronous scheme for transferring bus control signals through the set of control lines.
- 7. A method as in claim 6, wherein a path on the bus through which said data and address information pass and a path on the bus through which said timing information passes are fully matched.
- 8. A method as in claim 6, wherein said information transferred according to said source-synchronous scheme is in packets.
- 9. A method as in claim 8, wherein said bus control signals control said bus into one of idle, receiving, transmitting and high impedance states.
- 10. A method as in claim 8, wherein said bus control signals comprise bus busy control, transmit/receive control and high impedance control.
- 11. A method as in claim 10, wherein a falling edge of said bus busy control signals the beginning of a packet transfer and a rising edge of said bus busy control indicates the end of a transfer.
- 12. A method as in claim 8, wherein said packets of information comprise command packets and data packets.
- 13. A method as in claim 12, wherein said command packets are broadcast by said controller to said plurality of memory modules.
- 14. A method as in claim 12, wherein said data packets are sent using a point-to-point communication mode.
- 15. A method as in claim 14, wherein only a portion of said bus that connects between said communicating module and said memory controller is activated during said point-to-point communication mode.
- 16. A bus on a semiconductor device for communication between a communicating module and a bus master comprising circuitry for asynchronous transfer of bus state control signals.
- 17. A bus on semiconductor device as in claim 16, wherein said communication comprises broadcasting in a broadcast communication mode and a point-to-point communication mode.
- 18. A bus on semiconductor device as in claim 17, wherein only a portion of said bus that connects between said communicating module and said bus master is activated during said point-to-point communication mode.
- 19. A bus on semiconductor device as in claim 16, further comprising means for source-synchronously transferring of command, data, address and clock signals in packets.
- 20. A bus on semiconductor device as in claim 19, wherein said data signal comprises a command packet format containing an identification number of a addressed module and operation instruction for said addressed module.
- 21. A fault-tolerant hierarchical bus system on an integrated circuit for establishing communication links between communicating modules of multiple circuit modules and an outside module-requesting device through at least one bus master and system bus of a digital system comprising:
at least one root bus branch in a first level of the hierarchy; a plurality of bus segments in a second level; and a plurality of local bus branches in a third level; said root bus branch connecting said bus master to said plurality of bus segments through a root transceiver; said bus segments in the second level being arranged into grids joined together by bus transceivers and bus switches; and said local bus branches each being connected to said bus segments in the second level and being arranged into a tree with at least two circuit modules connecting to a local bus transceiver.
- 22. A bus system as in claim 21, wherein said bus switches are programmable thereby to form a bus configuration which isolates defective bus segments and modules.
- 23. A bus system as in claim 22, wherein said bus switches include of anti-fuses.
- 24. A bus system as in claim 21, wherein said root transceiver, said bus transceiver and said local bus transceiver each include a set of bi-directional tri-state buffers.
- 25. A bus system as in claim 24, wherein said bi-directional, tri-state buffers can be disabled through programmable switches in said bi-directional, tri-state buffers.
- 26. A bus system as in claim 24, wherein said each transceiver comprises a control unit for controlling communication directions.
- 27. A bus system as in claim 26, wherein said control unit comprises two outputs for controlling said bi-directional, tri-state buffer and two input pairs of four control signals which pair control said outputs according to a position of said bus master relative to said transceiver.
- 28. A bus system as in claim 26, wherein said control unit comprises a control register for determining bus configuration to-isolate defective bus segments.
- 29. A bus system as in claim 26, wherein said control unit comprises an identification register for communication with said bus master.
- 30. A bus system as in claim 29, wherein said identification register comprises a non-volatile programmable element for storing a communication address of said transceiver.
- 31. A bus system as in claim 21, wherein said multiple circuit modules comprise active modules and spare modules.
- 32. A bus system as in claim 21, wherein said grids are able to be mapped into a tree structure.
- 33. A bus system as defined in claim 32, wherein said grids are able to be mapped into a disjoint tree structure.
- 34. A bus system as in claim 32, wherein said bus switch is a programmable cross-bar switch overlying four set of bus segments to connect one another among said four bus segments or separate said four bus segments from one another, and each transceiver in said bus system is programmable to isolate said bus segments so that said grids are able to be remapped to exclude defect.
- 35. A bus system as defined in claim 34, wherein said tree can be remapped to switch said bus master.
- 36. A bus transceiver for a bus having a plurality of lines, comprising:
a plurality of bi-directional, tri-state buffers for buffering signals in each bus line; and a control unit for enabling output of said transceiver and controlling directions of said signal buffering.
- 37. A bus transceiver as in claim 36, wherein said bi-directional, tri-state buffers each comprise circuits to disable said bus transceiver.
- 38. A bus transceiver as in claim 37, wherein said circuits comprise programmable switches.
- 39. A bus transceiver as in claim 36, wherein said control unit comprises two outputs for controlling said bi-directional, tri-state buffer and two input pairs of four control signals one pair of which is selected to control said outputs.
- 40. A bus transceiver as in claim 36, wherein said control unit comprises an identification register for storing an address of said bus transceiver.
- 41. A bus transceiver as in claim 40, wherein said identification register comprises a non-volatile programmable element for storing said address.
- 42. A bus transceiver as in claim 36, wherein said control unit comprises a control register for controlling said bi-directional, tri-state buffers.
- 43. A high speed bus interface in a memory module having a plurality of memory blocks, for connecting to a hierarchical memory bus, comprising
bus drivers for buffering bus signals to or from said memory bus; and two first-in first-out memory elements for matching communication bandwidth between said memory bus and an internal bus of said memory module.
- 44. A high-speed bus interface as in claim 43, wherein said memory blocks include memory cells arranged in rows and columns, further comprising a plurality of address registers used for holding row addresses for each of said memory blocks whose content is being cached, and an address register for holding a base address for a current cache access.
- 45. A high-speed bus interface as in claim 43, further comprising three control registers for selecting a communicating module and activating or deactivating a module.
- 46. A high-speed bus interface as in claim 45, wherein said control registers comprise a non-volatile memory element and a programmable register both used as identification register.
- 47. A high-speed bus interface as in claim 45, wherein one of said control registers comprises a configuration register.
- 48. A high-speed bus interface as in claim 47, wherein said configuration register comprises a spare/active bit for setting said memory module into corresponding status.
- 49. A high-speed bus interface as in claim 47, wherein said configuration register comprises a short/long bit for setting length of cache line in said memory module.
- 50. A high-speed bus interface as in claim 47, wherein said configuration register comprises bits for indicating byte length of a data packet used in data communication.
- 51. A method for error detection and correction (EDC) in transferring data in a packet of bytes from a memory module to a requesting device comprising the steps of:
defining for each byte of packet have an EDC code portion and a data portion; reading out said data from said memory module; forwarding said data portion to said requesting device; storing said EDC portion and sending said EDC portion to an EDC functional block when a complete EDC code is obtained; copying said data and sending said data to said EDC functional block; performing error checking and correction in said EDC functional block when said EDC functional block receives a complete EDC code.
- 52. A method as in claim 51, wherein when an error is detected in said EDC functional block, said block causes:
setting a flag and correcting said data; writing the correct data back to said memory module; and generating an interrupt to said requesting device for a later retransmission.
- 53. A method as in claim 51, wherein each byte of a packet has 8 bits of data and 1 bit of a 8 bit EDC code and said EDC code is distributed among 8 bytes of each packet.
- 54. A method as in claim 51, wherein said forwarding of said data portion will not begin until an entire packet is received and said entire packet is checked and corrected for error.
- 55. A circuit comprising a plurality of functional modules and a bus connecting thereto in which data signals are transferred in packets through the bus between a source device and a receiving device using a source-generated clock signal, on substantially matched data and clock paths.
- 56. A device as in claim 55, wherein said clock signal is variable in frequency.
- 57. A device as in claim 55, wherein each said functional module comprises a frequency-programmable ring oscillator for generating variable clock signals.
- 58. A device as in claim 57, wherein said ring oscillator is on the same chip as said semiconductor device.
- 59. A method for disabling a defective module in a plurality of functional modules in a functional subsystem to be communicated through a bus, with a bus controller comprising the steps of:
providing spare modules in said function modules; providing identification registers for holding a communication address associated with each said module; setting a disable bit in said identification registers associated with said defective module; and writing said communication address to identification registers associated with a spare module.
- 60. A method for disabling a defective module as in claim 59, wherein said identification register comprises a non-volatile memory element for holding said communication address for each said module.
- 61. A method for using a latched sense amplifier in a memory module as high-speed cache memory comprising the steps of
arranging a plurality of DRAM arrays to form said module; and providing a cache line having a plurality of DRAM sense amplifiers of DRAM array.
- 62. A method as in claim 61, wherein a length of said sense amplifier cache line is programmable by setting a cache-line-size bit in a register of said memory modules.
- 63. A method for activating only a portion of a bus communicating directly between a communicating module in a plurality of functional modules and a bus master during a point-to-point communication mode, said bus comprising a plurality of bus segments linked together by bus switches and bus transceivers, defining a receiving state, a transmitting mode and a high-impedance state, said method comprising the steps of:
setting all said bus transceivers to said receiving state by said bus master; setting all said bus transceivers to said high impedance state by said bus master; inverting all said bus transceivers to said transmitting state by said bus master; and driving a particular bus transceiver to a non-high-impedance state by said communicating module, thereby to activate said portion of the bus only.
- 64. A method as in claim 63, wherein three control signals are provided to set said states of said transceivers.
- 65. A method as in claim 64, wherein said control signals comprise a bus busy control signal, a transmit/receive control signal and a tri-state control signal.
- 66. A transceiver as in claim 42, wherein said control register is programmable.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 07/865,410 filed Apr. 8, 1992, entitled “Circuit Module Redundancy Architecture” which, in turn is a Continuation-in-part of U.S. patent application Ser. No. 07/787,984, filed Nov. 5, 1991, entitled “Wafer-scale Integration Architecture, Circuit, Testing and Configuration”.
Divisions (2)
|
Number |
Date |
Country |
| Parent |
08484063 |
Jun 1995 |
US |
| Child |
08820297 |
Mar 1997 |
US |
| Parent |
08307496 |
Sep 1994 |
US |
| Child |
08484063 |
Jun 1995 |
US |
Continuations (2)
|
Number |
Date |
Country |
| Parent |
08820297 |
Mar 1997 |
US |
| Child |
09903094 |
Jul 2001 |
US |
| Parent |
07927564 |
Aug 1992 |
US |
| Child |
08307496 |
Sep 1994 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
| Parent |
07865410 |
Apr 1992 |
US |
| Child |
07927564 |
Aug 1992 |
US |
| Parent |
07787984 |
Nov 1991 |
US |
| Child |
07865410 |
Apr 1992 |
US |