Claims
- 1. A method for ensuring quality of an one-time programmable memory cell, wherein when a current is applied to programmed and unprogrammed memory cell a voltage is generated, whereby when a memory cell is programmed, the generated voltage is higher than a first reference voltage, whereby when the memory cell is unprogrammed, the generated voltage is lower than a second reference voltage, comprising:
(1) programming a memory cell within an array of memory cells; (2) applying a current to the programmed memory cell, thereby generating the voltage for the programmed memory cell; (3) comparing the generated voltage for the programmed memory cell to a first threshold voltage; (4) declaring programmed memory cell verified when the corresponding generated voltage is higher than the first threshold voltage; (5) applying the current to un-programmed memory cell, thereby generating the voltage for the un-programmed memory cell; (6) comparing the generated voltage of the un-programmed memory cell to a second threshold voltage; (7) declaring un-programmed memory cell verified when the corresponding generated voltage is lower than the second threshold voltage; and (8) reading the memory cell using a reading reference voltage.
- 2. The method according to claim 1, wherein step (8) comprises:
(a) comparing the generated voltage for a selected memory cell to the reading reference voltage; (b) declaring the selected fuse programmed when the generated voltage is higher than the reading reference voltage; and (c) declaring the selected fuse un-programmed when the generated voltage is lower than the reading reference voltage.
- 3. A method for verifying programming of fuses, wherein when a current is applied to a programmed fuse a first voltage is generated that is lower than a reference voltage, wherein when the current is applied to an unprogrammed fuse, a second voltage is generated that is higher than the reference voltage, comprising:
(1) programming one or more fuses within an array of fuses, (2) generating a verify-programmed voltage that is higher than the reference voltage; (3) generating a verify-unprogrammed voltage that is lower than the reference voltage; (4) applying the current to programmed fuses in the array, thereby generating the first voltage for each of the programmed fuses; (5) comparing the verify-programmed voltage to the first voltage generated for each of the programmed fuses; (6) declaring programmed fuses failed when the corresponding first voltage is lower than the verify-programmed voltage; (7) declaring programmed fuses verified when the corresponding first voltage is higher than the verify-programmed voltage; (8) applying the current to unprogrammed fuses in the array, thereby generating the second voltage for each of the unprogrammed fuses; (9) comparing the verify-unprogrammed voltage to the second voltage generated for each of the unprogrammed fuses; (10) declaring unprogrammed fuses failed when the corresponding second voltage is higher than the verify-unprogrammed voltage; and (11) declaring unprogrammed fuses verified when the corresponding second voltage is lower than the verify-unprogrammed voltage.
- 4. A method for verifying programming of fuses, wherein when a current is applied to programmed and unprogrammed fuses a voltage is generated, whereby when a fuse is programmed, the generated voltage is higher than a reference voltage, whereby when the fuse is unprogrammed, the generated voltage is lower than the reference voltage, comprising:
(1) programming one or more fuses within an array of fuses, (2) applying the current to a selected one of the fuses, thereby generating the voltage for the selected fuse; (3) comparing the generated voltage for the selected fuse to a first threshold voltage that is lower than the reference voltage and to a second threshold voltage that is higher than the reference voltage; (4) verifying the selected fuse as programmed when the generated voltage is higher than the first threshold voltage; and (5) verifying the selected fuse as un-programmed when the generated voltage is lower than the second threshold voltage.
- 5. A system for providing a one-time programmable memory, comprising:
a digital interface; a one-time programmable memory element, wherein said digital interface provides a plurality of input reference signals to said one-time programmable memory element; wherein said one-time programmable memory element further comprises:
a plurality of one-time programmable fuses; an internal timing generator capable of generating a plurality of address signals; an address decoder, wherein said address decoder and said internal timing generator select and program a first fuse out of said plurality of one-time programmable fuses based on said plurality of address signals and said input reference signals; a current reference generator capable of generating a read signal to determine whether said first fuse is programmed; a means for verifying whether said first fuse selected based on said plurality of address signals is properly programmed.
- 6. The system of claim 5, wherein said plurality of one-time programmable fuses is arranged in a row-column matrix arrangement.
- 7. The system of claim 6, wherein said plurality of address signals define a row location and a column location of said first fuse to be programmed within said row-column matrix.
- 8. The system of claim 6, wherein said row-column matrix further comprises eight rows of 32-bit columns.
- 9. The system of claim 5, wherein said read signal is supplied to said first fuse after said first fuse was programmed, wherein said read signal is compared against a threshold voltage generated by said verifying means.
- 10. The system of claim 5, wherein verifying means detect whether said first fuse is pre-programmed, un-programmable and post-programmed.
- 11. The system of claim 10, wherein said verifying means apply a current to said first fuse to generate a pre-programming voltage, wherein said first fuse is pre-programmed when said pre-programming voltage is less than a pre-programming threshold voltage generated by said verifying means.
- 12. The system of claim 11, wherein said first fuse is pre-programmed when it provides high resistance to the current applied to said first fuse.
- 13. The system of claim 10, wherein said verifying means apply a current to said first fuse to generate a post-programming voltage, wherein said first fuse is post-programmed when said post-programming voltage is greater than a post-programming threshold voltage generated by said verifying means.
- 14. The system of claim 13, wherein said first fuse is post-programmed when it provides low resistance to the current applied to said first fuse.
- 15. The system of claim 10, wherein said verifying means apply a current to said first fuse to generate a verifying voltage, wherein said first fuse is un-programmable when said verifying voltage is less than a post-programming threshold voltage generated by said verifying means and greater than a pre-programmed threshold voltage generated by said verifying means.
- 16. The system of claim 5, further comprising a current supply circuit, wherein said current circuit generates a constant amount of current and supplies said constant amount of current to said first fuse.
- 17. A method for programming a one-time programmable memory element coupled to a digital interface, wherein the one-time programmable memory element has an internal timing generator, an address decoder, a current reference generator and a verification circuit, comprising the steps of:
(a) receiving an input address signal by the one-time programmable memory element from the digital interface; (b) receiving a timing signal by the address decoder from the internal timing generator; (c) selecting a fuse for programming using the input address signal and the timing signal; (d) programming the fuse; (e) determining whether the fuse is programmed, wherein said determining further comprising:
applying a current to the fuse; generate a reading voltage, wherein the fuse is programmed when the reading voltage matches a reading threshold voltage generated by the verification circuit; and (f) verifying whether the fuse is programmable, wherein said verifying further comprising:
applying a current to the fuse; generating a verifying voltage to determine whether the fuse is pre-programmed, un-programmable and post-programmed.
- 18. The method of claim 17, wherein said step (f) further comprises:
applying a current to the fuse; generating a pre-programming voltage, wherein the fuse is pre-programmed when the pre-programming voltage is less than a pre-programming threshold voltage generated by the verification circuit.
- 19. The method of claim 17, wherein said step (f) further comprises:
applying a current to the fuse; generating a post-programming voltage, wherein the fuse is post-programmed when the post-programming voltage is greater than a post-programming threshold voltage generated by the verification circuit.
- 20. The method of claim 17, wherein said step (f) further comprises:
applying a current to the fuse; generating the verifying voltage, wherein the fuse is un-programmable when the verifying voltage is less than a post-programming threshold voltage generated by the verification circuit and greater than a pre-programmed threshold voltage generated by the verification circuit.
- 21. The method of claim 17, wherein said step (d) further comprises applying a constant amount of current to the fuse.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/377,238, filed May 3, 2002, which is incorporated by reference herein in its entirety.
[0002] This application is a continuation-in-part of a U.S. patent application Ser. No. 10/115,013, filed Apr. 4, 2002, to Akira et al. which is incorporated by reference herein in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377238 |
May 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
10115013 |
Apr 2002 |
US |
| Child |
10355237 |
Jan 2003 |
US |