G06F3/0646

Techniques for rebalancing storage between subspaces

Techniques for improving storage efficiency of a data storage system are provided. The techniques include (a) performing a testing operation to evaluate whether a test condition is satisfied for a filesystem having a plurality of subspaces, each subspace being provisioned with a respective amount of storage, each subspace of the filesystem being dedicated to storing different respective types of filesystem content, wherein the test condition indicates that a first subspace has available space in excess of a threshold percentage, (b) in response to determining that the test condition is satisfied for the filesystem, performing a reduction operation on the first subspace to remove a portion of storage provisioned to that subspace while retaining the removed portion for use by the filesystem, and (c) upon a second subspace reaching a fullness threshold, provisioning the removed portion to the second subspace and storing content of the respective type of the second subspace thereon.

Prevent Counter Wrap During Update-Side Grace-Period-Request Processing in Tree-SRCU Implementations
20200104176 · 2020-04-02 ·

In an SRCU environment, per-processor data structures each maintain a list of SRCU callbacks enqueued by SRCU updaters. An SRCU management data structure maintains a current-grace-period counter that tracks a current SRCU grace period, and a future-grace-period counter that tracks a farthest-in-the-future SRCU grace period needed by the SRCU callbacks enqueued by the SRCU updaters. A combining tree is used to mediate a plurality of grace-period-start requests concurrently vying for an opportunity to update the future-grace-period record on behalf of SRCU callbacks. The current-grace-period counter is prevented from wrapping during some or all of the grace-period-start request processing. In an embodiment, the counter wrapping is prevented by performing some or all of the grace-period start-request processing within an SRCU read-side critical section.

Releasing space allocated to a space efficient target storage in a copy relationship with a source storage

Provided are a computer program product, system, and method for releasing space allocated to a space efficient target storage in a copy relationship with a source storage. Source and target copy relationships indicate source data in the source storage to copy to target data in the target storage. The source copy relationship indicates source data that need to be copied to the target data before being updated, and the target copy relationship indicates target data tracks updated with data copied from corresponding source data. An operation is initiated that results in terminating the source and target copy relationships. Space allocated to the target data for the source and target copy relationships is released in response to determining that the target storage comprises the space efficient storage. The source and target copy relationships are removed.

RECONCILIATION OF DATA IN A DISTRIBUTED SYSTEM
20200097567 · 2020-03-26 ·

Methods and systems are presented for providing data consistency in a distributed data storage system using an eventual consistency model. The distributed data storage system may store data across multiple data servers. To process a request for writing a first data value for a data field, a first data server may generate, for the first data value, a first causality chain representing a data replacement history for the data field leading to the first data value. The first data server may insert the first data value without deleting pre-existing data values from the data field. To process a data read request, multiple data values corresponding to the data field may be retrieved. The first data server may then select one data value based on the causality chains associated with the multiple data values for responding to the data read request.

Intelligent local management of data stream throttling in secondary-copy operations
10594610 · 2020-03-17 · ·

Intelligent local management of data stream throttling in data movement operations, such as secondary-copy operations in a storage management system, is disclosed. A local throttling manager may intelligently interoperate with co-resident data agents and/or a media agent executing on any given local computing device, whether a client computing device or a secondary storage computing device. The local throttling manager may allocate and manage the available bandwidth for various jobs and their constituent data streamsacross the data agents and/or media agent. Bandwidth is dynamically allocated and re-allocated to data streams used by ongoing jobs, in response to new jobs starting and old jobs completing, without having to pause and restart ongoing jobs to accommodate bandwidth adjustments. The illustrative embodiment also provides local users with a measure of control over data streamsto suspend, pause, and/or resume themindependently from the centralized storage manager that manages the storage management system as a whole.

Optimizing Dataset Transformations For Use By Machine Learning Models
20240028266 · 2024-01-25 ·

Generating a transformed dataset for use by a machine learning model in an artificial intelligence infrastructure that includes one or more storage systems and one or more graphical processing unit (GPU) servers, including: storing, within one or more storage systems, a transformed dataset generated by applying one or more transformations to a dataset that are identified based on one or more expected input formats of data received as input data by one or more machine learning models to be executed on one or more servers; and transmitting, from the one or more storage systems to the one or more servers without reapplying the one or more transformations on the dataset, the transformed dataset including data in the one or more expected formats of data to be received as input data by the one or more machine learning models.

Accessing Metadata Storage Trees in a Storage Network

A method includes error encoding data to produce a plurality of data slices. Metadata is determined for a data slice of the plurality of data slices. The metadata is stored in a metadata storage tree. The data slice is stored in a slice storage location indicated by the metadata. Based on determining to access the data slice, the metadata for the data slice is accessed in the metadata storage tree to determine the slice storage location for the data slice, and the data slice is accessed in the slice storage location based on determining the slice storage location for the data slice via accessing the metadata storage tree.

Redundancy implementation using bytewise shifting
10592367 · 2020-03-17 · ·

Systems, apparatuses, and methods for efficiently increasing reliability of memory accesses are described. In various embodiments, write data and write mask data are shifted by redundancy logic in a memory. The redundancy logic receives write data bits, which are segmented into one or more write groups in addition to one or more mask bits and one or more shift bits per write group. If the redundancy logic detects a first shift bit assigned to a first write group is asserted, then the redundancy logic selects a second mask bit assigned to a second write group different from the first write group. Otherwise, a first mask bit assigned to the first write group is selected. Following, the redundancy logic combines the selected mask bit with the first data bit of the first write group.

UPDATING MAPPING INFORMATION DURING SYNCHRONIZATION OF MEMORY DEVICE
20200081645 · 2020-03-12 ·

Disclosed herein are related to a controller, a method, and a system for updating mapping information between a logical address and a physical address of a corresponding region of a memory device. In one aspect, the controller generates a plurality of entries, where each entry indicates an update in the mapping information associated with the corresponding region. The controller generates a plurality of headers, where each header is associated with one or more entries in the corresponding region. The controller receives an instruction to synchronize the mapping information stored on the memory device with the update in the mapping information. The controller generates a copy of the plurality of headers in response to receiving the instruction to synchronize. The controller synchronizes the mapping information stored on the memory device according to the copy of the plurality of headers and the plurality of entries.

RACK-POWER-CONTROLLER-INITIATED DATA PROTECTION

A method for protecting data in a storage system is disclosed. In one embodiment, such a method includes detecting, by a first rack power controller, first battery-on status associated with a first uninterruptible power supply. The method further detects, by a second rack power controller, second battery-on status associated with a second uninterruptible power supply. The method communicates, from the first rack power controller to the second rack power controller, the first battery-on status. The method then triggers, by the second rack power controller, a dump of modified data from memory to more persistent storage upon detecting both the first battery-on status and the second battery-on status. A corresponding system and computer program product are also disclosed.