G06F3/0667

Hyper-converged infrastructure based on server pairs

A hyper-converged infrastructure (HCI) provides one or more HCI units, each HCI unit including a pair of physical computing servers coupled to shared, nonvolatile storage. The shared, nonvolatile storage of each HCI unit is dedicated to that pair of physical computing servers and provides redundant storage of application data. Each of the pair of physical computing servers runs a set of application instances and an IO (Input/Output) stack. The application instances receive client requests over a network and generate IO requests specifying reads and writes of application data. The IO stack processes the IO requests to effect the specified reads and writes in the shared non-volatile storage.

Service generation based on profiled data objects

An apparatus comprises a profiled data object service manager configured to generate at least one profiled data object service instantiation responsive to an invocation by a profiled data object service user. The profiled data object service manager comprises a profiled data object service reasoner configured to parse the user invocation, to map the parsed user invocation to one or more relevant profiled data objects using profiles of respective profiled data objects and relationships among multiple profiled data objects, to select one or more services to be instantiated based on the relevant profiled data objects, and to generate one or more instantiable service invocations for the one or more selected services. Additional functionality of the profiled data object service manager may comprise one or more of policy enforcement, service instantiation and service orchestration. The service manager is implemented using at least one processing device comprising a processor coupled to a memory.

Read-modify-write processing of chunks at the storage server level in a distributed object storage system

The present disclosure provides systems and methods for sharding objects stored in a distributed storage system. Such sharding may be advantageously utilized for an object that stores a collection of key-value records and for otherwise encoded objects. The object sharding techniques disclosed herein advantageously enable a read-modify-write process at the storage server level. One embodiment disclosed herein provides a method of creating a new chunk by modifying a payload of an existing chunk at the storage server level in a distributed object storage system. The method includes validating the new chunk at the gateway server. Other embodiments, aspects and features are also disclosed.

FAILURE RECOVERY IN SHARED STORAGE OPERATIONS
20170242755 · 2017-08-24 ·

Systems and methods for failure recovery in shared storage operations. An example method comprises: acquiring a lock with respect to a storage domain comprising a specified disk image; creating a transaction marker associated with the disk image; creating a component of a new volume associated with the disk image; destroying the transaction marker; and releasing the lock with respect to the storage domain.

Multi-layered storage administration for flexible placement of data

A storage administrator may maintain location information in separate layers. A data storage system may identify the location of particular data by identifying the virtual location of data, such as the logical extent to which the data belongs. Object stores may maintain mappings of virtual locations to physical locations, such as mappings of extent identifiers to virtual storage objects and mappings of virtual storage objects to storage unit locations. When particular data is relocated to a new location, a storage administrator may update mappings used to translate virtual locations to physical locations, such as an extent-object mapping or an object-storage unit mapping. References to the virtual locations, such as references to logical extent identifiers, may not be updated in response to the relocation of data.

Applying XAM processes

A method is used in applying XAM processes. A set of content is received via any of a file system interface, a block based interface, an object based interface to an object addressable data storage system. An object derived from the set of content and having an object identifier is stored in the object addressable data storage system. The object is made available for retrieval via the object based interface using the object identifier.

METHOD TO EFFICIENTLY STORE OBJECT DATA OF AN OBJECT STORAGE SERVICE ON A MAGNETIC DISK DRIVE AND MAGNETIC SMR DISK DRIVE
20170277438 · 2017-09-28 ·

In a data storage system, the available space of a magnetic storage device is divided into multiple sequential write regions for storing sequentially written data, where the regions are each separated from adjacent sequential write regions by a guard space. Object data, such as key-value pairs, are written sequentially to a particular sequential write region, in blocks of data that correspond to the contents of a nonvolatile buffer being flushed to the magnetic storage device. When a key-value pair stored in the magnetic storage device is subsequently updated, the original key-value pair is not overwritten. Instead, the new version of the key-value pair is included in the next block of data to be written to the magnetic storage device, and a mapping table tracks the location of the newest version of each key-value pair stored in the magnetic storage device.

EFFICIENT AND THREAD-SAFE OBJECTS FOR DYNAMICALLY-TYPED LANGUAGES
20170277467 · 2017-09-28 ·

A method may include creating objects by executing a program in a first thread. Creating the objects may include allocating, for each object, storage based on a shape assigned to the object. The storage may include separate, non-reusable storage locations. Each storage location may correspond to a field of the object. The shape may include a sharing status and a mapping of each field of the object to a storage location. The method may further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects may include setting the sharing status of the shape assigned to each shared object to indicate that the object is shared. The method may further include initiating tracking of shared objects and implementing a write barrier when writing to shared objects.

ACTIVE DATA-AWARE STORAGE MANAGER

A data-aware storage system having an intelligence module that classifies data objects or data streams, and cooperates with a primary storage module to assign storage services tailored to each class.

Copy Using Metadata Representation
20210405930 · 2021-12-30 ·

A virtualized copy-by-reference includes: receiving, from a first computer system, a request for reference information for source data within a source volume; providing, to the first computer system, the reference information, wherein the reference information corresponds to a metadata representation of the source data; receiving, from a second computer system, a request to write the source data to a target volume, and wherein the request to write the source data indicates the reference information; and copying, using the reference information, the metadata representation of the source data to the target volume.