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: 8924661
    Abstract: A data storage system includes a plurality of non-volatile memory devices arranged in one or more sets, a main controller and one or more processors. The main controller is configured to accept commands from a host and to convert the commands into recipes. Each recipe includes a list of multiple memory operations to be performed sequentially in the non-volatile memory devices belonging to one of the sets. Each of the processors is associated with a respective set of the non-volatile memory devices, and is configured to receive one or more of the recipes from the main controller and to execute the memory operations specified in the received recipes in the non-volatile memory devices belonging to the respective set.
    Type: Grant
    Filed: January 17, 2010
    Date of Patent: December 30, 2014
    Assignee: Apple Inc.
    Inventors: Michael Shachar, Barak Rotbard, Oren Golov, Uri Perlmutter, Dotan Sokolov, Julian Vlaiko, Yair Schwartz
  • Publication number: 20140349584
    Abstract: A communication device is described comprising a first antenna, a second antenna and a third antenna; a first transceiver configured to communicate using at least the first antenna; a second transceiver configured to communicate using at least the second antenna; and a controller configured to determine whether the third antenna is to be used by the first transceiver or the second transceiver based on a selection criterion and configured to control the first transceiver to communicate using the first antenna and the third antenna if the controller has determined that the third antenna is to be used by the first transceiver and to control the second transceiver to communicate using the second antenna and the third antenna if the controller has determined that the third antenna is to be used by the second transceiver.
    Type: Application
    Filed: October 25, 2013
    Publication date: November 27, 2014
    Inventors: Thorsten Clevorn, Pablo Herrero, Uri Perlmutter, Ronen Kronfeld
  • Publication number: 20140340965
    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 21, 2014
    Publication date: November 20, 2014
    Inventors: Naftali Sommer, Uri Perlmutter, Shai Winter
  • Patent number: 8879294
    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: Grant
    Filed: June 25, 2012
    Date of Patent: November 4, 2014
    Assignee: Apple Inc.
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Publication number: 20140325308
    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: July 14, 2014
    Publication date: October 30, 2014
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Publication number: 20140298139
    Abstract: A method for operating a memory includes storing data in a plurality of analog memory cells 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 that is fabricated on the first semiconductor die, to produce preprocessed data. The preprocessed data is provided to a memory controller, 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: Application
    Filed: June 17, 2014
    Publication date: October 2, 2014
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Publication number: 20140237322
    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 29, 2014
    Publication date: August 21, 2014
    Applicant: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Dotan Sokolov
  • Patent number: 8788906
    Abstract: A method for operating a memory includes storing data in a plurality of analog memory cells 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 that is fabricated on the first semiconductor die, to produce preprocessed data. The preprocessed data is provided to a memory controller, 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 10, 2013
    Date of Patent: July 22, 2014
    Assignee: Apple Inc.
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Patent number: 8787080
    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: July 2, 2012
    Date of Patent: July 22, 2014
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Uri Perlmutter, Shai Winter
  • Publication number: 20140201433
    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: March 17, 2014
    Publication date: July 17, 2014
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Patent number: 8782497
    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: Grant
    Filed: June 14, 2012
    Date of Patent: July 15, 2014
    Assignee: Apple Inc.
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Patent number: 8769381
    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: Grant
    Filed: June 14, 2012
    Date of Patent: July 1, 2014
    Assignee: Apple Inc.
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Patent number: 8750046
    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: September 30, 2013
    Date of Patent: June 10, 2014
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Dotan Sokolov
  • Publication number: 20140157083
    Abstract: A method for data storage includes storing data in a memory that includes one or more memory units, each memory unit including memory blocks. The stored data is compacted by copying at least a portion of the data from a first memory block to a second memory block, and subsequently erasing the first memory block. Upon detecting a failure in the second memory block after copying the portion of the data and before erasure of the first memory block, the portion of the data is recovered by reading the portion from the first memory block.
    Type: Application
    Filed: February 5, 2014
    Publication date: June 5, 2014
    Applicant: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Julian Vlaiko, Moshe Neerman
  • Publication number: 20140157085
    Abstract: A method for data storage includes storing data in a memory that includes one or more memory units, each memory unit including memory blocks. The stored data is compacted by copying at least a portion of the data from a first memory block to a second memory block, and subsequently erasing the first memory block. Upon detecting a failure in the second memory block after copying the portion of the data and before erasure of the first memory block, the portion of the data is recovered by reading the portion from the first memory block.
    Type: Application
    Filed: February 5, 2014
    Publication date: June 5, 2014
    Applicant: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Julian Vlaiko, Moshe Neerman
  • Patent number: 8717792
    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: Grant
    Filed: June 25, 2012
    Date of Patent: May 6, 2014
    Assignee: Apple Inc.
    Inventors: Dotan Sokolov, Naftali Sommer, Uri Perlmutter, Ofir Shalvi
  • Patent number: 8713330
    Abstract: A method for data storage includes scrambling data for storage in a memory device using a given scrambling seed. A statistical distribution of the scrambled data is assessed, and a measure of randomness of the statistical distribution is computed. A scrambling configuration of the data is modified responsively to the measure of randomness, and the data having the modified scrambling configuration is stored in the memory device.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: April 29, 2014
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Micha Anholt, Oren Golov, Uri Perlmutter, Shai Winter
  • Patent number: 8677203
    Abstract: A method for data storage includes storing data in a memory that includes one or more memory units, each memory unit including memory blocks. The stored data is compacted by copying at least a portion of the data from a first memory block to a second memory block, and subsequently erasing the first memory block. Upon detecting a failure in the second memory block after copying the portion of the data and before erasure of the first memory block, the portion of the data is recovered by reading the portion from the first memory block.
    Type: Grant
    Filed: January 10, 2011
    Date of Patent: March 18, 2014
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Julian Vlaiko, Moshe Neerman
  • Publication number: 20140029338
    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: September 30, 2013
    Publication date: January 30, 2014
    Applicant: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Uri Perlmutter, Dotan Sokolov
  • Patent number: 8578243
    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: August 2, 2012
    Date of Patent: November 5, 2013
    Assignee: Apple Inc.
    Inventors: Naftali Sommer, Micha Anholt, Oren Golov, Uri Perlmutter, Shai Winter