Nova Patents
EP1503384A2

Method of programming memory

Abstract

A method for programming a memory cell is based on applying stress to a memory cell, comprising a first electrode, a second electrode and an inter-electrode layer, to induce a progressive change in a property of the inter-electrode layer. The method includes a verify step including generating a signal, such as a cell current, indicating the value of the property in the selected memory cell. Then, the signal is compared with a reference signal to verify programming of the desired data. Because of the progressive nature of the change, many levels of programming can be achieved. The many levels of programming can be applied for programming a single cell more than once, without an erase process, to programming multiple bits in a single cell, and to a combination of multiple bit and multiple time of programming.

EP1503384A2, drawing sheet 1
Sheet 1 of 23

Term

Term ended

Projected expiry passed 15 January 2024, 2.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

38 claims: 22 independent, 16 dependent

  1. 1
    A method for programming a memory cell comprising a first electrode, a second electrode and an inter-electrode layer of material, comprising:applying stress to the inter-electrode layer to induce a progressive change in a property of said inter-electrode layer.
  2. 4
    The method of any preceding claim, wherein said inter-electrode layer of material comprises silicon dioxide having a thickness less than 20 Angstroms.
  3. 5
    The method of any one of claims 1 to 3, wherein said inter-electrode layer of material comprises silicon oxynitride having a thickness less than 20 Angstroms.
  4. 6
    The method of any one of claims 1 to 3, wherein said inter-electrode layer of materiel comprises silicon dioxide having a thickness less than 15 Angstroms.
  5. 7
    The method of any one of claims 1 to 3, wherein said inter-electrode layer of material comprises silicon oxynitride having a thickness less than 15 Angstroms.
  6. 8
    The method of any one of claims 1 to 3, wherein said material in said inter-electrode layer of material comprises at least one of Al2O3, YTa2O5, HfO2, Y2O3, CeO2, TiO2, HfSixOy, HfSiON, HfAlOx, TaOxNy, ZrO2, ZrSixOy, La2O3, and ZrO2.
  7. 9
    The method of any preceding claim, including, after applying said stress to cause said progressive change in the property, generating a signal indicating the property, and comparing the signal with a reference signal to verify programming of desired data.
  8. 10
    The method of any one of claims 1 to 8, including, after applying said stress to cause said progressive change in the property, generating a signal indicating the property, and comparing the signal with a reference signal to verify programming of desired data;and    if said verifying fails, then applying stress again to cause additional change in said property.
  9. 11
    The method of any preceding claim, wherein said memory cell comprises an element of a memory array, and a plurality of levels of said property are associated with respective numbers of program cycles applied to the memory array, and including:maintaining a record of a number of program cycles applied to the memory array;producing a reference signal corresponding with said number of program cycles;after applying said stress to cause said progressive change in the property, generating a signal indicating the property, and comparing the signal with said reference signal to verify programming of desired data.
  10. 12
    The method of any one of claims 1 to 10, wherein said memory cell comprises an element of a memory array, and a plurality of levels of said property are associated with respective numbers of program cycles applied to the memory array, and including:maintaining a record of a number of program cycles applied to the memory array;providing a source of two reference signals corresponding with first and second program cycles;after applying said stress to cause said progressive change in the property, generating a signal indicating the property, and comparing the signal with a reference signal corresponding with said number of program cycles selected from said two reference signals to verify programming of desired data.
  11. 14
    The method of any one of claims 1 to 10, wherein said memory cell comprises an element of a memory array, and a plurality of levels of said property are associated with respective numbers of program cycles applied to the memory array, and including:maintaining a record of a number of program cycles applied to the memory array;providing a source of a plurality of reference currents corresponding with respective numbers of program cycles;after applying said stress to cause said progressive change in the property, generating a signal current indicating the property, and comparing the signal current with a selected reference current selected from said plurality of reference currents and corresponding with said number of program cycles, to verify programming of desired data.
  12. 15
    The method of any one of claims 1 to 10, wherein a plurality of levels of said property are associated with respective values of multiple bits of data in the memory cell, and including:providing a value for said multiple bits of data to be programmed in the memory cell;producing a reference signal corresponding with said value;after applying said stress to cause said progressive change in the property, generating a signal indicating the property, and comparing the signal with said reference signal to verify programming of said value.
  13. 16
    The method of any one of claims 1 to 10, wherein a plurality of levels of said property are associated with respective values of multiple bits of data in the memory cell, and including:providing a value for said multiple bits of data to be programmed in the memory cell;providing a source of a plurality of reference currents corresponding with respective values for said multiple bits;after applying said stress to cause said progressive change in the property, generating a signal current indicating the property, and comparing the signal current with a selected reference current selected from said plurality of reference currents and corresponding with said value, to verify programming of said value.
  14. 17
    The method of any one of claims 1 to 10, wherein a plurality of levels of said property are associated with respective values of multiple bits of data in the memory cell, and including:providing a value for said multiple bits of data to be programmed in the memory cell;providing a source of three reference currents corresponding with respective values for two bits;after applying said stress to cause said progressive change in the property, generating a signal current indicating the property, and comparing the signal current with a selected reference current selected from said three reference currents and corresponding with said value, to verify programming of said value.
  15. 18
    The method of any one of claims 1 to 10, wherein a plurality of levels of said property are associated with respective values of multiple bits of data in the memory cell, and including:providing a value for said multiple bits of data to be programmed in the memory cell;providing a source of seven reference currents corresponding with respective values for three bits;after applying said stress to cause said progressive change in the property, generating a signal current indicating the property, and comparing the signal current with a selected reference current selected from said seven reference currents and corresponding with said value, to verify programming of said value.
  16. 19
    The method of any preceding claim, wherein after applying said stress, sensing whether said property exceeds a first reference level to indicate a first stored value, and then applying stress another time to cause additional progressive change in said property to change the stored value, and sensing whether said property exceeds a second reference level to indicate the changed stored value.
  17. 20
    The method of any preceding claim, wherein said applying stress includes:applying a first program pulse to the cell having a first pulse height and a first pulse width;determining whether the cell is programmed in response to the first program pulse;and if notapplying a program retry pulse to the cell;determining whether the cell is programmed in response to the program retry pulse;and if notiteratively applying another program retry pulse to the cell and determining whether the cell is programmed, until the cell is determined to be programmed or a maximum number of retries is made;wherein the program retry pulses have respective pulse widths and pulse heights which vary according to a pattern in which at least one program retry pulse has a different pulse width or different pulse height than other program retry pulses in the pattern.
  18. 21
    A method for programming a memory array multiple times, comprising:applying stress to selected memory cells in said array to set values of a property of said selected memory cells;maintaining a record of a number of program cycles applied to said array;producing a reference signal corresponding with said number of program cycles, wherein said reference signal is changed progressively for succeeding program cycles;after applying said stress, generating a signal indicating the value of said property programmed in a selected memory cell, and comparing the signal with said reference signal to sense data stored in the selected memory cell.
  19. 24
    The method of any one of claims 21 to 23, wherein said memory array comprises an array of memory cells, and said memory cells respectively comprise a first electrode, a second electrode and an inter-electrode layer, and said inter-electrode layer has a property characterized by a progressive change in said property in response to said stress.
  20. 25
    A method for resetting data stored in a memory array, where data in the memory array is stored by setting a property of memory cells in the array above or below a reference level to indicate a data value, comprising:changing the reference level.
  21. 27
    A method for programming data stored in a memory array multiple times, comprising:setting a property of memory cells in the array above or below a first reference level to indicate data values in said memory cells;resetting the array by changing the reference level to a second reference level;andsetting the property of memory cells in the array above or below the second reference level to indicate said data values in said memory cells.
  22. 30
    A method for programming multiple bits of data in memory cells in a memory array multiple times, comprising:setting a property of memory cells in the array above or below a first set of reference levels to indicate multiple bits of data in said memory cells;resetting the array by changing the first set of reference levels to a second set of reference levels;andsetting the property of memory cells in the array above or below the second set of reference levels to indicate said multiple bits of data in said memory cells.
Independent claims22