Patent classifications
G06F3/0667
Key value append
Software that may be implemented using a circuit is disclosed. The software may include an Application Programming Interface (API) to receive a request from an application relating to a key-value pair for a Key-Value Solid State Drive (KV-SSD). The key-value pair may include a key and a value; the application may be executed by a processor. The software may also include combiner software to combine the key with an index to produce an indexed key, and execution software to execute an operation on the KV-SSD using the indexed key and the value.
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 CONFIGURATION OF PARTNER OBJECTS ACROSS DISTRIBUTED STORAGE SYSTEMS USING TRANSFORMATIONS
A configuration for a component of a primary node is synchronized with a configuration for a component of a partner node in a different cluster by replicating the primary node configuration with the partner node. A baseline configuration replication comprises a snapshot of a component configuration on the primary. The baseline configuration can be generated by traversing through the configuration objects, capturing their attributes and encapsulating them in a package. The baseline package can then be transferred to the partner node. The configuration objects can be applied on the partner node in the order in which they were captured on the primary node. Attributes of the configuration objects are identified that are to be transformed. Values for the identified attributes are transformed from a name space in the primary node to a name space in the partner node.
Low-latency direct cloud access with file system hierarchies and semantics
Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces and semantics may be layered on cloud-based storage, while providing access to data in a manner consistent with file-based access with data organization in name hierarchies. Various embodiments also may provide for memory mapping of data so that memory map changes are reflected in persistent storage while ensuring consistency between memory map changes and writes. For example, by transforming a ZFS file system disk-based storage into ZFS cloud-based storage, the ZFS file system gains the elastic nature of cloud storage.
Virtual storage interface
Generating a storage interface includes receiving a request for documents, detecting an accounting workflow type corresponding to request, and identifying a document organizational structure matching the accounting workflow type. Further, a virtual storage interface is built using an index on the documents and according to the document organizational structure, and presented.
Universal pointers for data exchange in a computer system having independent processors
A system, method and apparatus to facilitate data exchange via pointers. For example, in a computing system having a first processor and a second processor that is separate and independent from the first processor, the first processor can run a program configured to use a pointer identifying a virtual memory address having an ID of an object and an offset within the object. The first processor can use the virtual memory address to store data at a memory location in the computing system and/or identify a routine at the memory location for execution by the second processor. After the pointer is communicated from the first processor to the second processor, the second processor can access the same memory location identified by the virtual memory address. The second processor may operate on the data stored at the memory location or load the routine from the memory location for execution.
Persistent memory image capture
A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.
REVERSE RANGE LOOKUP ON A UNIFIED LOGICAL MAP DATA STRUCTURE OF SNAPSHOTS
A method for reverse range lookup in an ordered data structure of keys, wherein each key comprises a logical block address (LBA) and a snapshot identifier (ID) of one of one or more snapshots in a snapshot hierarchy, is provided. The keys in the ordered data structure are in an order from smallest to largest LBA, wherein in the order, keys having a same LBA are ordered from smallest to largest snapshot ID. The method includes determining a range of LBAs and traversing the ordered data structure in reverse order until a key is found that: has an LBA and a snapshot ID that is less than or equal to the last LBA and the largest snapshot ID, respectively. The method further includes adding an extent corresponding to the located key to an extent result list if the snapshot ID of the located key is not within a deny list.
FILE STORAGE SYSTEM AND MANAGEMENT INFORMATION FILE RECOVERY METHOD
In order to quickly recover a management information file, an Edge file storage stores user files and a management information file that manages management states of the user files in the Edge file storage. The Edge file storage manages operation logs indicating operation contents concerning user files accepted by nodes in association with the respective nodes. The Edge file storage extracts operation logs for a user file associated with a targeted management information file as a management information file stored in a failed node from the operation logs corresponding to the nodes. The Edge file storage aggregates operation logs that are extracted from the operation logs corresponding to the nodes and are used for the user file associated with the targeted management information file. The Edge file storage recovers the targeted management information file based on the aggregated operation log.
Data recovery in a virtual storage system
Data recovery in a virtual storage system, including: detecting, within storage provided by a first tier of storage of the virtual storage system, data loss within a dataset, wherein recovery data for the dataset is stored in a second tier of storage; determining a recovery point for the dataset up to which a consistent version of the dataset is recoverable from the recovery data stored in the second tier of storage; and restoring, within the storage provided by the first tier of storage of the virtual storage system, the consistent version of the dataset.