Management of multiple memory in-field self-repair options
A system includes a processor and a memory set coupled to the processor. The system also includes a repair circuit coupled to the memory set. The repair circuit includes a first repair circuit and a second repair circuit. The repair circuit also includes a test controller configured to select between the first repair circuit and the second repair circuit to perform an in-field self-repair of the memory set.
1. A circuit comprising:
a memory; and
a memory repair circuit coupled to the memory, comprising:
a first repair circuit configured to repair an error in the memory using an error correcting code; and
a second repair circuit configured to repair an error in the memory using a redundant portion of the memory,
wherein the memory repair circuit is configured to:
receive stored test data from the memory;
determine an error in the memory based on the stored test data;
select one of the first repair circuit and the second repair circuit based on enablement of the first repair circuit and the second repair circuit; and
repair the determined error in the memory with the selected repair circuit.
2. The circuit of claim 1 , wherein:
the memory includes a first memory and a second memory; and
the first memory independent of the second memory.
3. The circuit of claim 2 , further comprising:
a test circuit; and
a switch coupled between the test circuit and the memory, wherein the switch is configured to couple the test circuit to one of the first memory and the second memory.
4. The circuit of claim 2 , further comprising:
a first register configured to store first repair information for the first memory; and
a second register configured to store second repair information for the second memory.
5. The circuit of claim 1 , further comprising:
a test circuit coupled to the memory, wherein the test circuit is configured to input a set of test data to the memory to form the stored test data.
6. The circuit of claim 1 , wherein:
the first repair circuit is configured to repair an error in the memory by masking a predetermined number of one or more bit errors associated with the error using the error correcting code; and
the second repair circuit is configured to repair an error in the memory by replacing a portion of the memory associated with the error using the redundant portion of the memory, wherein the redundant portion of the memory includes a column or a row of the memory.
7. The circuit of claim 1 , wherein the memory repair circuit is configured to:
in response to the first repair circuit being disabled, select the second repair circuit; and
in response to the second repair circuit being disabled, select the first repair circuit.
8. The circuit of claim 1 , wherein the memory repair circuit is configured to:
select one of the first repair circuit and the second repair circuit based on a priority in addition to enablement of the first and second repair circuits.
9. The circuit of claim 8 , wherein:
the priority is one of a predetermined priority and an adjustable priority.
10. The circuit of claim 9 , wherein:
the adjustable priority is based on one of user input and a predetermined trigger.
11. A method comprising:
receiving, by a memory repair circuit, stored test data;
determining, by the memory repair circuit, an error in a memory based on the stored test data;
selecting, by the memory repair circuit, one of a first repair circuit and a second repair circuit based on enablement of the first repair circuit and the second repair circuit, wherein the first repair circuit repairs an error in the memory using an error correcting code, and wherein the second repair circuit repairs an error in the memory using a redundant portion of the memory; and
repairing, by the memory repair circuit, the determined error in the memory using the selected repair circuit.
12. The method of claim 11 , wherein:
the memory includes a first memory and a second memory; and
the first memory independent of the second memory.
13. The method of claim 12 , further comprising:
coupling a test circuit to one of the first memory and the second memory using a switch coupled between the test circuit and the memory.
14. The method of claim 12 , further comprising:
storing, by a first register, first repair information for the first memory; and
storing, by a second register, second repair information for the second memory.
15. The method of claim 11 , further comprising:
inputting, by a test circuit coupled to the memory, a set of test data to the memory to form the stored test data.
16. The method of claim 11 , wherein:
the first repair circuit repairs an error in the memory by masking a predetermined number of one or more bit errors associated with the error using the error correcting code; and
the second repair circuit repairs an error in the memory by replacing a portion of the memory associated with the error using the redundant portion of the memory, wherein the redundant portion of the memory includes a column or a row of the memory.
17. The method of claim 11 , wherein:
in response to the first repair circuit being disabled, the selected repair circuit is the second repair circuit; and
in response to the second repair circuit being disabled, the selected repair circuit is the first repair circuit.
18. The method of claim 11 , wherein selecting one of the first repair circuit and the second repair circuit comprises:
selecting one of the first and second repair circuits based on a priority in addition to enablement of the first and second repair circuits.
19. The method of claim 18 , wherein:
the priority is one of a predetermined priority and an adjustable priority.
20. The method of claim 19 , wherein:
the adjustable priority is based on one of user input and a predetermined trigger.