Patents by Inventor Arie Peled

Arie Peled 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: 10089041
    Abstract: A method for data storage includes, in a storage device that communicates with a host over a storage interface for executing a storage command in a memory of the storage device, estimating an expected data under-run between fetching data for the storage command from the memory and sending the data over the storage interface. A data size to be prefetched from the memory, in order to complete uninterrupted execution of the storage command, is calculated in the storage device based on the estimated data under-run. The storage command is executed in the memory while prefetching from the memory data of at least the calculated data size.
    Type: Grant
    Filed: February 3, 2016
    Date of Patent: October 2, 2018
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Publication number: 20180196750
    Abstract: A storage device includes a nonvolatile memory and a controller. The controller is configured to store in the nonvolatile memory data for a host, to generate messages having a message size to be cached in the host in a cache memory having a cache-line size larger than the message size, to aggregate two or more of the messages by producing an aggregated message that matches the cache-line size, and to send the aggregated message to the host.
    Type: Application
    Filed: January 8, 2017
    Publication date: July 12, 2018
    Inventors: Ben Shilo, Arie Peled, Tal Ostro
  • Patent number: 9411540
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: August 9, 2016
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Publication number: 20160154598
    Abstract: A method for data storage includes, in a storage device that communicates with a host over a storage interface for executing a storage command in a memory of the storage device, estimating an expected data under-run between fetching data for the storage command from the memory and sending the data over the storage interface. A data size to be prefetched from the memory, in order to complete uninterrupted execution of the storage command, is calculated in the storage device based on the estimated data under-run. The storage command is executed in the memory while prefetching from the memory data of at least the calculated data size.
    Type: Application
    Filed: February 3, 2016
    Publication date: June 2, 2016
    Inventor: Arie Peled
  • Patent number: 9229525
    Abstract: A method includes, in a memory system that includes a host and a storage device connected by a bus interface, assessing in the storage device a power supply state of the memory system. In the storage device a latency tolerance is selected for the bus interface based on the assessed power supply state. The selected latency tolerance is indicated from the storage device to the host, for application to the bus interface.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: January 5, 2016
    Assignee: Apple Inc.
    Inventors: Idan Reller, Rachel Menes, Arie Peled, Guy Kushtai
  • Patent number: 8972614
    Abstract: A method includes receiving in a storage device multiple commands from a host, and sending responses to the commands from the storage device to the host, over a half-duplex link that does not enable simultaneous transmission by the host and by the storage device. An idle gap is inserted between two of the responses, during which the host has priority to send one or more subsequent commands on the half-duplex link.
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: March 3, 2015
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Patent number: 8949475
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: February 3, 2015
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Publication number: 20140372777
    Abstract: A method includes, in a memory system that includes a host and a storage device connected by a bus interface, assessing in the storage device a power supply state of the memory system. In the storage device a latency tolerance is selected for the bus interface based on the assessed power supply state. The selected latency tolerance is indicated from the storage device to the host, for application to the bus interface.
    Type: Application
    Filed: June 17, 2013
    Publication date: December 18, 2014
    Inventors: Idan Reller, Rachel Menes, Arie Peled, Guy Kushtai
  • Publication number: 20140201440
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Application
    Filed: March 18, 2014
    Publication date: July 17, 2014
    Inventor: Arie Peled
  • Publication number: 20140201391
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Application
    Filed: March 18, 2014
    Publication date: July 17, 2014
    Inventor: Arie Peled
  • Patent number: 8719457
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Grant
    Filed: April 5, 2012
    Date of Patent: May 6, 2014
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Patent number: 8713204
    Abstract: A method includes receiving from a host multiple commands for execution in a memory, in accordance with a storage protocol that supports processing of only a single command at any given time. At a first time, a first command is executed in the memory and data related to the first command is exchanged with the host, even though a second command, different from the first command, is selected to serve as the single command for which the processing is currently supported in accordance with the storage protocol. A progress of the first command is reported to the host at a second time, which is later than the first time, upon detecting that the first command is selected to serve as the single command for which the processing is currently supported.
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: April 29, 2014
    Assignee: Apple Inc.
    Inventor: Arie Peled
  • Publication number: 20130166780
    Abstract: A method includes receiving in a storage device multiple commands from a host, and sending responses to the commands from the storage device to the host, over a half-duplex link that does not enable simultaneous transmission by the host and by the storage device. An idle gap is inserted between two of the responses, during which the host has priority to send one or more subsequent commands on the half-duplex link.
    Type: Application
    Filed: July 27, 2012
    Publication date: June 27, 2013
    Inventor: Arie Peled
  • Publication number: 20130166781
    Abstract: A method includes receiving from a host multiple commands for execution in a memory, in accordance with a storage protocol that supports processing of only a single command at any given time. At a first time, a first command is executed in the memory and data related to the first command is exchanged with the host, even though a second command, different from the first command, is selected to serve as the single command for which the processing is currently supported in accordance with the storage protocol. A progress of the first command is reported to the host at a second time, which is later than the first time, upon detecting that the first command is selected to serve as the single command for which the processing is currently supported.
    Type: Application
    Filed: July 27, 2012
    Publication date: June 27, 2013
    Inventor: Arie Peled
  • Publication number: 20120265962
    Abstract: A method for data storage includes, in a storage device that communicates with a host over a storage interface for executing a storage command in a memory of the storage device, estimating an expected data under-run between fetching data for the storage command from the memory and sending the data over the storage interface. A data size to be prefetched from the memory, in order to complete uninterrupted execution of the storage command, is calculated in the storage device based on the estimated data under-run. The storage command is executed in the memory while prefetching from the memory data of at least the calculated data size.
    Type: Application
    Filed: April 5, 2012
    Publication date: October 18, 2012
    Applicant: ANOBIT TECHNOLOGIES LTD.
    Inventor: Arie Peled
  • Publication number: 20120265903
    Abstract: A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.
    Type: Application
    Filed: April 5, 2012
    Publication date: October 18, 2012
    Applicant: ANOBIT TECHNOLOGIES LTD.
    Inventor: Arie Peled