Patents by Inventor Maxim Trusov
Maxim Trusov 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: 11231877Abstract: There is provided a method for executing disk operations in a data storage system (DSS) including a power supply connected to a plurality of serially connected storage enclosures, and a power management module, where each storage enclosure includes at least one disk storage. Each logical partition of plurality of logical partitions is hosted on respective sets of disk storages corresponding to protection groups. The DSS causes activation of a set of protection groups, and authorizes a subset of protection groups to accept execution of disk operations. Disk operations are received and executed by the subset. In response to determining that an operation parameter of a given protection group of the subset is equal to a predetermined threshold, a remaining protection group of the set of protection groups is added to the subset, and a new protection group is activated and added to the set of protection groups.Type: GrantFiled: October 29, 2019Date of Patent: January 25, 2022Assignee: YADRO INTERNATIONAL LTD.Inventors: Ivan Tchoub, Alexey Sigaev, Artem Ikoev, Andrey Fomin, Nikita Gutsalov, Maxim Trusov, Mikhail Malygin, Sergey Kojushev, Vladimir Prikhodko, Alexander Fedorov
-
Publication number: 20210124526Abstract: There is provided a method for executing disk operations in a data storage system (DSS) including a power supply connected to a plurality of serially connected storage enclosures, and a power management module, where each storage enclosure includes at least one disk storage. Each logical partition of plurality of logical partitions is hosted on respective sets of disk storages corresponding to protection groups. The DSS causes activation of a set of protection groups, and authorizes a subset of protection groups to accept execution of disk operations. Disk operations are received and executed by the subset. In response to determining that an operation parameter of a given protection group of the subset is equal to a predetermined threshold, a remaining protection group of the set of protection groups is added to the subset, and a new protection group is activated and added to the set of protection groups.Type: ApplicationFiled: October 29, 2019Publication date: April 29, 2021Inventors: Ivan TCHOUB, Alexey SIGAEV, Artem IKOEV, Andrey FOMIN, Nikita GUTSALOV, Maxim TRUSOV, Mikhail MALYGIN, Sergey KOJUSHEV, Vladimir PRIKHODKO, Alexander FEDOROV
-
Patent number: 10402316Abstract: Structures and processes for garbage collection of search trees under Multi-Version Concurrency Control (MVCC). Such search trees may be used to store data within a distributed storage system. A process detects live search tree elements using tracing and then identify storage chunks having no live elements as garbage to be reclaimed. The process can be paused and resumed to reduce impact on other system processing.Type: GrantFiled: March 29, 2016Date of Patent: September 3, 2019Assignee: EMC IP HOLDING COMPANY LLCInventors: Mikhail Danilov, Mikhail Malygin, Chen Wang, Ivan Tchoub, Shashwat Srivastav, Andrey Fomin, Maxim Trusov
-
Patent number: 10379780Abstract: Systems and processes for statistics management in a distributed storage system using a flat cluster architecture. Statistics for managed objects are collected using virtual statistics groups across multiple storage nodes. The systems and processes are compatible with storage systems that utilize microservice architectures.Type: GrantFiled: June 27, 2016Date of Patent: August 13, 2019Assignee: EMC IP HOLDING COMPANY LLCInventors: Andrey Fomin, Mikhail Danilov, Vladimir Prikhodko, Maxim Trusov, Mikhail Malygin
-
Patent number: 10372560Abstract: A method, computer program product, and computer system for monitoring health of at least one storage device of a cache in a clustered system. A recovery journal may be maintained, wherein the recovery journal may identify whether one or more chunks of data stored in the cache have been dumped from the at least one storage device to persistent storage in the clustered system. A state of the at least one storage device may be determined based upon, at least in part, the health of the at least one storage device. A recovery action may be performed on the one or more chunks of data stored in the at least one storage device based upon, at least in part, the state of the at least one storage device.Type: GrantFiled: March 2, 2017Date of Patent: August 6, 2019Assignee: EMC IP Holding Company LLCInventors: Mikhail Danilov, Andrey Fomin, Mikhail Malygin, Vladimir Prikhodko, Alexander Rakulenko, Maxim Trusov
-
Patent number: 10346066Abstract: A system, computer program product, and computer-executable method for use with a distributed storage system comprising a plurality of storage nodes each having attached storage devices, the system, computer program product, and computer-executable method including receiving a request, at a first storage node of the plurality of storage nodes, to store a large portion of data, using at least one of a first type of data chunk and a plurality of a second type of data chunks to store the large portion of data, processing each of the plurality of the second type of data chunks, processing each of the at least one of the first type of data chunk, and returning an acknowledgement to the request.Type: GrantFiled: February 2, 2017Date of Patent: July 9, 2019Assignee: EMC IP Holding Company LLCInventors: Mikhail Danilov, Ivan Tchoub, Maxim Trusov, Chen Wang, Yu N. Teng
-
Patent number: 10310995Abstract: A data storage system, including a host server having storage processors, a PCIe fabric, and a GBE fabric, and two or more data storage modules having a bank of DRAM, long-term storage drives, a host interface, including a PCIe interface and a GBE interface, an application specific integrated circuit connected to the host interface, the storage drives, and the DRAM, and a battery, the battery providing power to the DRAM and SSDs in an event of failure of a main power supply. Data streams transmitted from the host server via a PCIe connection of the PCIe fabric are received at the host interface and placed directly in DRAM as a write-back cache operation. In addition, the battery provides the DRAM with non-volatile memory capabilities and the storage modules with portability. A method for arbitration of write requests between the storage processors of the data storage system is also disclosed.Type: GrantFiled: August 1, 2018Date of Patent: June 4, 2019Assignee: YADRO INTERNATIONAL LTDInventors: Mikhail Malygin, Maxim Trusov, Nikita Gutsalov, Ivan Andreyev, Ivan Tchoub, Alexey Sigaev, Artem Ikoev
-
Patent number: 10291265Abstract: A technique to accelerate Galois Field (GF) arithmetic. The technique, which does not rely on any specific processor instruction set, can be used to accelerate erasure coding within storage systems.Type: GrantFiled: June 27, 2016Date of Patent: May 14, 2019Assignee: EMC IP HOLDING COMPANY LLCInventors: Maxim Trusov, Mikhail Danilov, Ivan Tchoub, Sergey Karpenkov, Sergey Koyushev
-
Patent number: 10248326Abstract: A method comprising: generating a storage chunk having a plurality of data fragments, the storage chunk stored in one or more storage devices; allocating space in a primary memory to store a plurality of coded fragments; receiving a plurality of I/O requests to write data; allocating space in the primary memory to store a next unfilled data fragment; processing a plurality of I/O requests to write data; and copying the coded fragments from the primary memory to the one or more storage devices. For each I/O request, writing the data to the next unfilled data fragment in the one or more storage devices, writing the data to the next unfilled data fragment in the primary memory, and if the data fragment in the primary memory is full, updating the coded fragments in the primary memory using the filled data fragment in the primary memory.Type: GrantFiled: January 5, 2017Date of Patent: April 2, 2019Assignee: EMC IP Holding Company LLCInventors: Mikhail Danilov, Konstantin Buinov, Andrey Fomin, Andrey Kurilov, Maxim Trusov
-
Patent number: 10191678Abstract: The disclosure relates data protection management (e.g. data re-protection) for distributed storage systems. Specifically, the systems (and methods) of the disclosure implement erasure coding to protect replicated data efficiently while reducing the storage capacity overhead. Traditional approaches for data re-protection that implement erasure coding often require performing a complete re-encoding to reflect changes in data (e.g. a removal of data). The disclosure provides an improved mechanism for data re-protection by implementing an efficient re-encoding (or un-encoding) process that reduces the requirements for data reads and operations, and thus, reduces the resource requirements for data re-protection.Type: GrantFiled: April 27, 2017Date of Patent: January 29, 2019Assignee: EMC IP Holding Company LLCInventors: Mikhail Danilov, Konstantin Buinov, Andrey Fomin, Sergey Koyushev, Maxim Trusov
-
Patent number: 10162552Abstract: A method, computer program product, and computer system for identifying, by a computing device, a plurality of used chunks, wherein the plurality of used chunks may include a plurality of free blocks and at least one non-free block. A capacity of the plurality of free blocks that is available to reclaim may be verified. The capacity of the plurality of free blocks may be reclaimed. A composite chunk from the plurality of free blocks may be created.Type: GrantFiled: December 2, 2016Date of Patent: December 25, 2018Assignee: EMC IP Holding Company LLCInventors: Mikhail Danilov, Mikhail Malygin, Ivan Tchoub, Andrey Fomin, Maxim Trusov
-
Patent number: 10152248Abstract: Systems and methods for efficiently protecting data within a distributed storage system using erasure coding. Unnecessary network traffic can be eliminated by scheduling executing erasure coding tasks on storage nodes that have local copies of data. Encoding may be performed in parallel by multiple nodes to reduce elapsed encoding time.Type: GrantFiled: June 27, 2016Date of Patent: December 11, 2018Assignee: EMC IP HOLDING COMPANY LLCInventors: Mikhail Danilov, Maxim Trusov, Ivan Tchoub, Gregory Skripko, Vladimir Prikhodko
-
Patent number: 10152376Abstract: A method comprising: receiving an I/O request for object data; determining one or more data fragments wherein the object data is stored; determining that one or more of the data fragments are unavailable; determining, from within the one or more unavailable data fragments, a set of slices storing the object data, each slice comprising k small data fragments and m coded fragments; for each slice, retrieving at least k small data and coded fragments within the slice from storage; and recovering a segment of the object data using the retrieved small data and coded fragments. A related system and computer program product are also described.Type: GrantFiled: January 5, 2017Date of Patent: December 11, 2018Assignee: EMC IP HOLDING COMPANY LLCInventors: Mikhail Danilov, Konstantin Buinov, Andrey Fomin, Andrey Kurilov, Maxim Trusov
-
Patent number: 10110258Abstract: A method for generating coded fragments comprises receiving data to be encoded, splitting the data into a plurality of data fragments, identifying a first group of data fragments from among the plurality of data fragments using a coding matrix, summing the data fragments within the first group of data fragments to generate a first group sum, and using the first group sum to calculate at least a portion of two or more coded fragments.Type: GrantFiled: September 30, 2016Date of Patent: October 23, 2018Assignee: EMC IP Holding Company LLCInventors: Maxim Trusov, Mikhail Danilov, Konstantin Buinov, Kirill Zakharov, Andrey Kurilov
-
Publication number: 20180004600Abstract: A method comprising: receiving an I/O request for object data; determining one or more data fragments wherein the object data is stored; determining that one or more of the data fragments are unavailable; determining, from within the one or more unavailable data fragments, a set of slices storing the object data, each slice comprising k small data fragments and m coded fragments; for each slice, retrieving at least k small data and coded fragments within the slice from storage; and recovering a segment of the object data using the retrieved small data and coded fragments. A related system and computer program product are also described.Type: ApplicationFiled: January 5, 2017Publication date: January 4, 2018Inventors: Mikhail Danilov, Konstantin Buinov, Andrey Fomin, Andrey Kurilov, Maxim Trusov
-
Publication number: 20180004414Abstract: A method comprising: generating a storage chunk having a plurality of data fragments, the storage chunk stored in one or more storage devices; allocating space in a primary memory to store a plurality of coded fragments; receiving a plurality of I/O requests to write data; allocating space in the primary memory to store a next unfilled data fragment; processing a plurality of I/O requests to write data; and copying the coded fragments from the primary memory to the one or more storage devices. For each I/O request, writing the data to the next unfilled data fragment in the one or more storage devices, writing the data to the next unfilled data fragment in the primary memory, and if the data fragment in the primary memory is full, updating the coded fragments in the primary memory using the filled data fragment in the primary memory.Type: ApplicationFiled: January 5, 2017Publication date: January 4, 2018Inventors: Mikhail Danilov, Konstantin Buinov, Andrey Fomin, Andrey Kurilov, Maxim Trusov
-
Publication number: 20170371571Abstract: A system, computer program product, and computer-executable method for use with a distributed storage system comprising a plurality of storage nodes each having attached storage devices, the system, computer program product, and computer-executable method including receiving a request, at a first storage node of the plurality of storage nodes, to store a large portion of data, using at least one of a first type of data chunk and a plurality of a second type of data chunks to store the large portion of data, processing each of the plurality of the second type of data chunks, processing each of the at least one of the first type of data chunk, and returning an acknowledgement to the request.Type: ApplicationFiled: February 2, 2017Publication date: December 28, 2017Inventors: Mikhail Danilov, Ivan Tchoub, Maxim Trusov, Chen Wang, Yu N. Teng
-
Publication number: 20170371752Abstract: A method, computer program product, and computer system for monitoring health of at least one storage device of a cache in a clustered system. A recovery journal may be maintained, wherein the recovery journal may identify whether one or more chunks of data stored in the cache have been dumped from the at least one storage device to persistent storage in the clustered system. A state of the at least one storage device may be determined based upon, at least in part, the health of the at least one storage device. A recovery action may be performed on the one or more chunks of data stored in the at least one storage device based upon, at least in part, the state of the at least one storage device.Type: ApplicationFiled: March 2, 2017Publication date: December 28, 2017Inventors: MIKHAIL DANILOV, Andrey Fomin, Mikhail Malygin, Vladimir Prikhodko, Alexander Rakulenko, Maxim Trusov
-
Publication number: 20170285952Abstract: A method, computer program product, and computer system for identifying, by a computing device, a plurality of used chunks, wherein the plurality of used chunks may include a plurality of free blocks and at least one non-free block. A capacity of the plurality of free blocks that is available to reclaim may be verified. The capacity of the plurality of free blocks may be reclaimed. A composite chunk from the plurality of free blocks may be created.Type: ApplicationFiled: December 2, 2016Publication date: October 5, 2017Inventors: MIKHAIL DANILOV, Mikhail Malygin, Ivan Tchoub, Andrey Fomin, Maxim Trusov
-
Publication number: 20170288704Abstract: A method for generating coded fragments comprises receiving data to be encoded, splitting the data into a plurality of data fragments, identifying a first group of data fragments from among the plurality of data fragments using a coding matrix, summing the data fragments within the first group of data fragments to generate a first group sum, and using the first group sum to calculate at least a portion of two or more coded fragments.Type: ApplicationFiled: September 30, 2016Publication date: October 5, 2017Inventors: Maxim Trusov, Mikhail Danilov, Konstantin Buinov, Kirill Zakharov, Andrey Kurilov