Patents by Inventor Avi Lavan

Avi Lavan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8339865
    Abstract: A Flash memory array comprises a plurality of Erase Sectors (Esecs) arranged in a plurality of Erase Sector Groups (ESGs), Physical Pages (slices), and Physical Sectors (PSecs), and there is a non-binary number of at least one of the Erase Sector Groups (ESGs), Physical Pages (slices), and Physical Sectors (PSecs). A user address is translated into a physical address using modular arithmetic to determine pointers (ysel, esg, psec) for specifying a given Erase Sector (ESec) within a given Erase Sector Group (ESG); a given Erase Sector Group (ESG) within a given Physical Sector (Psec); and a given Physical Sector (PSec) within the array.
    Type: Grant
    Filed: November 3, 2008
    Date of Patent: December 25, 2012
    Assignee: Spansion Israel Ltd
    Inventors: Avi Lavan, Ran Sahar
  • Patent number: 7743230
    Abstract: A multi-level cell (MLC) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector, such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.
    Type: Grant
    Filed: February 12, 2007
    Date of Patent: June 22, 2010
    Assignee: Saifun Semiconductors Ltd.
    Inventors: Yan Polansky, Avi Lavan
  • Publication number: 20090204747
    Abstract: A Flash memory array comprises a plurality of Erase Sectors (Esecs) arranged in a plurality of Erase Sector Groups (ESGs), Physical Pages (slices), and Physical Sectors (PSecs), and there is a non-binary number of at least one of the Erase Sector Groups (ESGs), Physical Pages (slices), and Physical Sectors (PSecs). A user address is translated into a physical address using modular arithmetic to determine pointers (ysel, esg, psec) for specifying a given Erase Sector (ESec) within a given Erase Sector Group (ESG); a given Erase Sector Group (ESG) within a given Physical Sector (Psec); and a given Physical Sector (PSec) within the array.
    Type: Application
    Filed: November 3, 2008
    Publication date: August 13, 2009
    Inventors: Avi Lavan, Ran Shahar
  • Publication number: 20090150595
    Abstract: A balanced program rate on NVM cells is achieved by (i) scrambling data bits and user bits; and (ii) shifting ED bits (of data and user bits) according to an incremental shift number, which may be the PBE-counter (which provides an incremental number). ED bits for the LSS may also be shifted, according to an incremental shift number (which may be the PBE-counter). The ED bits of the shift-niumber inherently have an evenly balanced distribution The ED bits of the PBE-counter inherently have an evenly balanced distribution.
    Type: Application
    Filed: October 24, 2007
    Publication date: June 11, 2009
    Inventor: Avi Lavan
  • Publication number: 20080192544
    Abstract: During programming of memory cells, calculating sigma bits for cells programmed at each program level based on attributes of the cells, such an index representing a cell's bit location in the memory array. For example, summing the indexes with an increasing weight factor, such as factor-of-2. During read, new sigma bits are calculated and compared with the stored sigma bits. A difference between the new sigma bits and the stored sigma bits may define a unique combination of indexes, enabling searching for, finding and correcting the read errors. The sigma bits may be used to correctly identify which cells were programmed at which program level, despite threshold voltage drift and/or overlap. Programming may be performed with advertent overlapping distributions, and the bits can be sorted out.
    Type: Application
    Filed: February 12, 2008
    Publication date: August 14, 2008
    Inventors: Amit Berman, Avi Lavan
  • Publication number: 20070168637
    Abstract: A multi-level cell (MLC) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector, such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.
    Type: Application
    Filed: February 12, 2007
    Publication date: July 19, 2007
    Inventors: Yan Polansky, Avi Lavan
  • Patent number: 7178004
    Abstract: A multi-level cell (MLC) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.
    Type: Grant
    Filed: September 3, 2003
    Date of Patent: February 13, 2007
    Inventors: Yan Polansky, Avi Lavan
  • Publication number: 20040153621
    Abstract: A multi-level cell (MLC) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.
    Type: Application
    Filed: September 3, 2003
    Publication date: August 5, 2004
    Inventors: Yan Polansky, Avi Lavan