Method for programming of a semiconductor memory cell
AssigneeSaifun Semiconductors Ltd.
InventorsZeev Cohen, Boaz Eitan, Eduardo Maayan
Life of this patent
Estimating the term…
Abstract
A method for programming an array having a multiplicity of memory cells. The method includes, per cell to be programmed, verifying a programmed or non-programmed state of the cell and flagging those of the cells that verify as non-programmed during one of the verify steps after having previously verified as programmed. A programming pulse having a programming level is applied to the non-programmed cells which are not flagged cells. The steps of verifying, flagging and applying are then repeated until all of the cells verify as programmed at least once. Subsequently, a boost pulse having a boost programming level lower than the programming level is applied to the flagged cells.
Claims31
A method for programming an array having a multiplicity of memory cells, the method comprising the steps of:
- per cell to be programmed, verifying a programmed or non-programmed state of said cell;
- flagging those of said cells that verify as non-programmed during one of said verify steps after having previously verified as programmed;
- applying a programming pulse having a programming level to said non-programmed cells which are not flagged cells;
- repeating said steps of verifying, flagging and applying until all of said cells verify as programmed at least once;
- and
- applying a boost pulse having a boost programming level lower than said programming level to said flagged cells.
A method for erasing an array having a multiplicity of memory cells, the method comprising the steps of:
- per cell to be erased, verifying an erased or non-erased state of said cell;
- flagging those of said cells that verify as non-erased during one of said verify steps after having previously verified as erased;
- applying an erasing pulse having an erasure level to said non-erased cells which are not flagged cells;
- repeating said steps of verifying, flagging and applying until all of said cells have verified as said erased at least once;
- and applying a boost pulse having a boost erase level lower than said erased level to said flagged cells.
A method for programming an array having a multiplicity of memory cells, the method comprising the steps of:
- per cell to be programmed, verifying a coarse programmed or non-programmed state of said cell;
- flagging those of said cells that verify as non-programmed during one of said verify steps after having previously verified as programmed;
- applying a coarse programming pulse having a coarse programming level to said non-programmed cells which are not flagged cells;
- repeating said steps of verifying, flagging and applying until all of said cells verify as programmed at least once;
- applying a fine programming pulse to said flagged cells;
- verifying a complete programmed state or a complete non-programmed state of said cell;
- and
- repeating the second steps of verifying and applying until all of said cells are very as fully programmed at least once.
A method for an array having a multiplicity of memory cells, the method comprising the steps of:
- per cell to be programmed, verifying a programmed or non-programmed state of said cell;
- flagging those of said cells that verify as non-programmed during one of said program verify steps after having previously verified as programmed;
- applying a programming pulse having a programming level to said non-programmed cells which are not flagged cells;
- applying a recovery pulse having a recovery level lower than said programming level to said flagged cells;
- and
- repeating said steps of verifying, flagging, applying and applying until all of said cells verify as said programmed at least once.
Dependencies are inferred from the claim text.