G06F3/067

Synchronous Workload Optimization
20230050536 · 2023-02-16 ·

An illustrative method includes receiving a write request to write payload data to a virtual storage volume; transmitting the write request to a plurality of storage nodes each storing a replica of the virtual storage volume; acknowledging the write request only after a quorum of the storage nodes has stored the payload in their respective kernel memory; and flushing the payloads stored in each kernel memory to persistent storage only after a threshold number of outstanding write requests that have been acknowledged, but not yet flushed, has been reached, the flushing configured to optimize performance for synchronous workloads.

OPTIMIZED ADDITION AND REMOVAL OF COMPUTE RESOURCES IN A DISTRIBUTED STORAGE PLATFORM BY IMPLEMENTING MAPPING CHANGES IN A SHARED STORAGE SUBSYSTEM
20230051684 · 2023-02-16 ·

Computer-implemented methods for optimized compute resource addition and removal in a distributed storage platform. In a case of a newly added compute resource being connected to a storage subsystem shared by compute resources in the distributed storage platform, the distributed storage platform formulates a redistribution plan to redistribute a subset of a global address space of the storage subsystem to a newly added logical volume in the storage subsystem. In a case of a removed compute resource being disconnected from the storage subsystem, the distributed storage platform formulates a redistribution plan to redistribute respective logical blocks in a logical volume for the removed compute resource to respective remaining logical volumes for respective remaining compute resources in the distributed storage platform. The distributed storage platform executes the redistribution plan to reassign data block ownerships on one or more physical memory devices in the storage subsystem.

SYSTEMS AND METHODS FOR NVMe OVER FABRIC (NVMe-oF) NAMESPACE-BASED ZONING

A traditional storage platform performs many basic functions, such as storage partitions allocation (i.e., namespace masking) and many advanced functions, such as deduplication or dynamic storage allocation. These functions need to be managed and this results in a multiple management system paradigm, in which a fabric management application manages the fabric connectivity policies (i.e., Zoning), while a storage management application manages the storage namespace mappings and advanced functions. Embodiments herein provide for centralized management for both connectivity and storage namespace mapping, among other advanced features. Namespace zoning information may comprise Namespace ZoneGroups, Namespace Zones, Namespace Zone Members, Namespace ZoneAlias, and Namespace ZoneAlias Members, which expand the NVMe-oF zoning framework from just connectivity control to full Namespaces allocation.

STORAGE VOLUME SYNCHRONIZATIONS RESPONSIVE TO COMMUNICATION LINK RECOVERIES
20230049823 · 2023-02-16 ·

In some examples, a system detects recovery, from an unavailable state, of a communication link between a first storage system that includes a first storage volume and a second storage system that includes a second storage volume that is to be a synchronized version of the first storage volume, where while the communication link is in the unavailable state the second storage volume is in an offline state and the first storage volume is in an online state. In response to detecting the recovery of the communication link, the system sends a first tracking metadata for the first storage volume from the first storage system to the second storage system, and in response to receipt of the first tracking metadata at the second storage system that maintains a second tracking metadata for the second storage volume, the system transitions the second storage volume from the offline state to a controlled online state, and initiates a synchronization process to synchronize the second storage volume with the first storage volume.

CONDITIONAL ROLE DECISION BASED ON SOURCE ENVIRONMENTS
20230047320 · 2023-02-16 ·

Example implementations can involve a system, which can involve a server configured to distribute role decision condition expressions created based on user input to one or more storage devices; and the one or more storage devices, which can involve a processor, configured to, for receipt of a request, determine user identification information, request source environment information and requested contents from the request; determine a role from the role decision condition expressions based on the user identification information and request source environment information; and determine whether or not the request can be executed based on the role.

Servicing input/output (‘I/O’) operations during data migration
11579790 · 2023-02-14 · ·

Volume migration among a set of storage systems synchronously replicating a dataset for a volume, where volume migration includes: initiating a transfer of the volume in dependence upon determining that a performance metric for accessing the volume stored on a first storage system would improve if transferred to a second storage system; and during the transfer of the volume: determining status information for the transfer; intercepting an I/O operation directed to the volume; and directing, in dependence upon the status information, the I/O operation to either the first storage system or the second storage system.

Volume remote copy based on application priority
11579780 · 2023-02-14 · ·

Example implementations described herein involve systems and methods which automatically determine volumes to be replicated for disaster recovery based on the execution priority of an application which uses the volumes. Such example implementations can involve systems and methods involving creating a volume in a first storage system for each of one or more containers newly launched on one or more servers managing a container orchestrator; and establishing replication of the volume for the each of the newly launched one or more containers to a second storage system in order from highest container priority to lowest container priority.

Multi-tenant storage

A system, apparatus and product comprising: a multi-tenant layer that comprises shared resources, wherein the shared resources are accessible to multiple tenants of the storage system, wherein the shared resources comprise shared logic resources and shared data resources; and multiple single-tenant layers, wherein each single-tenant layer is associated with a respective tenant of the multiple tenants, wherein each single-tenant layer comprises a database and business logic of the respective tenant, wherein a multi-tenant encryption scheme is configured to enable secure communications with the multiple tenants without divulging sensitive information to the multi-tenant layer.

Automated orchestration of cyber protection of a set of storage volumes

An Orchestrated Data Recovery (ODR) Cyber Protection Automation (CPA) operates to ensure one-to-one creation of snapsets of a production site and corresponding snapsets of a cyber vault. During an initiation phase, the ODR CPA monitors synchronization of a snapset of production volumes from the production site to the cyber vault. If additional snapsets of the production volumes are created prior to completion of synchronization of the first snapset, the additional snapsets are also synchronized to the cyber vault. Once the initial synchronization of the storage volumes has been completed, the ODR CPA causes a Storage Volume Creation and Management System (SVCMS) to create a snapset of the storage volumes at the cyber vault. Subsequently, each time a snapset is created of the production site, the ODR CPA orchestrates synchronization of the snapset to the cyber vault and creation of a corresponding snapset at the cyber vault.

Pooling distributed storage nodes that have specialized hardware
11579781 · 2023-02-14 · ·

Distributed storage nodes having specialized hardware can be pooled for servicing data requests. For example, a distributed storage system can include a group of storage nodes. The distributed storage system can determine a subset of storage nodes that include the specialized hardware based on status information received from the group of storage nodes. The specialized hardware can be preconfigured with specialized functionality. The distributed storage system can then generate a node pool that includes the subset of storage nodes with the specialized hardware. The node pool can be configured to perform the specialized functionality in relation to a data request.