Charge packet metering for coarse/fine programming of non-volatile memory
A non-volatile memory device is programmed by first performing a coarse programming process and subsequently performing a fine programming process. The coarse/fine programming methodology is enhanced by using an efficient verification scheme that allows some non-volatile memory cells to be verified for the coarse programming process while other non-volatile memory cells are verified for the fine programming process. The fine programming process can be accomplished using current sinking, charge packet metering or other suitable means.
1. A method for programming, comprising:
performing a coarse programming phase for a non-volatile storage element until said non-volatile storage element reaches a first condition; and
performing a fine programming phase for said non-volatile storage element by metering charge to said non-volatile storage element, said metering charge to said non-volatile storage element comprises charging a charge storage element, applying a program signal to said non-volatile storage element, and discharging said charge storage element through said non-volatile storage element.
2. A method according to claim 1 , wherein:
said fine programming phase is commenced for said non-volatile storage element subsequent to said coarse programming phase being completed for said non-volatile storage element.
3. A method according to claim 1 , wherein:
said charging a charge storage element includes connecting a capacitor to a power supply and charging said capacitor.
4. A method according to claim 1 , wherein said charging said charge storage element, applying said program signal, and discharging said charge storage element comprise:
pre-charging a bit line associated with said non-volatile storage element;
causing said bit line to be in a floating state after said pre-charging;
applying a common program signal to said non-volatile storage element; and
discharging said charge storage element through said non-volatile storage element.
5. A method for programming, comprising:
performing a coarse programming phase for a non-volatile storage element until said non-volatile storage element reaches a first condition; and
performing a fine programming phase for said non-volatile storage element by metering charge to said non-volatile storage element, said metering charge to said non-volatile storage element comprises switching capacitors in a charge metering system.
6. A method according to claim 1 , wherein said metering charge to said non-volatile storage element comprises:
switching power supplies in a charge metering system.
7. A method for programming, comprising:
performing a coarse programming phase for a non-volatile storage element until said non-volatile storage element reaches a first condition; and
performing a fine programming phase for said non-volatile storage element by metering charge to said non-volatile storage element, said metering charge to said non-volatile storage element comprises switching a variable power supply in a charge metering system.
8. A method according to claim 1 , wherein:
said coarse programming mode does not include metering charge to said non-volatile storage element.
9. A method according to claim 1 , wherein:
said a non-volatile storage element is a multi-state flash memory device.
10. A method according to claim 1 , wherein:
said program signal is applied to multiple non-volatile storage elements along a common word line.
11. A method for programming, comprising:
performing a coarse programming process on a non-volatile storage element;
determining that said non-volatile storage element should switch to a fine programming process; and
performing said fine programming process in response to determining that said non-volatile storage element should switch to said fine programming process, said fine programming process comprises:
pre-charging a control line for said non-volatile storage element, and
discharging said control line via said non-volatile storage element in order to program said non-volatile storage element.
12. A method according to claim 11 , wherein:
said step of pre-charging a control line includes charging a capacitor.
13. A method according to claim 11 , wherein:
said step of pre-charging a control line includes connecting a charge storage device to a power supply, said charge storage device is connected to said non-volatile storage element; and
said step of discharging said control line includes disconnecting said power supply from said charge storage device.
14. A method according to claim 11 , wherein:
said control line is a bit line for multiple non-volatile storage elements.
15. A method according to claim 11 , wherein:
said control line is pre-charged using a variable power supply; and
said fine programming process comprises changing said variable power supply to provide a signal appropriate for said fine programming process.
16. A method according to claim 11 , wherein:
said control line is pre-charged during said coarse programming process using a first power supply;
said control line is pre-charged during said fine programming process using a second power supply; and
said fine programming process includes switching from said first power supply to said second power supply.
17. A method according to claim 11 , wherein:
said control line is pre-charged during said fine programming process using a first charge storage device;
said control line is pre-charged when not in said fine programming process using a second charge storage device; and
said fine programming process includes switching from said second charge storage device to said first charge storage device.
18. A method according to claim 11 , wherein:
said non-volatile storage element is a multi-state flash memory device.
19. A method for programming, comprising:
performing a coarse programming phase for a non-volatile storage element until said non-volatile storage element reaches a first condition; and
performing a fine programming phase for said non-volatile storage element by metering charge to said non-volatile storage element, said metering charge to said non-volatile storage element comprises switching charge storage devices.