Patents by Inventor Vladimir Shveidel

Vladimir Shveidel 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).

  • Publication number: 20220342633
    Abstract: A method, computer program product, and computing system for defining a queue. The queue may be based on a linked list and may be a first-in, first-out (FIFO) queue that may be configured to be use used with multiple producers and a single consumer. The queue may include a plurality of queue elements. A tail element and a head element may be defined from the plurality of elements within the queue. The tail element may point to a last element of the plurality of elements and the head element may point to a first element of a plurality of elements. An element may be dequeued from the tail element, which may include determining if the tail element is in a null state. An element may be enqueued to the head element, which may include adding a new element to the queue.
    Type: Application
    Filed: April 22, 2021
    Publication date: October 27, 2022
    Inventors: VLADIMIR SHVEIDEL, LIOR KAMRAN
  • Publication number: 20220342825
    Abstract: A method, computer program product, and computing system for receiving a flush request for a metadata page stored in a storage array of a multi-node storage system. The flush request may be queued on a flush request lock queue on at least one node of the multi-node storage system. One or more flush requests may be processed, via multiple nodes of the multi-node storage system, on the metadata page based upon, at least in part, the flush request lock queue.
    Type: Application
    Filed: April 22, 2021
    Publication date: October 27, 2022
    Inventors: Jenny Derzhavetz, Vladimir Shveidel, Dror Zalstein, Bar David
  • Publication number: 20220342816
    Abstract: A method, computer program product, and computing system for assigning a plurality of unique sequential identifiers to a plurality of tablets in a cache memory system. One or more metadata deltas associated with a metadata page stored in a storage array may be written to the plurality of tablets in the cache memory system. Each metadata delta stored in at least one tablet of the plurality of tablets may be written to the metadata page stored in the storage array, thus defining one or more destage tablets. A largest unique sequential identifier from the plurality of unique sequential identifiers assigned to the one or more destage tablets, may be written to the storage array, thus defining a current tablet identifier for the metadata page.
    Type: Application
    Filed: April 22, 2021
    Publication date: October 27, 2022
    Inventors: Jenny Derzhavetz, Vladimir Shveidel, Dror Zalstein, Bar David
  • Publication number: 20220342855
    Abstract: A method, computer program product, and computer system for controlling, by a computing device, access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory. Metadata (MD) non-volatile memory commits may be throttled until capacity of the non-volatile memory is at a threshold capacity.
    Type: Application
    Filed: April 23, 2021
    Publication date: October 27, 2022
    Inventors: Ami Sabo, Vladimir Shveidel, Dror Zalstein
  • Publication number: 20220342721
    Abstract: A method, computer program product, and computer system for permitting, by a computing device, entering of a barrier object of a plurality of barrier objects with a first set of one or more Application Programming Interfaces (APIs) only when the barrier object is not set. The first set of the one or more APIs on the barrier object may wait until the barrier object is reset. A second set of the one or more APIs may set the barrier object. Waiting may occur until there are no longer any flows in the barrier object.
    Type: Application
    Filed: April 22, 2021
    Publication date: October 27, 2022
    Inventors: Vladimir Shveidel, Geng Han
  • Patent number: 11481291
    Abstract: An apparatus comprises at least one processing device that includes a processor coupled to a memory. The processing device is configured to associate a first storage node with at least a second storage node in a plurality of storage nodes of a distributed storage system, each such storage node comprising a plurality of storage devices, to establish a storage devices group comprising specified ones of the storage devices of the first and second storage nodes, to detect an issue with a first communication channel to the first storage node, and responsive to the detected issue, to communicate with the first storage node via the second storage node, utilizing an alternative communication channel involving one or more storage devices of the storage devices group. The storage devices group may comprise a designated subset of storage devices within a common disk array enclosure (DAE) shared by the first and second storage nodes.
    Type: Grant
    Filed: January 12, 2021
    Date of Patent: October 25, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Vladimir Shveidel
  • Publication number: 20220334965
    Abstract: A method of performing write operations that have been received by a data storage apparatus is provided. The method includes (a) storing page descriptors for received write operations within temporary storage, each page descriptor indicating respective data to be written; (b) upon storing each page descriptor, organizing that page descriptor into a shared working-set structure; and (c) operating a plurality of flushers to persist the data indicated by respective page descriptors to long-term persistent storage based on organization of the page descriptors in the shared working-set structure, each flusher accessing page descriptors via the shared working-set structure. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Application
    Filed: April 15, 2021
    Publication date: October 20, 2022
    Inventors: Vladimir Shveidel, Socheavy Heng
  • Patent number: 11474938
    Abstract: Managing pool memory in a data storage system includes maintaining free lists for corresponding object sizes. For a memory-consuming request (e.g., host write) an allocation operation is performed and the request data is stored. The allocation operation includes (1) selecting a memory object at least as large as the request size and removing all pages of the selected memory object from the corresponding free list, and (2) selecting pages of the selected memory object to store the request data and marking the selected pages as non-free, and leaving any leftover pages as free pages. For a memory-freeing request (e.g., destaging), a deallocation operation is performed that includes (1) marking the request pages free, and (2) based on neighboring pages being free, merging the request pages and neighboring pages into a corresponding memory object and adding the merged pages to the corresponding free list.
    Type: Grant
    Filed: January 18, 2021
    Date of Patent: October 18, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Geng Han, Haiyun Bao, Shaoqin Gong
  • Publication number: 20220326882
    Abstract: A technique for managing messaging between storage nodes of a storage system includes a first storage node delaying the sending of non-latency-critical messages to a second storage node until the first storage node has a latency-critical message to be sent. The technique further includes combining the non-latency-critical messages with the latency-critical message to form a single, aggregated message, and sending the aggregated message to the second storage node.
    Type: Application
    Filed: April 12, 2021
    Publication date: October 13, 2022
    Inventors: Vladimir Shveidel, Geng Han
  • Publication number: 20220300349
    Abstract: At least one processing device comprises a processor and a memory coupled to the processor. The at least one processing device is configured to establish one or more groups of synchronization objects in a storage system based at least in part on object type, and for each of the one or more groups, to insert entries into a corresponding object type queue for respective objects of the group, to execute a monitor thread for the group, the monitor thread being configured to scan the entries of the corresponding object type queue, and responsive to at least one of the scanned entries meeting one or more designated conditions, to take at least one automated action for its associated object. The synchronization objects illustratively comprise respective locks, or other objects. The at least one processing device illustratively comprises at least a subset of a plurality of processing cores of the storage system.
    Type: Application
    Filed: March 22, 2021
    Publication date: September 22, 2022
    Inventors: Vladimir Shveidel, Lior Kamran
  • Patent number: 11449279
    Abstract: Techniques are used for improving performance of a storage system. The techniques may be used to provide, among other things, a set of counters for an object. Each counter corresponds to a unique processor in a multi-processor storage system. The state of a gate governing the object is determined. If the state of the gate is open, the counter corresponding to the first processor is incremented. The state of the gate for the object is re-determined. If the state of the gate remains open, the object is read and the counter corresponding to the first storage processor is decremented.
    Type: Grant
    Filed: April 28, 2021
    Date of Patent: September 20, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Jianbin Kang, Geng Han, Vladimir Shveidel
  • Publication number: 20220291866
    Abstract: A method of operating a computing device for processing data is provided. The method includes (a) monitoring a set of performance characteristics of the processing of the data; (b) periodically calculating, using a predefined set of coefficients, a linear combination of the monitored set of performance characteristics to yield a combined metric; and (c) upon detecting that the combined metric exceeds a threshold while operating in a first processing mode, transitioning from operating in the first processing mode to operating in a second processing mode. (1) The second processing mode has a higher bandwidth than the first processing mode, and (2) processing of data in the second processing mode is less robust than processing of data in the first processing mode. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Application
    Filed: March 11, 2021
    Publication date: September 15, 2022
    Inventors: Vladimir Shveidel, Alexei Kabishcer
  • Publication number: 20220291971
    Abstract: In one aspect, an example methodology implementing the disclosed techniques includes, responsive to a determination, by a first thread attempting to start an operation, that a second thread has started the operation, obtaining a value of a stamp included in a synchronization object related to the operation. The method also includes determining, by the first thread, whether the value of the stamp obtained is the same as a current value of the stamp and, responsive to a determination that the obtained value of the stamp is not the same as the current value of the stamp, continuing execution of the first thread. The method may further include, responsive to a determination that the obtained value of the stamp is the same as the current value of the stamp, suspending execution of the first thread.
    Type: Application
    Filed: March 10, 2021
    Publication date: September 15, 2022
    Applicant: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • Patent number: 11436123
    Abstract: Techniques are provided for application tracing for inline performance analysis.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: September 6, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Kleiner, Vladimir Shveidel, Anton Kucherov
  • Patent number: 11436142
    Abstract: A method, computer program product, and computer system for virtualizing, by a computing device, a physical metadata space into a virtual metadata space. A translation table from the virtual metadata space to the physical metadata space may be implemented. Metadata in the physical metadata space may be cached based upon the virtual metadata space. The metadata in the physical metadata space may be moved without updating references associated with the metadata in the physical metadata space.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: September 6, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Vamsi K. Vankamamidi, Philippe Armangau, Christopher Seibel, Vladimir Shveidel
  • Patent number: 11416441
    Abstract: Techniques for providing an RPC-less locking mechanism based on RDMA CAW for a storage cluster with an active-active architecture. The techniques include, in response to receipt at a storage node of a lock request for accessing an LBA of a storage object, synchronizing, between the storage node and a remote node, a state of a lock for the LBA. The synchronizing of the lock state includes locating an ALS object having a field containing the LBA, updating a field of the ALS object to include the storage node, and setting a field of the ALS object to a type of lock specified in the lock request. If the storage node locates the ALS object in an array maintained within visible memory on the remote node, then the storage node updates/sets corresponding fields of the ALS object by performing atomic CAW operations supported by an RDMA channel between the respective nodes.
    Type: Grant
    Filed: January 11, 2021
    Date of Patent: August 16, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Leonid Ravich
  • Patent number: 11409559
    Abstract: A method, computer program product, and computer system for identifying, by a computing device, an attribute of a lock object associated with data. It may be determined that the lock object is acquired by a first task performing a transaction with the data based upon, at least in part, the attribute of the lock object. The lock object may be acquired by a second task by releasing the lock object from the first task prior to the transaction with the data being completed, wherein the second task is a higher priority task than the first task.
    Type: Grant
    Filed: October 24, 2019
    Date of Patent: August 9, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Patent number: 11409454
    Abstract: A protocol for processing write operations may include recording each write operation in a log using a PDESC(page descriptor)-PB(page block) pair. The protocol may be a data commit sequence that assigns ownership to containers of logged writes. Each container may be associated with a particular logical block address (LBA) range of a logical device, where logged writes that write to target addresses in the particular LBA range of the logical device may be included in the container. Ownership of a container may be determined by the initial write operation that is mapped to, and placed into, the container based on the target logical address of the write operation. A container may be allocated in response to the initial write operation of the container. Multiple nodes may independently flush containers of logged operations based on the particular node designated as the current owner of the containers.
    Type: Grant
    Filed: April 21, 2021
    Date of Patent: August 9, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Vamsi K. Vankamamidi
  • Publication number: 20220229560
    Abstract: Load balancing may include: receiving I/O workloads of storage server entities that service I/O operations received for logical devices, wherein each logical device has an owner that is one of the storage server entities that processes I/O operations directed to the logical device; determining normalized I/O workloads corresponding to the I/O workloads of the storage server entities; determining, in accordance with utilization criteria, imbalance criteria and the normalized I/O workloads, whether to rebalance the I/O workloads of the storage server entities; and responsive to determining to rebalance the I/O workloads of the storage server entities, performing processing to alleviate a detected I/O workload imbalance between two storage server entities. The processing may include moving logical device from a first storage server entity to a second storage server entity; and transferring ownership of the logical device from the first to the second storage server entity.
    Type: Application
    Filed: January 21, 2021
    Publication date: July 21, 2022
    Applicant: EMC IP Holding Company LLC
    Inventors: Shaul Dar, Gajanan S. Natu, Vladimir Shveidel
  • Publication number: 20220229777
    Abstract: Managing pool memory in a data storage system includes maintaining free lists for corresponding object sizes. For a memory-consuming request (e.g., host write) an allocation operation is performed and the request data is stored. The allocation operation includes (1) selecting a memory object at least as large as the request size and removing all pages of the selected memory object from the corresponding free list, and (2) selecting pages of the selected memory object to store the request data and marking the selected pages as non-free, and leaving any leftover pages as free pages. For a memory-freeing request (e.g., destaging), a deallocation operation is performed that includes (1) marking the request pages free, and (2) based on neighboring pages being free, merging the request pages and neighboring pages into a corresponding memory object and adding the merged pages to the corresponding free list.
    Type: Application
    Filed: January 18, 2021
    Publication date: July 21, 2022
    Inventors: Vladimir Shveidel, Geng Han, Haiyun Bao, Shaoqin Gong