Patents by Inventor Uri Perlmutter

Uri Perlmutter 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: 8572311
    Abstract: A method for data storage includes, in a memory that includes at least N memory units, each memory unit including memory blocks, defining superblocks, each superblock including a respective set of N of the memory blocks that are allocated respectively in N different ones of the memory units, such that compaction of all the memory blocks in a given superblock is performed without any intervening programming operation in the given superblock. Data is stored in the memory by computing redundancy information for a selected portion of the data, and storing the selected portion and the redundancy information in the N memory blocks of a selected superblock.
    Type: Grant
    Filed: January 10, 2011
    Date of Patent: October 29, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Julian Vlaiko, Moshe Neerman, Yair Schwartz, Ariel Maislos
  • Patent number: 8547742
    Abstract: A method for data storage includes accepting data for storage in a memory that includes multiple analog memory cells and supports a set of built-in programming commands. Each of the programming commands programs a respective page, selected from a group of N pages, in a subset of the memory cells. The subset of the memory cells is programmed to store M pages of the data, M>N, by performing a sequence of the programming commands drawn only from the set.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: October 1, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Dotan Sokolov
  • Patent number: 8547740
    Abstract: A method for operating a memory (28) that includes a plurality of analog memory cells (32) includes storing data in the memory by writing first storage values to the cells. Second storage values are read from the cells, and a Cumulative Distribution Function (CDF) of the second storage values is estimated. The estimated CDF is processed so as to compute one or more thresholds. A memory access operation is performed on the cells using the one or more thresholds.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: October 1, 2013
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Ofir Shalvi, Uri Perlmutter, Oren Golov, Eyal Gurgi, Micha Anholt, Dotan Sokolov
  • Patent number: 8482978
    Abstract: A method for data storage includes storing data in a group of analog memory cells by writing into the memory cells in the group respective storage values, which program each of the analog memory cells to a respective programming state selected from a predefined set of programming states, including at least first and second programming states, which are applied respectively to first and second subsets of the memory cells, whereby the storage values held in the memory cells in the first and second subsets are distributed in accordance with respective first and second distributions. A first median of the first distribution is estimated, and a read threshold, which differentiates between the first and second programming states, is calculated based on the estimated first median. The data is retrieved from the analog memory cells in the group by reading the storage values using the calculated read threshold.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: July 9, 2013
    Assignee: Apple Inc.
    Inventors: Uri Perlmutter, Shai Winter, Eyal Gurgi, Oren Golov, Micha Anholt
  • Patent number: 8437185
    Abstract: A method for data storage includes predefining an order of programming a plurality of analog memory cells that are arranged in rows. The order specifies that for a given row having neighboring rows on first and second sides, the memory cells in the given row are programmed only while the memory cells in the neighboring rows on at least one of the sides are in an erased state, and that the memory cells in the given row are programmed to assume a highest programming level, which corresponds to a largest analog value among the programming levels of the cells, only after programming all the memory cells in the given row to assume the programming levels other than the highest level. Data is stored in the memory cells by programming the memory cells in accordance with the predefined order.
    Type: Grant
    Filed: March 6, 2012
    Date of Patent: May 7, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Eyal Gurgi, Uri Perlmutter, Oren Golov
  • Patent number: 8429493
    Abstract: A method for operating a memory (36) includes storing data in a plurality of analog memory cells (40) that are fabricated on a first semiconductor die by writing input storage values to a group of the analog memory cells. After storing the data, multiple output storage values are read from each of the analog memory cells in the group using respective, different threshold sets of read thresholds, thus providing multiple output sets of the output storage values corresponding respectively to the threshold sets. The multiple output sets of the output storage values are preprocessed by circuitry (48) that is fabricated on the first semiconductor die, to produce preprocessed data. The preprocessed data is provided to a memory controller (28), which is fabricated on a second semiconductor die that is different from the first semiconductor die, so as to enable the memory controller to reconstruct the data responsively to the preprocessed data.
    Type: Grant
    Filed: April 16, 2008
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Dotan Sokolov, Naftali Sommer, Ofir Shalvi, Uri Perlmutter
  • Patent number: 8429498
    Abstract: A decoding apparatus includes a decoder and a control unit. The decoder includes circuitry that is configured to decode an Error Correction Code (ECC) by operating in one of a first operational mode having a first power consumption, and a second operational mode, in which at least part of the circuitry that is active during the first operational mode is deactivated and which has a second power consumption that is lower than the first power consumption. The control unit is configured to evaluate a criterion with respect to an input code word, to select one of the first and second operational modes responsively to the criterion, and to invoke the decoder to decode the input code word using the selected operational mode.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Micha Anholt, Naftali Sommer, Ronen Dar, Uri Perlmutter, Tal Inbar
  • Patent number: 8397131
    Abstract: A method for data readout includes sending to a memory device, which includes a plurality of analog memory cells, a request to read a requested memory page that is stored in a first group of the memory cells. A programming status of a second group of the memory cells is reported to the memory device, so as to cause the memory device to select a reading configuration responsively to the reported programming status and to read the requested memory page from the first group of the memory cells using the selected reading configuration. The requested memory page is received from the memory device.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: March 12, 2013
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Uri Perlmutter, Dotan Sokolov, Eyal Gurgi
  • Patent number: 8369141
    Abstract: A method for operating a memory (28) that includes a plurality of analog memory cells (32) includes storing data in the memory by writing first storage values to the cells. Second storage values are read from the cells, and a Cumulative Distribution Function (CDF) of the second storage values is estimated. The estimated CDF is processed so as to compute one or more thresholds. A memory access operation is performed on the cells using the one or more thresholds.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: February 5, 2013
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Ofir Shalvi, Uri Perlmutter, Oren Golov, Eyal Gurgi, Micha Anholt, Dotan Sokolov
  • Publication number: 20120297271
    Abstract: A method for data storage includes defining a set of scrambling sequences, each sequence including bits in respective bit positions having bit values, such that a distribution of the bit values in any give bit position satisfies a predefined statistical criterion. Each data word is scrambled using a respective scrambling sequence selected from the set. The scrambled data words are stored in the memory device.
    Type: Application
    Filed: August 2, 2012
    Publication date: November 22, 2012
    Inventors: Naftali Sommer, Micha Anholt, Oren Golov, Uri Perlmutter, Shai Winter
  • Patent number: 8300478
    Abstract: A method for data storage includes predefining an order of programming a plurality of analog memory cells that are arranged in rows. The order specifies that for a given row having neighboring rows on first and second sides, the memory cells in the given row are programmed only while the memory cells in the neighboring rows on at least one of the sides are in an erased state, and that the memory cells in the given row are programmed to assume a highest programming level, which corresponds to a largest analog value among the programming levels of the cells, only after programming all the memory cells in the given row to assume the programming levels other than the highest level. Data is stored in the memory cells by programming the memory cells in accordance with the predefined order.
    Type: Grant
    Filed: March 6, 2012
    Date of Patent: October 30, 2012
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Eyal Gurgi, Uri Perlmutter, Oren Golov
  • Publication number: 20120268990
    Abstract: A method for data storage includes defining, in a memory that includes multiple analog memory cells, an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states. Data is initially stored in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states. After initially storing the data, a second group of the analog memory cells, which potentially cause interference to the first group, is programmed. After programming the second group, the first group is selectively re-programmed with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset.
    Type: Application
    Filed: July 2, 2012
    Publication date: October 25, 2012
    Inventors: Naftali Sommer, Uri Perlmutter, Shai Winter
  • Publication number: 20120272122
    Abstract: A method for data storage includes storing data, which is encoded with an Error Correction Code (ECC), in a group of analog memory cells by writing respective first storage values to the memory cells in the group. After storing the data, respective second storage values are read from the memory cells in the group, and the read second storage values are processed so as to decode the ECC. Responsively to a failure in decoding the ECC, one or more of the second storage values that potentially caused the failure are identified as suspect storage values. Respective third storage values are re-read from a subset of the memory cells that includes the memory cells holding the suspect storage values. The ECC is re-decoded using the third storage values so as to reconstruct the stored data.
    Type: Application
    Filed: June 14, 2012
    Publication date: October 25, 2012
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Publication number: 20120262971
    Abstract: A method for data storage includes defining a first programming scheme that programs a group of analog memory cells while reducing interference caused by at least one memory cell that neighbors the group, and a second programming scheme that programs the group of the analog memory cells and does not reduce all of the interference reduced by the first programming scheme. One of the first and second programming schemes is selected based on a criterion defined with respect to the analog memory cells. Data is stored in the group of the analog memory cells using the selected programming scheme.
    Type: Application
    Filed: June 25, 2012
    Publication date: October 18, 2012
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Publication number: 20120260147
    Abstract: A method for data storage includes storing data in a group of analog memory cells by writing respective input storage values to the memory cells in the group. After storing the data, respective output storage values are read from the analog memory cells in the group. Respective confidence levels of the output storage values are estimated, and the confidence levels are compressed. The output storage values and the compressed confidence levels are transferred from the memory cells over an interface to a memory controller.
    Type: Application
    Filed: June 19, 2012
    Publication date: October 11, 2012
    Inventors: Uri Perlmutter, Oren Golov
  • Publication number: 20120254696
    Abstract: A method for data storage includes storing data, which is encoded with an Error Correction Code (ECC), in a group of analog memory cells by writing respective first storage values to the memory cells in the group. After storing the data, respective second storage values are read from the memory cells in the group, and the read second storage values are processed so as to decode the ECC. Responsively to a failure in decoding the ECC, one or more of the second storage values that potentially caused the failure are identified as suspect storage values. Respective third storage values are re-read from a subset of the memory cells that includes the memory cells holding the suspect storage values. The ECC is re-decoded using the third storage values so as to reconstruct the stored data.
    Type: Application
    Filed: June 14, 2012
    Publication date: October 4, 2012
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Patent number: 8261159
    Abstract: A method for data storage includes defining a set of scrambling sequences, each sequence including bits in respective bit positions having bit values, such that a distribution of the bit values in any give bit position satisfies a predefined statistical criterion. Each data word is scrambled using a respective scrambling sequence selected from the set. The scrambled data words are stored in the memory device.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: September 4, 2012
    Assignee: Apple, Inc.
    Inventors: Naftali Sommer, Micha Anholt, Oren Golov, Uri Perlmutter, Shai Winter, Gil Semo
  • Patent number: 8259506
    Abstract: A method for data storage includes storing multiple sets each including one or more read thresholds for use in reading data from a plurality of analog memory cells. The memory cells are arranged in multiple erasure blocks each including multiple pages, and each set of read thresholds is associated with a respective page in one of the erasure blocks. A first page, which belongs to a given erasure block and is not associated with any of the stored sets of read thresholds, is read by retrieving a stored set of read thresholds that is associated with a second page in the given erasure block, adapting the retrieved set of read thresholds to match the first page, and reading the first page using the adapted set of read thresholds.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: September 4, 2012
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Uri Perlmutter
  • Publication number: 20120201078
    Abstract: A method for data storage includes accepting data for storage in a memory that includes multiple analog memory cells and supports a set of built-in programming commands. Each of the programming commands programs a respective page, selected from a group of N pages, in a subset of the memory cells. The subset of the memory cells is programmed to store M pages of the data, M>N, by performing a sequence of the programming commands drawn only from the set.
    Type: Application
    Filed: April 18, 2012
    Publication date: August 9, 2012
    Applicant: ANOBIT TECHNOLOGIES LTD.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Dotan Sokolov
  • Patent number: 8238157
    Abstract: A method for data storage includes defining, in a memory that includes multiple analog memory cells, an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states. Data is initially stored in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states. After initially storing the data, a second group of the analog memory cells, which potentially cause interference to the first group, is programmed. After programming the second group, the first group is selectively re-programmed with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset.
    Type: Grant
    Filed: April 11, 2010
    Date of Patent: August 7, 2012
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Uri Perlmutter, Shai Winter