Patents by Inventor Naftali Sommer

Naftali Sommer 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: 8599611
    Abstract: A method for operating a memory (28) includes storing data in a group of analog memory cells (32) of the memory as respective first voltage levels. After storing the data, second voltage levels are read from the respective analog memory cells. The second voltage levels are affected by cross-coupling interference causing the second voltage levels to differ from the respective first voltage levels. Cross-coupling coefficients, which quantify the cross-coupling interference among the analog memory cells, are estimated by processing the second voltage levels. The data stored in the group of analog memory cells is reconstructed from the read second voltage levels using the estimated cross-coupling coefficients.
    Type: Grant
    Filed: September 22, 2011
    Date of Patent: December 3, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Eyal Gurgi, Ariel Maislos
  • Patent number: 8599592
    Abstract: A method for data storage in a memory that includes multiple analog memory cells fabricated using respective physical media, includes identifying a group of the memory cells whose physical media have deteriorated over time below a given storage quality level. A rejuvenation process, which causes the physical media of the memory cells in the group to meet the given storage quality level, is applied to the identified group. Data is stored in the rejuvenated group of the memory cells.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: December 3, 2013
    Assignee: Apple Inc.
    Inventors: Barak Rotbard, Naftali Sommer, Shai Winter, Ofir Shalvi, Dotan Sokolov, Or Ordentlich, Micha Anholt
  • Patent number: 8595591
    Abstract: A method for data storage includes accepting data for storage in a memory including multiple analog memory cells. For each memory cell, a respective set of nominal analog values is assigned for representing data values to be stored in the memory cell, by choosing the nominal analog values for a given memory cell in a respective range that depends on interference between the given memory cell and at least one other memory cell in the memory. The data is stored in each memory cell using the respective selected set of the nominal analog values.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: November 26, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Ronen Dar, Micha Anholt
  • Patent number: 8595573
    Abstract: A method for data storage in a memory including multiple memory cells arranged in blocks, includes storing first and second pages in respective first and second groups of the memory cells within a given block of the memory. A pattern of respective positions of one or more defective memory cells is identified in the first group. The second page is recovered by applying the pattern identified in the first group to the second group of the memory cells.
    Type: Grant
    Filed: February 26, 2012
    Date of Patent: November 26, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Oren Golov
  • Publication number: 20130297989
    Abstract: A method for data storage includes storing data in a group of analog memory cells by writing respective storage values into the memory cells in the group. One or more of the memory cells in the group are read using a first readout operation that senses the memory cells with a first sense time. At least one of the memory cells in the group is read using a second readout operation that senses the memory cells with a second sense time, longer than the first sense time. The data stored in the group of memory cells is reconstructed based on readout results of the first and second readout operations.
    Type: Application
    Filed: July 8, 2013
    Publication date: November 7, 2013
    Inventors: Avraham Poza Meir, Barak Baum, Naftali Sommer
  • 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
  • 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: 8570804
    Abstract: A method for operating a memory (28) includes storing data in a group of analog memory cells (32) of the memory as respective first voltage levels. After storing the data, second voltage levels are read from the respective analog memory cells. The second voltage levels are affected by cross-coupling interference causing the second voltage levels to differ from the respective first voltage levels. Cross-coupling coefficients, which quantify the cross-coupling interference among the analog memory cells, are estimated by processing the second voltage levels. The data stored in the group of analog memory cells is reconstructed from the read second voltage levels using the estimated cross-coupling coefficients.
    Type: Grant
    Filed: September 22, 2011
    Date of Patent: October 29, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Eyal Gurgi, Ariel Maislos
  • Publication number: 20130283133
    Abstract: Methods for Error Correction Code (ECC) decoding include producing syndromes from a set of bits, which represent data that has been encoded with the ECC. An Error Locator Polynomial (ELP) is generated based on the syndromes. At least some of the ELP roots are identified, and the errors indicated by these roots are corrected. Each syndrome may be produced by applying to the bits vector operations in a vector space. Each syndrome is produced by applying vector operations using a different basis of the vector space. The ELP may be evaluated on a given field element by operating on ELP coefficients using serial multipliers, wherein each serial multiplier performs a sequence of multiplication cycles and produces an interim result in each cycle. Responsively to detecting at least one interim result indicating that the given element is not an ELP root, the multiplication cycles are terminated before completion of the sequence.
    Type: Application
    Filed: June 18, 2013
    Publication date: October 24, 2013
    Inventors: Micha Anholt, Naftali Sommer, Gil Semo, Tal Inbar
  • Publication number: 20130283122
    Abstract: A method for data storage includes encoding each of multiple data items individually using a first Error Correction Code (ECC) to produce respective encoded data items. The encoded data items are stored in a memory. The multiple data items are encoded jointly using a second ECC, so as to produce a code word of the second ECC, and only a part of the code word is stored in the memory. The stored encoded data items are recalled from the memory and the first ECC is decoded in order to reconstruct the data items. Upon a failure to reconstruct a given data item from a respective given encoded data item by decoding the first ECC, the given data item is reconstructed based on the part of the code word of the second ECC and on the encoded data items other than the given encoded data item.
    Type: Application
    Filed: June 19, 2013
    Publication date: October 24, 2013
    Inventors: Micha Anholt, Or Ordentlich, Naftali Sommer, Ofir Shalvi
  • Publication number: 20130268824
    Abstract: A method for data storage includes, in a memory that includes multiple memory blocks, specifying at a first time a first over-provisioning overhead, and storing data in the memory while retaining in the memory blocks memory areas, which do not hold valid data and whose aggregated size is at least commensurate with the specified first over-provisioning overhead. Portions of the data from one or more previously-programmed memory blocks containing one or more of the retained memory areas are compacted. At a second time subsequent to the first time, a second over-provisioning overhead, different from the first over-provisioning overhead, is specified, and data storage and data portion compaction is continued while complying with the second over-provisioning overhead.
    Type: Application
    Filed: June 3, 2013
    Publication date: October 10, 2013
    Inventors: Ofir Shalvi, Naftali Sommer, Yoav Kasorla
  • 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: 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: 8543891
    Abstract: A method includes accepting an input code word, which was produced by encoding data with an Error Correction Code (ECC), for decoding by a hardware-implemented ECC decoder. The input code word is pre-processed to produce a pre-processed code word, such that a first number of bit transitions that occur in the hardware-implemented ECC decoder while decoding the pre-processed code word is smaller than a second number of the bit transitions that would occur in the ECC decoder in decoding the input code word. The pre-processed code word is decoded using the ECC decoder, and the data is recovered from the decoded pre-processed code word.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: September 24, 2013
    Assignee: Apple Inc.
    Inventors: Micha Anholt, Naftali Sommer
  • Patent number: 8527819
    Abstract: A method for data storage includes performing an erasure operation on a group of analog memory cells (32). One or more of the memory cells in the group, which failed the erasure operation, are identified as erase-failed cells. A storage configuration that is used for programming the analog memory cells in the group is modified responsively to the identified erase-failed cells. Data is stored in the group of the analog memory cells using the modified storage configuration.
    Type: Grant
    Filed: October 12, 2008
    Date of Patent: September 3, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Shai Winter, Naftali Sommer, Dotan Sokolov
  • Patent number: 8493783
    Abstract: A method for data storage includes storing data in a group of analog memory cells by writing respective storage values into the memory cells in the group. One or more of the memory cells in the group are read using a first readout operation that senses the memory cells with a first sense time. At least one of the memory cells in the group is read using a second readout operation that senses the memory cells with a second sense time, longer than the first sense time. The data stored in the group of memory cells is reconstructed based on readout results of the first and second readout operations.
    Type: Grant
    Filed: October 30, 2011
    Date of Patent: July 23, 2013
    Assignee: Apple Inc.
    Inventors: Avraham Meir, Barak Baum, Naftali Sommer
  • Patent number: 8493781
    Abstract: A method for data storage includes accepting data for storage in a memory that includes multiple analog memory cells. The data is stored in a first group of the memory cells by programming a second group of the memory cells so as to cause the second group to generate interference in the first group, and individually erasing the first group while verifying that analog levels of the memory cells in the first group subject to the interference are within a predefined bound following erasure. After erasing the first group, the first group of the memory cells is programmed with the data.
    Type: Grant
    Filed: July 28, 2011
    Date of Patent: July 23, 2013
    Assignee: Apple Inc.
    Inventors: Avraham Meir, Eyal Gurgi, Ronen Dar, Naftali Sommer, Ofir Shalvi
  • Patent number: 8495465
    Abstract: A method for data storage includes encoding each of multiple data items individually using a first Error Correction Code (ECC) to produce respective encoded data items. The encoded data items are stored in a memory. The multiple data items are encoded jointly using a second ECC, so as to produce a code word of the second ECC, and only a part of the code word is stored in the memory. The stored encoded data items are recalled from the memory and the first ECC is decoded in order to reconstruct the data items. Upon a failure to reconstruct a given data item from a respective given encoded data item by decoding the first ECC, the given data item is reconstructed based on the part of the code word of the second ECC and on the encoded data items other than the given encoded data item.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: July 23, 2013
    Assignee: Apple Inc.
    Inventors: Micha Anholt, Or Ordentlich, Naftali Sommer, Ofir Shalvi
  • Patent number: 8484544
    Abstract: Methods for Error Correction Code (ECC) decoding include producing syndromes from a set of bits, which represent data that has been encoded with the ECC. An Error Locator Polynomial (ELP) is generated based on the syndromes. At least some of the ELP roots are identified, and the errors indicated by these roots are corrected. Each syndrome may be produced by applying to the bits vector operations in a vector space. Each syndrome is produced by applying vector operations using a different basis of the vector space. The ELP may be evaluated on a given field element by operating on ELP coefficients using serial multipliers, wherein each serial multiplier performs a sequence of multiplication cycles and produces an interim result in each cycle. Responsively to detecting at least one interim result indicating that the given element is not an ELP root, the multiplication cycles are terminated before completion of the sequence.
    Type: Grant
    Filed: August 21, 2012
    Date of Patent: July 9, 2013
    Assignee: Apple Inc.
    Inventors: Micha Anholt, Naftali Sommer, Gil Semo, Tal Inbar
  • Publication number: 20130170272
    Abstract: A method includes storing data in a group of analog memory cells. The memory cells in the group are read using first read thresholds to produce first readout results, and re-read using second read thresholds to produce second readout results. Third read thresholds, which include at least one of the first read thresholds and at least one of the second read thresholds, are defined. Readout performance of the first, second and third read thresholds is evaluated based on the first and second readout results. The first, second or third read thresholds are selected based on the evaluated readout performance, and data recovery is performed using the selected read thresholds.
    Type: Application
    Filed: August 27, 2012
    Publication date: July 4, 2013
    Inventors: Micha Anholt, Naftali Sommer