Patents Assigned to E8 STORAGE SYSTEMS LTD.
  • 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
  • Patent number: 10031872
    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, running, in a server among the servers, multiple data-path instances (DPs) that operate independently of one another and issue storage commands for execution in the multi-queue storage devices. The storage commands, issued by the multiple DPs running in the server, are multiplexed using an Input-Output Multiplexer (I/O MUX) process. The multiplexed storage commands are executed in the multi-queue storage devices.
    Type: Grant
    Filed: December 20, 2017
    Date of Patent: July 24, 2018
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Alex Friedman
  • 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
  • Patent number: 9800661
    Abstract: A method for data storage includes, in a system that includes one or more storage controllers, multiple servers and multiple multi-queue storage devices, assigning in each storage device server-specific queues for queuing data-path storage commands exchanged with the respective servers. At least some of the data-path storage commands are exchanged directly between the servers and the storage devices, not via the storage controllers, to be queued and executed in accordance with the corresponding server-specific queues.
    Type: Grant
    Filed: July 13, 2015
    Date of Patent: October 24, 2017
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Zivan Ori
  • Patent number: 9781227
    Abstract: A system for data storage includes multiple servers, which are configured to communicate over a network with multiple multi-queue storage devices and with at least one storage controller, to store on the storage devices compressed data belonging to a user volume, to specify storage locations, in which the compressed data is stored on the storage devices, in a shared data structure that is shared and modified by the servers using remote direct memory access, and to coordinate access to the compressed data by the servers by querying the shared data structure, without executing code on a processor of the storage controller.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: October 3, 2017
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventors: Alex Friedman, Barak Pinhas, Evgeny Budilovsky
  • Patent number: 9529542
    Abstract: A system for data storage includes multiple servers, which are configured to communicate over a network with multiple multi-queue storage devices and with at least one storage controller, to store on the storage devices compressed data belonging to a user volume, to specify storage locations, in which the compressed data is stored on the storage devices, in a shared data structure that is shared and modified by the servers using remote direct memory access, and to coordinate access to the compressed data by the servers by querying the shared data structure, without executing code on a processor of the storage controller.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: December 27, 2016
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventors: Alex Friedman, Barak Pinhas, Evgeny Budilovsky
  • Patent number: 9525737
    Abstract: A method for data storage includes, in a system that includes multiple servers and multiple multi-queue storage devices that communicate over a network, accumulating data blocks by a server in a Non-Volatile Random-Access Memory (NVRAM) cache that is accessible to the servers and to the storage devices, by sending the data blocks from the server to the NVRAM cache using remote direct memory access, so as to form one or more stripes. The stripes are transferred from the NVRAM cache to respective server-specific queues on the storage devices. Another server is prevented from causing inconsistency in the data blocks, by querying a data structure, which is shared and modified by the servers using remote direct memory access, and which specifies storage locations of the data blocks.
    Type: Grant
    Filed: February 4, 2016
    Date of Patent: December 20, 2016
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Alex Friedman
  • Patent number: 9519666
    Abstract: A method for data storage includes, in a system that includes one or more storage controllers, one or more servers and one or more storage devices, defining one or more data structures that represent thinly-provisioned user volumes used by the servers in storing data on the storage devices. One or more of the data structures are shared among the storage controllers and the servers. One or more of the user volumes are accessed by the servers, using the shared data structures and without executing code on the storage controllers.
    Type: Grant
    Filed: April 28, 2015
    Date of Patent: December 13, 2016
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Alex Friedman
  • Patent number: 9521201
    Abstract: A method for data storage includes, in a system that includes multiple servers and multiple storage devices, holding in a server a definition of a stripe that includes multiple memory locations on the storage devices, to be used by the servers for storing multiple data elements and at least a redundancy element calculated over the data elements. One or more of the data elements in the stripe are modified by the server, by executing in the storage devices an atomic command, which updates the redundancy element to reflect the modified data elements only if a current redundancy element stored in the storage devices reflects the multiple data elements prior to modification of the data elements, and storing the modified data elements in the storage devices only in response to successful completion of the atomic command.
    Type: Grant
    Filed: January 18, 2016
    Date of Patent: December 13, 2016
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Zivan Ori
  • Patent number: 9274720
    Abstract: A method for data storage includes, in a system that includes multiple servers and multiple storage devices, holding in a server a definition of a stripe that includes multiple memory locations on the storage devices, to be used by the servers for storing multiple data elements and at least a redundancy element calculated over the data elements. One or more of the data elements in the stripe are modified by the server, by executing in the storage devices an atomic command, which updates the redundancy element to reflect the modified data elements only if a current redundancy element stored in the storage devices reflects the multiple data elements prior to modification of the data elements, and storing the modified data elements in the storage devices only in response to successful completion of the atomic command.
    Type: Grant
    Filed: July 9, 2015
    Date of Patent: March 1, 2016
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Zivan Ori
  • Patent number: 9112890
    Abstract: A method for data storage includes, in a system that includes one or more storage controllers, multiple servers and multiple multi-queue storage devices, assigning in each storage device server-specific queues for queuing data-path storage commands exchanged with the respective servers. At least some of the data-path storage commands are exchanged directly between the servers and the storage devices, not via the storage controllers, to be queued and executed in accordance with the corresponding server-specific queues.
    Type: Grant
    Filed: January 18, 2015
    Date of Patent: August 18, 2015
    Assignee: E8 STORAGE SYSTEMS LTD.
    Inventor: Zivan Ori