G06F3/0665

MOVING VIRTUAL VOLUMES AMONG STORAGE NODES OF A STORAGE CLUSTER BASED ON DETERMINED LIKELIHOOD OF DESIGNATED VIRTUAL MACHINE BOOT CONDITIONS
20230009160 · 2023-01-12 ·

An apparatus comprises a processing device configured to obtain information characterizing historical boot times for virtual machines associated with virtual volumes hosted on a storage cluster comprising a plurality of storage nodes, and to determine, based at least in part on the obtained information, whether any of the storage nodes has at least a threshold likelihood of experiencing a designated virtual machine boot condition during a given time period. The processing device is further configured, responsive to determining that a first one of the storage nodes has at least the threshold likelihood of experiencing the designated virtual machine boot condition during the given time period, to identify a subset of the virtual machines associated with a subset of the virtual volumes hosted on the first storage node and to move at least one of the subset of the virtual volumes to a second one of the storage nodes.

N-WAY ACTIVE-ACTIVE STORAGE CONFIGURATION TECHNIQUES
20230009529 · 2023-01-12 · ·

A stretched volume may be configured from N volumes of N data storage systems configured as a cluster. N may be an integer greater than two. Each of the N volumes may be included in a different one of the N data storage systems. The N volumes may be exposed to a host as a logical volume having a unique identifier over a plurality of paths from the N data storage systems. The N volumes may be configured for multidirectional synchronous replication. At a first system of the cluster, a write operation may be received that writes to a target logical address of the stretched volume. Servicing the first write may include synchronously replicating the first write to every other one of the N data storage systems of the cluster. Also described are techniques for handling lock contention and avoiding deadlock in connection with processing writes to the stretched volume.

SYSTEM CONFIGURATION MANAGEMENT DEVICE, SYSTEM CONFIGURATION MANAGEMENT METHOD, AND SYSTEM CONFIGURATION MANAGEMENT PROGRAM

To quickly and appropriately adjust a performance of a storage system. A storage configuration optimization device for managing a storage system including one or more storages implemented by a plurality of SDS nodes includes a virtual CPU. The virtual CPU is configured to receive a request for an execution period and a necessary performance of a project using the storage system, and select, based on consumption information and performance information of a resource of the storage system, one or more change patterns satisfying the request for the execution period and the necessary performance from among a plurality of change patterns indicating configuration changes of the storage system.

STORAGE DEVICE AND CONTROL METHOD THEREFOR
20230214134 · 2023-07-06 ·

A storage controller manages a logical volume to which a host makes an access and which manages host data, an addition address space which is mapped with the logical volume and to which host data is added, and a physical address space which is mapped with the addition address space. In the addition address space, different address regions are allocated to respective parity groups. The storage controller selects, as an addition area of host data supplied from the host, an unoccupied address region in the addition address space. As the addition area, a region mapped to a normal status parity group in which data recovery is unnecessary is more preferentially selected than a region allocated to an abnormal status parity group in which data recovery is necessary.

Intra-shard parallelization of data stream processing using virtual shards

A data stream may include a plurality of records that are ordered, and the plurality of records may be assigned to a processing shard. A first set of virtual shards may be formed, the first set of virtual shards having a first quantity of virtual shards that perform parallel processing operations on behalf of the processing shard. First records of the plurality of records may be processed using the first set of virtual shards. The first quantity of virtual shards may be modified, based at least in part on an observed record age, to a second quantity of virtual shards that perform parallel processing operations on behalf of the processing shard. A second set of virtual shards may be formed having the second quantity of virtual shards. Second records of the plurality of records may be processed using the second set of virtual shards.

Technologies for assigning workloads to balance multiple resource allocation objectives

Technologies for allocating resources of managed nodes to workloads to balance multiple resource allocation objectives include an orchestrator server to receive resource allocation objective data indicative of multiple resource allocation objectives to be satisfied. The orchestrator server is additionally to determine an initial assignment of a set of workloads among the managed nodes and receive telemetry data from the managed nodes. The orchestrator server is further to determine, as a function of the telemetry data and the resource allocation objective data, an adjustment to the assignment of the workloads to increase an achievement of at least one of the resource allocation objectives without decreasing an achievement of another of the resource allocation objectives, and apply the adjustments to the assignments of the workloads among the managed nodes as the workloads are performed. Other embodiments are also described and claimed.

Apparatuses and methods for simultaneous in data path compute operations
11693561 · 2023-07-04 · ·

The present disclosure includes apparatuses and methods for simultaneous in data path compute operations. An apparatus can include a memory device having an array of memory cells and sensing circuitry selectably coupled to the array. A plurality of shared I/O lines can be configured to move data from the array of memory cells to a first portion of logic stripes and a second portion of logic stripes for in data path compute operations associated with the array. The first portion of logic stripes can perform a first number of operations on a first portion of data moved from the array of memory cells to the first portion of logic stripes while the second portion of logic stripes perform a second number of operations on a second portion of data moved from the array of memory cells to the second portion of logic stripes during a first time period.

Infernal storage in cloud disk to support encrypted hard drive and other stateful features
11693792 · 2023-07-04 · ·

A cloud implementation of a persisted storage device, such as a disk, is provided. The implementation supports a variety of features and protocols, in full analogy with a physical storage device such as a disk drive. The present disclosure provides for implementing standard eDrive protocols in the cloud by designing internal disk storage, referred to as a “system area,” in a virtual disk instance that the virtual disk can potentially utilize for a multitude of disk features. This internal storage can be used to implement eDrive protocols, which use the system area to maintain the necessary internal virtual disk state.

Enabling virtual functions on storage media

The present disclosure describes apparatuses and methods for automatically mapping virtual functions to storage media to enable single root input output virtualization. A storage media switch manages access to virtual functions that execute behind a storage media interface managed by the switch. The switch includes a host interface through which the switch receives host commands. The switch determines virtual function identifiers associated with the host commands and automatically selects the virtual functions of the storage media based on the virtual function identifiers. The switch executes the host commands over the storage media interface using the virtual functions, and after execution, responds via the host interface to each of the host commands. By automatically mapping virtual functions in this way, the switch automatically enables single root input output virtualization of storage media, including storage media that is without native support for input output virtualization.

Cloud-native global file system with multi-site support using push classes
11693819 · 2023-07-04 · ·

A technique for data sharing among multiple filers that share a volume in a private or public cloud object store is implemented. In this approach, a mechanism is provided to enable a local filer to determine whether other filers that are sharing the volume have a consistent view of new data being written to the cloud object store by the local filer. The begins by associating together a collection of one or more files in a “push class.” On demand, a push operation for the push class is initiated on the local filer. Preferably, the push is managed according to one or more push criteria associated with the push class. Typically, the push operation pushes file data and metadata associated with the one or more files of the push class in respective phases, with the file data being pushed to the cloud during a first phase and the metadata associated with that file data being pushed during a second phase that follows the first phase. After the push operation completes, a determination is made whether the new version of the file is available at one or more other filers that share the volume.