Patents by Inventor Alex Liakhovetsky

Alex Liakhovetsky 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: 11455289
    Abstract: A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
    Type: Grant
    Filed: June 12, 2020
    Date of Patent: September 27, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Alex Friedman, Sergei Dyshel, Ofir Dahan, Alex Liakhovetsky
  • Publication number: 20200311046
    Abstract: A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
    Type: Application
    Filed: June 12, 2020
    Publication date: October 1, 2020
    Applicant: Amazon Technologies, Inc.
    Inventors: Alex Friedman, Sergei Dyshel, Ofir Dahan, Alex Liakhovetsky
  • Patent number: 10685010
    Abstract: A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
    Type: Grant
    Filed: September 2, 2018
    Date of Patent: June 16, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Alex Friedman, Sergei Dyshel, Ofir Dahan, Alex Liakhovetsky
  • Patent number: 10296486
    Abstract: A method for data storage includes, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, storing data by the servers in a storage process that (i) caches the data in a cache memory that is accessible to the servers and to the storage devices and (ii) de-stages the cached data from the cache memory to the storage devices. A progress of the storage process is continually journaled, by the servers, in a plurality of server-specific journals residing in the cache memory. In response to a failure occurring during the storage process, the data is recovered by the storage controller based on the server-specific journals.
    Type: Grant
    Filed: November 8, 2017
    Date of Patent: May 21, 2019
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventors: Alex Friedman, Alex Liakhovetsky, Yoni Divinsky, Evgeny Budilovsky, Itay Gonshorovitz, Barak Pinhas
  • Publication number: 20190082010
    Abstract: A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
    Type: Application
    Filed: September 2, 2018
    Publication date: March 14, 2019
    Inventors: Alex Friedman, Sergei Dyshel, Ofir Dahan, Alex Liakhovetsky
  • Publication number: 20180060274
    Abstract: A method for data storage includes, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, storing data by the servers in a storage process that (i) caches the data in a cache memory that is accessible to the servers and to the storage devices and (ii) de-stages the cached data from the cache memory to the storage devices. A progress of the storage process is continually journaled, by the servers, in a plurality of server-specific journals residing in the cache memory. In response to a failure occurring during the storage process, the data is recovered by the storage controller based on the server-specific journals.
    Type: Application
    Filed: November 8, 2017
    Publication date: March 1, 2018
    Inventors: Alex Friedman, Alex Liakhovetsky, Yoni Divinsky, Evgeny Budilovsky, Itay Gonshorovitz, Barak Pinhas
  • Publication number: 20170366460
    Abstract: An apparatus for data storage management includes one or more processors, and an interface for connecting to a communication network that connects one or more servers and one or more storage devices. The one or more processors are configured to receive a configuration of the communication network, including a definition of multiple network connections that are used by the servers to access the storage devices using a remote direct memory access protocol transported over a lossy layer-2 protocol, to calculate, based on the configuration, respective maximum bandwidths for allocation to the network connections, and to reduce a likelihood of congestion in the communication network, notwithstanding the lossy layer-2 protocol, by instructing the servers and the storage devices to comply with the maximum bandwidths.
    Type: Application
    Filed: April 20, 2017
    Publication date: December 21, 2017
    Inventors: Alex Friedman, Alex Liakhovetsky
  • Patent number: 9842084
    Abstract: A method for data storage includes, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, storing data by the servers in a storage process that (i) caches the data in a cache memory that is accessible to the servers and to the storage devices and (ii) de-stages the cached data from the cache memory to the storage devices. A progress of the storage process is continually journaled, by the servers, in a plurality of server-specific journals residing in the cache memory. In response to a failure occurring during the storage process, the data is recovered by the storage controller based on the server-specific journals.
    Type: Grant
    Filed: February 6, 2017
    Date of Patent: December 12, 2017
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventors: Alex Friedman, Alex Liakhovetsky, Yoni Divinsky, Evgeny Budilovsky, Itay Gonshorovitz, Barak Pinhas
  • Publication number: 20170286362
    Abstract: A method for data storage includes, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, storing data by the servers in a storage process that (i) caches the data in a cache memory that is accessible to the servers and to the storage devices and (ii) de-stages the cached data from the cache memory to the storage devices. A progress of the storage process is continually journaled, by the servers, in a plurality of server-specific journals residing in the cache memory. In response to a failure occurring during the storage process, the data is recovered by the storage controller based on the server-specific journals.
    Type: Application
    Filed: February 6, 2017
    Publication date: October 5, 2017
    Inventors: Alex Friedman, Alex Liakhovetsky, Yoni Divinsky, Evgeny Budilovsky, Itay Gonshorovitz, Barak Pinhas