Claims
- 1. An apparatus comprising:
an electronic memory comprising a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; a plurality of input/output ports coupled to the electronic memory; selection means for selecting a mapping between the plurality of input/output ports and a subset of the set of IOs; and switching means coupled between the set of IOs and the plurality of input/output ports for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 2. The apparatus of claim 1, wherein the subset of the set of IOs comprises at least one of the spare IOs and fewer than all of the main IOs.
- 3. The apparatus of claim 2, wherein the subset of the set of IOs comprises two of the spare IOs.
- 4. The apparatus of claim 1, wherein the electronic memory comprises an on-chip cache memory.
- 5. The apparatus of claim 1, wherein the plurality of main IOs comprises six main IOs and wherein the plurality of spare IOs comprises two spare IOs.
- 6. The apparatus of claim 1, wherein the switching means comprises a plurality of multiplexors.
- 7. The apparatus of claim 6, wherein the plurality of main IOs is numbered from zero through n-1, wherein the plurality of spare IOs is numbered from n through n+m, wherein the plurality of multiplexors is numbered from zero through n, and wherein for each number i in the range zero through n−1, the multiplexor numbered i has a first data input coupled to an IO numbered i, a second data input coupled to an IO numbered i+1, and a third data input coupled to an IO numbered i+2.
- 8. The apparatus of claim 1, further comprising:
thermometer code storage means for storing at least one thermometer code encoding the mapping; and wherein the selection means comprises means for selecting the mapping based on the at least one thermometer code.
- 9. The apparatus of claim 8, wherein the thermometer code storage means comprises a plurality of registers, wherein each of the plurality of registers comprises means for storing a thermometer code encoding a portion of the mapping corresponding to a defective one of the main IOs.
- 10. The apparatus of claim 9, wherein the plurality of registers comprises two registers, wherein the first register comprises means for storing a first portion of the mapping corresponding to a first defective one of the main IOs, and wherein the second register comprises means for storing a second portion of the mapping corresponding to a second defective one of the main IOs.
- 11. The apparatus of claim 8, further comprising thermometer code legalization means for modifying the at least one thermometer code to produce at least one legalized thermometer code; and
wherein the selection means comprises means for selecting the mapping based on the at least one legalized thermometer code.
- 12. An apparatus comprising:
an on-chip cache memory comprising a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; a plurality of input/output ports coupled to the electronic memory; at least one register for storing at least one thermometer code; selection means for selecting a mapping between the plurality of input/output ports and a subset of the set of IOs based on the at least one thermometer code, the subset including at least one of the plurality of spare IOs; and a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 13. The apparatus of claim 12, further comprising thermometer code legalization means for modifying the at least one thermometer code to produce at least one legalized thermometer code; and
wherein the selection means comprises means for selecting the mapping based on the at least one legalized thermometer code.
- 14. A method for use in an electronic memory repair system comprising an electronic memory having a plurality of input/output ports and a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs, the method comprising steps of:
(A) receiving error data representing the error status of each of the plurality of main IOs; and (B) selecting a mapping between the plurality of input/output ports and a subset of the set of IOs.
- 15. The method of claim 14, further comprising a step of:
(C) establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping selected in step (B).
- 16. The method of claim 14, wherein the step (B) comprises steps of:
(B) (1) generating a first thermometer code encoding a first portion of the mapping; and (B)(2) generating a second thermometer code encoding a second portion of the mapping.
- 17. The method of claim 16, wherein the first thermometer code comprises a plurality of thermometer values, and wherein the step (B)(1) comprises steps of:
(B)(1)(a) initializing an output value to a first state; and (B)(1)(b) for each error datum in the error data, performing steps of:
(i) determining whether the error datum indicates an error; (ii) setting the output value to a second state if the error datum indicates an error; and (iii) setting the value of one of the plurality of thermometer values corresponding to the error datum to the output value.
- 18. The method of claim 17, wherein the output value comprises a one-bit value, wherein each of the plurality of thermometer values comprises a one-bit value, and wherein each error datum in the error data comprises a one-bit value.
- 19. The method of claim 17, wherein the first state comprises a logical zero and wherein the second state comprises a logical one.
- 20. The method of claim 16, wherein the plurality of main IOs have indices numbered from zero through n, wherein a first defective one of the plurality of main IOs has an index i, and wherein the step (B)(1) comprises steps of:
(B)(1)(a) generating a first portion of the first thermometer code, the first portion of the first thermometer code comprising i−1 first sub-codes having a first value; and (B)(2)(a) generating a second portion of the first thermometer code, the second portion of the first thermometer code comprising n−i+1 second sub-codes having a second value.
- 21. The method of claim 20, wherein each of the first and second sub-codes comprises a bit, wherein the first value comprises a first binary value, and wherein the second value comprises a second binary value.
- 22. The method of claim 20, wherein the first sub-codes have indices within the thermometer code of zero through i−1 and wherein the second sub-codes have indices within the thermometer code of i through n.
- 23. The method of claim 16, wherein the first and second thermometer codes in combination encode selection inputs to a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 24. The method of claim 16, wherein the plurality of main IOs have indices numbered from zero through n, wherein the error data have indices numbered from zero through n, and wherein each of the error data having index i encodes the error status of the main IO having index i.
- 25. A method for use in an electronic memory repair system comprising an electronic memory having a plurality of input/output ports and a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs, the method comprising steps of:
(A) receiving error data representing the error status of each of the plurality of main IOs; (B) selecting a mapping between the plurality of input/output ports and a subset of the set of IOs, comprising steps of:
(B)(1) generating a first thermometer code encoding a first portion of the mapping; and (B)(2) generating a second thermometer code encoding a second portion of the mapping, wherein the first and second thermometer codes in combination encode selection inputs to a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping; and (C) establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping selected in step (B).
- 26. An electronic memory repair system comprising:
an electronic memory comprising a plurality of input/output ports and a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; means for receiving error data representing the error status of each of the plurality of main IOs; and selection means for selecting a mapping between the plurality of input/output ports and a subset of the set of IOs based on the error data.
- 27. The system of claim 26, further comprising:
switching means for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 28. The system of claim 27, wherein the switching means comprises a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports.
- 29. The system of claim 26, wherein the selection means comprises:
first code generation means for generating a first thermometer code encoding a first portion of the mapping; and second code generation means for generating a second thermometer code encoding a second portion of the mapping.
- 30. The system of claim 29, wherein the first thermometer code comprises a plurality of thermometer values, and wherein the first code generation means comprises:
means for initializing an output value to a first state; and, for each error datum in the error data: means for determining whether the error datum indicates an error; means for setting the output value to a second state if the error datum indicates an error; and means for setting the value of one of the plurality of thermometer values corresponding to the error datum to the output value.
- 31. The system of claim 29, wherein the plurality of main IOs have indices numbered from zero through n, wherein a first defective one of the plurality of main IOs has an index i, and wherein the step first code generation means comprises:
means for generating a first portion of the first thermometer code, the first portion of the first thermometer code comprising i−1 first sub-codes having a first value; and means for generating a second portion of the first thermometer code, the second portion of the first thermometer code comprising n−i+1 second sub-codes having a second value.
- 32. The system of claim 29, wherein the first and second thermometer codes in combination encode selection inputs to a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 33. A device for use in an electronic memory repair system, the device comprising:
receiving means for receiving at least one thermometer code encoding a mapping between a plurality of memory input/output ports and a subset of a set of memory IOs, the set of memory IOs comprising a plurality of main IOs and a plurality of spare IOs; and modifying means for modifying the at least one thermometer code to produce at least one legalized thermometer code.
- 34. The device of claim 33, wherein the modifying means comprises a plurality of redundancy legalization cells, and wherein each of the redundancy legalization cells comprises:
means for receiving a portion of the at least one thermometer code; means determining whether the portion of the at least one thermometer code represents a legal selection input value to a multiplexor coupled to the device; means for modifying the at least one thermometer code to produce the at least one legalized thermometer code if it is determined that the portion of the at least one thermometer code does not represent a legal selection input value; and means for providing the portion of the at least one thermometer code as the at least one legalized thermometer code if it is determined that the portion of the at least one thermometer code represents a legal selection input value.
- 35. The device of claim 34, wherein the at least one thermometer code comprises first and second thermometer codes, and wherein the means for receiving a portion of the at least one thermometer code comprises means for receiving a first portion of a the first thermometer code and a second portion of the second thermometer code.
- 36. The device of claim 35, wherein the first portion comprises a first bit of the first thermometer code, wherein the second portion comprises a second bit and a third bit of the second thermometer code, and wherein the device comprises:
first input means for receiving the first bit; second input means for receiving the second bit; third input means for receiving the third bit; a first OR gate coupled to first and second input means to produce a first legalized output bit; a second OR gate coupled to the first and third input means to produce an intermediary output; and an AND gate coupled to the second input means and the intermediary output to produce a second legalized output bit; wherein the legalized thermometer code comprises the first and second legalized output bits.
- 37. A method for use in an electronic memory repair system, the system comprising an electronic memory, a plurality of input/output ports coupled to the memory, and a set of IOs, the set of IOs comprising a plurality of main IOs and a plurality of spare IOs, the method comprising steps of:
(A) receiving an initial selection value; (B) determining whether the initial selection value comprises a legal selection value; (C) modifying the initial selection value to produce a legalized selection value if it is determined that the initial selection value does not comprise a legal selection value; (D) selecting the initial selection value as the legalized selection value if it is determined that the initial selection value comprises a legal selection value; and (E) outputting the legalized selection value.
- 38. The method of claim 37, wherein the step (E) comprises a step of providing the legalized selection value to switching means for establishing an electrical connection between one of the plurality of input/output ports and an IO in the set of IOs.
- 39. The method of claim 38, wherein the switching means comprises a multiplexor, and wherein the step (E) comprises a step of providing the legalized selection value as a selection input value to the multiplexor.
- 40. A method for repairing an electronic memory, the electronic memory comprising a plurality of input/output ports and a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs, the method comprising steps of:
(A) loading first error data into error data storage means; (B) generating a first thermometer code encoding a first portion of a mapping between the plurality of input/output ports and a subset of the set of IOs; (C) storing the first thermometer code in first thermometer code storage means; (D) loading second error data into the error data storage means; (E) generating a second thermometer code encoding a second portion of the mapping between the plurality of input/output ports and the subset of the set of IOs; and (F) storing the second thermometer code in second thermometer code storage means.
- 41. The method of claim 40, wherein the subset of the set of IOs comprises at least one of the spare IOs and fewer than all of the main IOs.
- 42. The method of claim 40, wherein the subset of the set of IOs comprises two of the spare IOs.
- 43. The method of claim 40, further comprising a step of:
(G) providing the first and second thermometer codes to switching means for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 44. A system comprising:
an electronic memory comprising a plurality of input/output ports and a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; means for loading first error data into error data storage means; means for generating a first thermometer code encoding a first portion of a mapping between the plurality of input/output ports and a subset of the set of IOs; means for storing the first thermometer code in first thermometer code storage means; means for loading second error data into the error data storage means; means for generating a second thermometer code encoding a second portion of the mapping between the plurality of input/output ports and the subset of the set of IOs; and means for storing the second thermometer code in second thermometer code storage means.
- 45. The system of claim 44, wherein the subset of the set of IOs comprises at least one of the spare IOs and fewer than all of the main IOs.
- 46. The method of claim 44, wherein the subset of the set of IOs comprises two of the spare IOs.
- 47. The system of claim 44, further comprising:
means for providing the first and second thermometer codes to switching means for establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 48. An apparatus comprising:
an on-chip cache memory comprising a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; a plurality of input/output ports coupled to the electronic memory; a built-in self repair engine for selecting a mapping between the plurality of input/output ports and a subset of the set of IOs; and a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports, the plurality of multiplexors establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 49. The apparatus of claim 48, wherein the subset of the set of IOs comprises at least one of the spare IOs and fewer than all of the main IOs.
- 50. The apparatus of claim 49, wherein the subset of the set of IOs comprises two of the spare IOs.
- 51. An apparatus comprising:
an on-chip cache memory comprising a set of IOs, the set of IOs including a plurality of main IOs and a plurality of spare IOs; a plurality of input/output ports coupled to the electronic memory; at least one register to store at least one thermometer code encoding a mapping between the plurality of input/output ports and a subset of the set of IOs, the subset including at least one of the plurality of spare IOs; and a plurality of multiplexors coupled between the set of IOs and the plurality of input/output ports, the plurality of multiplexors establishing electrical connections between the plurality of input/output ports and the subset of the set of IOs in accordance with the mapping.
- 52. The apparatus of claim 51, further comprising thermometer code legalization circuitry to modify the at least one thermometer code to produce at least one legalized thermometer code; and
wherein the plurality of multiplexors establish the electrical connections between the plurality of input/output ports and the subset of the set of IOs based on the at least one legalized thermometer code.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. 09/919,091, filed on Jul. 31, 2001, entitled “A Data-Shifting Scheme for Utilizing Multiple Redundant Elements,” Attorney Docket No. 10004359-1, now abandoned, which is hereby incorporated by reference.