G06F3/067

DIFFERENTIATING OPEN AND ABANDONED TRANSACTIONS IN A SHARED STORAGE ENVIRONMENT
20180011650 · 2018-01-11 ·

Systems and methods for enhancing storage recollection in a shared storage system by enabling the recollection procedure to differentiate between open and abandoned transaction. An example method comprises: detecting, by a processing device, a transaction marker of a storage system, the transaction marker being stored on shared storage and indicating a modification of the shared storage is incomplete; determining, in view of a locking data structure on the shared storage, whether the transaction marker is associated with an abandoned modification; in response to the transaction marker being associated with an abandoned modification, releasing a portion of the shared storage associated with the abandoned modification; and destroying the transaction marker.

Block-level single instancing

Described in detail herein are systems and methods for single instancing blocks of data in a data storage system. For example, the data storage system may include multiple computing devices (e.g., client computing devices) that store primary data. The data storage system may also include a secondary storage computing device, a single instance database, and one or more storage devices that store copies of the primary data (e.g., secondary copies, tertiary copies, etc.). The secondary storage computing device receives blocks of data from the computing devices and accesses the single instance database to determine whether the blocks of data are unique (meaning that no instances of the blocks of data are stored on the storage devices). If a block of data is unique, the single instance database stores it on a storage device. If not, the secondary storage computing device can avoid storing the block of data on the storage devices.

Scheduling storage system tasks to promote low latency and sustainability

A technique for scheduling access to a resource arranges tasks into multiple classes, where each class has a respective share and a respective priority. The share of a class sets an amount of access allocated to the class, and the priority sets an order in which the class can use its share, with higher priority classes getting access before lower-priority classes. The technique assigns latency-critical tasks, such as synchronous I/O tasks, to a first class having the highest priority and assigns bandwidth-critical tasks, such as background I/O processing, to a second class having a lower priority.

Block-level data replication

Certain embodiments described herein relate to an improved block-level replication system. One or more components in an information management system may receive a request to perform a block-level replication between a source storage device and a destination storage device, and depending on the specific replication mode requested, (i) store block-level changes directly to the destination storage device or (ii) first to a recovery point store and then later to the destination storage device.

Hot growing a cloud hosted block device
11709692 · 2023-07-25 · ·

A method of resizing a block storage volume for a virtual machine includes executing the virtual machine and attaching a virtual storage device to the virtual machine. The virtual storage device exposes the block storage volume on memory hardware to the virtual machine. The block storage volume includes a first storage capacity. The method also includes mounting the block storage volume to the virtual machine and resizing the block storage volume while the virtual machine continues to execute. The block storage volume is resized without attaching an additional virtual storage device to the virtual machine or mounting an additional block storage volume to the virtual machine.

File storage and computer system that creates new chunks after an update
11709628 · 2023-07-25 · ·

In file storage, a CPU is configured to: divide a file into a plurality of chunks, execute encoding processing on at least one of the chunks to obtain an encoded chunk, and store in cloud storage a plurality of chunks of the file including the encoded chunk; acquire, when receiving a read command of which target is data of a part of a file stored in the cloud storage, a read target chunk including data, which is a target of the read command, from the cloud storage; and execute, when an encoded chunk is included in the read target chunk, decoding processing on the encoded chunk, identify data that is a read target from the read target chunk including the chunk having been subjected to decoding processing, and hand over the identified data to a command source of the read command.

Smart de-fragmentation of file systems inside VMS for fast rehydration in the cloud and efficient deduplication to the cloud

One example method includes chunking a respective disk of each of a plurality of virtual machines (VM) to create a respective plurality of chunks associated with each of the VMs, creating, based on the chunking process, a cluster comprising one or more of the VMs, creating a VM template whose data and disk structure match respective data and disk structures of each of the VMs in the cluster, and in response to a file operation involving a first one of the VM disks, defragmenting the first VM disk so that a disk structure of the first VM disk is the same as a disk structure of the VM template.

Synchronizing online and offline transfer of data to cloud storage system

Transportable storage devices are communicatively coupled behind one or more dedicated “edge” data servers to take advantage of the benefits of the data servers and transportable storage devices while limiting their disadvantages. Each edge data server ingests data from one or more client devices and copies the data to one or more of the transportable storage devices for eventual transport to a cloud data center for upload to a cloud storage system. Multiple versions of a segment of data (e.g., of a file or a blob) are maintained at various points in the disclosed system and the disclosed technology ensures that the most recent version is the version ultimately stored on the cloud storage system.

Managing Correlated Outages in a Dispersed Storage Network

A storage network processing system includes a processor, a network interface and memory that stores operational instructions. The operation instructions enable the processor to receive a data object for storage and dispersed error encode the data object in accordance with dispersed error encoding parameters to produce a plurality of encoded data slices. The operation instructions further enable the processor to generate to determine a plurality of site slice sets from the plurality of encoded data slices, where each site slice set of the plurality of site slice sets includes a number of unique encoded data slices of the plurality of encoded data slices that is greater than or equal to a site write threshold value. The operation instructions further enable the processor to a designate one of a plurality of storage sites for each of the plurality of site slice sets and transmit each of the plurality of site slice sets to a corresponding designated one of the plurality of storage sites via the network.

METHODS, DEVICES AND SYSTEMS FOR REAL-TIME CHECKING OF DATA CONSISTENCY IN A DISTRIBUTED HETEROGENOUS STORAGE SYSTEM
20230237045 · 2023-07-27 ·

A computer-implemented method may comprise executing, by a first plurality of replicated state machines, a sequence of ordered agreements to make mutations to a data stored in a first data storage of a first type and executing, by a second plurality of replicated state machines, the sequence of ordered agreements to make mutations to the data stored in a second data storage of a second type. First metadata of the mutated data stored in the first data storage may then be received and stored, as may second metadata of the mutated data stored in the second data storage. A comparison of the stored first and second metadata may then be carried out when the data stored in the first data storage that corresponds to the first metadata and the data stored in the second data storage that corresponds to the second metadata have been determined to have settled according to the predetermined one of the sequence of ordered agreements. A selected action may then be carried out depending upon a result of the comparison.