Patents by Inventor Ofir Shalvi

Ofir Shalvi 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: 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
  • Publication number: 20130254470
    Abstract: A method for data storage includes initially storing a sequence of data pages in a memory that includes multiple memory arrays, such that successive data pages in the sequence are stored in alternation in a first number of the memory arrays. The initially-stored data pages are rearranged in the memory so as to store the successive data pages in the sequence in a second number of the memory arrays, which is less than the first number. The rearranged data pages are read from the second number of the memory arrays.
    Type: Application
    Filed: May 9, 2013
    Publication date: September 26, 2013
    Applicant: Apple, Inc.
    Inventors: Yoav Kasorla, Eyal Gurgi, Dotan Sokolov, Ofir Shalvi
  • 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: 8498151
    Abstract: A method for data storage includes storing data in a target analog memory cell, which is one of a group of analog memory cells that are connected in series with one another, by writing a storage value into the target memory cell. The storage value written into the target memory cell is verified while biasing the other memory cells in the group with respective first pass voltages. After writing and verifying the storage value, the storage value is read from the target memory cell while biasing the other memory cells in the group with respective second pass voltages, wherein at least one of the second pass voltages applied to one of the other memory cells in the group is lower than a respective first pass voltage applied to the one of the other memory cells. The data is reconstructed responsively to the read storage value.
    Type: Grant
    Filed: August 4, 2009
    Date of Patent: July 30, 2013
    Assignee: Apple Inc.
    Inventors: Shai Winter, Ofir Shalvi
  • 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: 8479080
    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: Grant
    Filed: June 24, 2010
    Date of Patent: July 2, 2013
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Yoav Kasorla
  • Patent number: 8473780
    Abstract: A method for data storage includes encoding data with an inter-device Error Correction Code (ECC), and sending the encoded data for storage on two or more storage devices. The data to be stored on each of the storage devices, and which has been encoded with the inter-device ECC, is encoded with an intra-device ECC, and the data encoded with the inter-device and intra-device ECCs is stored on the storage device. After storing the data, at least part of the stored data is retrieved and output by decoding the intra-device and inter-device ECCs, while using information related to one of the intra-device and inter-device ECCs in decoding the other of the intra-device and inter-device ECCs.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: June 25, 2013
    Assignee: Apple Inc.
    Inventor: Ofir Shalvi
  • Patent number: 8456905
    Abstract: A method for data storage includes initially storing a sequence of data pages in a memory that includes multiple memory arrays, such that successive data pages in the sequence are stored in alternation in a first number of the memory arrays. The initially-stored data pages are rearranged in the memory so as to store the successive data pages in the sequence in a second number of the memory arrays, which is less than the first number. The rearranged data pages are read from the second number of the memory arrays.
    Type: Grant
    Filed: December 11, 2008
    Date of Patent: June 4, 2013
    Assignee: Apple Inc.
    Inventors: Yoav Kasorla, Eyal Gurgi, Dotan Sokolov, Ofir Shalvi
  • 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: 8374014
    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: October 30, 2011
    Date of Patent: February 12, 2013
    Assignee: Apple Inc.
    Inventors: Barak Rotbard, Naftali Sommer, Shai Winter, Ofir Shalvi, Dotan Sokolov, Or Ordentlich, Micha Anholt
  • 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: 20130007566
    Abstract: A method for data storage in a memory that includes a plurality of analog memory cells includes estimating respective achievable storage capacities of the analog memory cells. The memory cells are assigned respective storage configurations defining quantities of data to be stored in the memory cells based on the estimated achievable capacities. The data is stored in the memory cells in accordance with the respective assigned storage configurations. The achievable storage capacities of the analog memory cells are re-estimated after the memory has been installed in a host system and used for storing the data in the host system. The storage configurations are modified responsively to the re-estimated achievable capacities.
    Type: Application
    Filed: July 2, 2012
    Publication date: January 3, 2013
    Inventors: Ofir Shalvi, Dotan Sokolov, Ariel Maislos, Zeev Cohen, Eyal Gurgi, Gil Semo
  • Publication number: 20120297270
    Abstract: A method for data storage includes storing first data bits in a set of multi-bit analog memory cells at a first time by programming the memory cells to assume respective first programming levels. Second data bits are stored in the set of memory cells at a second time that is later than the first time by programming the memory cells to assume respective second programming levels that depend on the first programming levels and on the second data bits. A storage strategy is selected responsively to a difference between the first and second times. The storage strategy is applied to at least one group of the data bits, selected from among the first data bits and the second data bits.
    Type: Application
    Filed: August 3, 2012
    Publication date: November 22, 2012
    Inventors: Ofir Shalvi, Naftali Sommer, Dotan Sokolov, Yoav Kasoria
  • Publication number: 20120287692
    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: Application
    Filed: July 23, 2012
    Publication date: November 15, 2012
    Inventors: Barak Rotbard, Naftali Sommer, Shai Winter, Ofir Shalvi, Dotan Sokolov, Or Ordentlich, Micha Anholt
  • 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: 20120272000
    Abstract: A method for data storage includes encoding data with an inter-device Error Correction Code (ECC), and sending the encoded data for storage on two or more storage devices. The data to be stored on each of the storage devices, and which has been encoded with the inter-device ECC, is encoded with an intra-device ECC, and the data encoded with the inter-device and intra-device ECCs is stored on the storage device. After storing the data, at least part of the stored data is retrieved and output by decoding the intra-device and inter-device ECCs, while using information related to one of the intra-device and inter-device ECCs in decoding the other of the intra-device and inter-device ECCs.
    Type: Application
    Filed: July 2, 2012
    Publication date: October 25, 2012
    Inventor: OFIR SHALVI
  • 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: 20120262970
    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 Perimutter, Ofir Shalvi