Patents by Inventor Shai Ojalvo

Shai Ojalvo 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: 10115476
    Abstract: A method for data storage includes receiving in a memory device data for storage in a group of memory cells. The data is stored in the group by performing a Program and Verify (P&V) process, which applies to the memory cells in the group a sequence of programming pulses and compares respective analog values of the memory cells in the group to respective verification thresholds. Immediately following successful completion of the P&V process, a mismatch between the stored data and the received data is detected in the memory device. An error in storage of the data is reported responsively to the mismatch.
    Type: Grant
    Filed: July 28, 2016
    Date of Patent: October 30, 2018
    Assignee: Apple Inc.
    Inventors: Eyal Gurgi, Yoav Kasorla, Barak Rotbard, Shai Ojalvo
  • Patent number: 10073634
    Abstract: A method includes storing data encoded with an Error Correction Code (ECC) in analog memory cells, by buffering the data in a volatile buffer and then writing the buffered data to the analog memory cells while overwriting at least some of the data in the volatile buffer with success indications. Upon detecting a failure in writing the buffered data to the analog memory cells, recovered data is produced by reading both the volatile buffer and the analog memory cells, assigning reliability metrics to respective bits of the recovered data depending on whether the bits were read from the volatile buffer or from the analog memory cells, and applying ECC decoding to the recovered data using the reliability metrics. The recovered data is re-programmed.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: September 11, 2018
    Assignee: Apple Inc.
    Inventors: Shai Ojalvo, Eyal Gurgi, Yoav Kasorla
  • Patent number: 10019196
    Abstract: A method in a storage device includes receiving from a host storage commands for execution in a non-volatile memory of the storage device. At least a subset of the storage commands are to be executed in accordance with an order-of-arrival in which the storage commands in the subset are received. The received storage commands are executed in the non-volatile memory in accordance with internal scheduling criteria of the storage device, which permit deviations from the order-of-arrival, but such that execution of the storage commands in the subset reflects the order-of-arrival to the host.
    Type: Grant
    Filed: July 30, 2015
    Date of Patent: July 10, 2018
    Assignee: Apple Inc.
    Inventors: Etai Zaltsman, Oren Golov, Ori Moshe Stern, Shai Ojalvo
  • Patent number: 9817751
    Abstract: A method for data storage includes defining an end-to-end mapping between data bits to be stored in a memory device that includes multiple memory cells and predefined programming levels. The data bits are mapped into mapped bits, so that the number of the mapped bits is smaller than the number of the data bits. The data bits are stored in the memory device by programming the mapped bits in the memory cells using a programming scheme that guarantees the end-to-end mapping. After storing the data bits, the data bits are read from the memory device in accordance with the end-to-end mapping.
    Type: Grant
    Filed: September 3, 2014
    Date of Patent: November 14, 2017
    Assignee: Apple Inc.
    Inventors: Stas Mouler, Shai Ojalvo, Yoav Kasorla, Eyal Gurgi
  • Patent number: 9811413
    Abstract: A system for data storage includes one or more non-volatile memory (NVM) devices, each device including multiple memory blocks, and a processor. The processor is configured to assign the memory blocks into groups, to apply a redundant data storage scheme in each of the groups, to identify a group of the memory blocks including at least one bad block that renders remaining memory blocks in the group orphan blocks, to select a type of data suitable for storage in the orphan blocks, and to store the data of the identified type in the orphan blocks.
    Type: Grant
    Filed: July 30, 2014
    Date of Patent: November 7, 2017
    Assignee: Apple Inc.
    Inventors: Shai Ojalvo, Yair Schwartz, Eyal Gurgi, Yoav Kasorla
  • Patent number: 9779038
    Abstract: A method includes executing a first memory access operation in a memory. A progress indication, which is indicative of a progress of execution of the first memory access operation, is obtained from the memory. Based on the progress indication, a decision is made whether to suspend the execution of the first memory access operation in order to execute a second memory access operation.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: October 3, 2017
    Assignee: Apple Inc.
    Inventors: Yoav Kasorla, Asaf Schushan, Asaf Vega, Eyal Gurgi, Shai Ojalvo
  • Patent number: 9672919
    Abstract: A method includes, in a memory including analog memory cells, storing first data in a group of the memory cells using a first type of storage command that writes respective analog values to the memory cells in the group. Second data is stored in the memory cells in the group, in addition to the first data, using a second type of storage command that modifies the respective analog values of the memory cells in the group. Upon detecting imminent interruption of electrical power to the memory during storage of the second data, a switch is made to perform an alternative storage operation that is faster than the second type of storage command and protects at least the first data from the interruption.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: June 6, 2017
    Assignee: Apple Inc.
    Inventors: Avraham Poza Meir, Eyal Gurgi, Shai Ojalvo
  • Patent number: 9632706
    Abstract: A method includes, in a memory system that includes multiple memory units, holding information indicative of respective programming durations of the memory units. Data is stored in a stripe that includes a plurality of the memory units, by programming the memory units in the stripe in an order that is set based on the information.
    Type: Grant
    Filed: January 4, 2015
    Date of Patent: April 25, 2017
    Assignee: APPLE INC.
    Inventors: Shai Ojalvo, Eyal Gurgi, Yoav Kasorla
  • Patent number: 9582204
    Abstract: A method for data storage, includes holding a definition of a speculative readout mode for readout in a storage device, in which the storage device is requested to read a data unit having a data unit size, and in response the storage device retrieves a storage page that contains the data unit and has a storage page size larger than the data unit size, and retains the storage page in preparation for subsequent requests. Activation of the speculative readout mode is coordinated. A readout command using the speculative readout mode is performed.
    Type: Grant
    Filed: January 7, 2014
    Date of Patent: February 28, 2017
    Assignee: Apple Inc.
    Inventors: Christopher J Sarcone, Shai Ojalvo
  • Patent number: 9547574
    Abstract: A method includes, in a host that stores data in a storage device, detecting an event that is indicative, statistically and not deterministically, of an imminent power shutdown in the host. A notification is sent to the storage device responsively to the detected event, so as to cause the storage device to initiate preparatory action for the imminent power shutdown.
    Type: Grant
    Filed: November 20, 2014
    Date of Patent: January 17, 2017
    Assignee: Apple Inc.
    Inventors: Avraham Poza Meir, Shai Ojalvo, Moshe Neerman
  • Publication number: 20160336078
    Abstract: A method for data storage includes receiving in a memory device data for storage in a group of memory cells. The data is stored in the group by performing a Program and Verify (P&V) process, which applies to the memory cells in the group a sequence of programming pulses and compares respective analog values of the memory cells in the group to respective verification thresholds. Immediately following successful completion of the P&V process, a mismatch between the stored data and the received data is detected in the memory device. An error in storage of the data is reported responsively to the mismatch.
    Type: Application
    Filed: July 28, 2016
    Publication date: November 17, 2016
    Inventors: Eyal Gurgi, Yoav Kasorla, Barak Rotbard, Shai Ojalvo
  • Patent number: 9454429
    Abstract: A method for data storage includes providing a mapping of data pages to physical pages, in which each physical page holds a non-integer number of the data pages, for storage of data in at least one memory block, including a plurality of the physical pages, in a memory device. The data pages that are mapped to the memory block are partitioned into groups, such that failure of any memory unit, which consists of a predefined number of the physical pages in the memory device, will produce errors in no more than one data page in each group. The data pages is stored in the physical pages of the memory block in accordance with the mapping, while a redundant storage scheme is applied among the data pages of each group.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: September 27, 2016
    Assignee: Apple Inc.
    Inventors: Shai Ojalvo, Eyal Gurgi, Micha Anholt
  • Patent number: 9417948
    Abstract: A method for data storage includes receiving in a memory device data for storage in a group of memory cells. The data is stored in the group by performing a Program and Verify (P&V) process, which applies to the memory cells in the group a sequence of programming pulses and compares respective analog values of the memory cells in the group to respective verification thresholds. Immediately following successful completion of the P&V process, a mismatch between the stored data and the received data is detected in the memory device. An error in storage of the data is reported responsively to the mismatch.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: August 16, 2016
    Assignee: Apple Inc.
    Inventors: Eyal Gurgi, Yoav Kasorla, Barak Rotbard, Shai Ojalvo
  • Patent number: 9412465
    Abstract: An integrated circuit includes fuse readout logic and first and second sets of fuses. One of the sets includes one or more primary fuses whose burn states represent respective bit values, and the other of the sets includes one or more secondary fuses whose burn states are indicative of the bit values stored in the primary fuses. The fuse readout logic is configured to read the bit values by sensing the burn states of the primary fuses, and to conditionally correct the read bit values by sensing the burn states of one or more of the secondary fuses.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: August 9, 2016
    Assignee: Apple Inc.
    Inventors: Yoav Kasorla, Shai Ojalvo, Eyal Gurgi
  • Publication number: 20160196065
    Abstract: A method includes, in a memory system that includes multiple memory units, holding information indicative of respective programming durations of the memory units. Data is stored in a stripe that includes a plurality of the memory units, by programming the memory units in the stripe in an order that is set based on the information.
    Type: Application
    Filed: January 4, 2015
    Publication date: July 7, 2016
    Inventors: Shai Ojalvo, Eyal Gurgi, Yoav Kasorla
  • Patent number: 9292391
    Abstract: A method includes communicating over an interface between a controller and multiple memory dies, which comprise respective on-die terminations (ODTs) that are each connectable to the interface by the controller. A plurality of termination settings are evaluated, each termination setting specifies a respective subset of the ODTs to be connected to the interface, so as to identify a preferred termination setting in which the communication quality with a given memory die meets a predefined criterion. Subsequent communication with the given memory die is performed while applying the preferred termination setting.
    Type: Grant
    Filed: February 12, 2014
    Date of Patent: March 22, 2016
    Assignee: Apple Inc.
    Inventors: Shai Ojalvo, Eyal Gurgi, Yoav Kasorla
  • Publication number: 20160062907
    Abstract: A method for data storage includes defining an end-to-end mapping between data bits to be stored in a memory device that includes multiple memory cells and predefined programming levels. The data bits are mapped into mapped bits, so that the number of the mapped bits is smaller than the number of the data bits. The data bits are stored in the memory device by programming the mapped bits in the memory cells using a programming scheme that guarantees the end-to-end mapping. After storing the data bits, the data bits are read from the memory device in accordance with the end-to-end mapping.
    Type: Application
    Filed: September 3, 2014
    Publication date: March 3, 2016
    Inventors: Stas Mouler, Shai Ojalvo, Yoav Kasorla, Eyal Gurgi
  • Patent number: 9262315
    Abstract: A method for data storage in a memory that includes multiple analog memory cells, includes defining, based on a characteristic of the memory cells, an uneven wear leveling scheme that programs and erases at least first and second subsets of the memory cells with respective different first and second Programming and Erasure (P/E) rates. Data is stored in the memory in accordance with the uneven wear leveling scheme.
    Type: Grant
    Filed: July 5, 2013
    Date of Patent: February 16, 2016
    Assignee: Apple Inc.
    Inventors: Avraham Poza Meir, Eyal Gurgi, Shai Ojalvo, Yoav Kasorla, Naftali Sommer
  • Publication number: 20160034341
    Abstract: A system for data storage includes one or more non-volatile memory (NVM) devices, each device including multiple memory blocks, and a processor. The processor is configured to assign the memory blocks into groups, to apply a redundant data storage scheme in each of the groups, to identify a group of the memory blocks including at least one bad block that renders remaining memory blocks in the group orphan blocks, to select a type of data suitable for storage in the orphan blocks, and to store the data of the identified type in the orphan blocks.
    Type: Application
    Filed: July 30, 2014
    Publication date: February 4, 2016
    Inventors: Shai Ojalvo, Yair Schwartz, Eyal Gurgi, Yoav Kasorla
  • Publication number: 20150355858
    Abstract: A method includes storing data encoded with an Error Correction Code (ECC) in analog memory cells, by buffering the data in a volatile buffer and then writing the buffered data to the analog memory cells while overwriting at least some of the data in the volatile buffer with success indications. Upon detecting a failure in writing the buffered data to the analog memory cells, recovered data is produced by reading both the volatile buffer and the analog memory cells, assigning reliability metrics to respective bits of the recovered data depending on whether the bits were read from the volatile buffer or from the analog memory cells, and applying ECC decoding to the recovered data using the reliability metrics. The recovered data is re-programmed.
    Type: Application
    Filed: August 7, 2015
    Publication date: December 10, 2015
    Inventors: Shai Ojalvo, Eyal Gurgi, Yoav Kasorla