G06F2212/311

SPACE EFFICIENT DISTRIBUTED STORAGE SYSTEMS
20230136106 · 2023-05-04 ·

Space efficient distributed storage systems are disclosed. For example, A system comprising a distributed storage volume (DSV) deployed on a plurality of hosts, the DSV comprising logical volumes, the logical volumes deployed on physical storage devices; and a first host of the plurality of hosts with a local cache, and a storage controller, the storage controller executing on a processor to receive a request relating to a first file; query the DSV to determine whether a second file that is a copy of the first file is stored in the DSV; and based on determining from the querying that the second file resides in a logical volume of the logical volumes in the DSV, store a separate reference to the second file in at least one logical volume of the DSV, wherein the separate reference is a virtual reference or link to the second file.

Storage of tree data structures

Disclosed herein is a computer-implemented method for storing Merkle tree data in memory. The Merkle tree data comprising uncle node data, first nephew node data and second nephew node data. The computer implemented method comprises determining a first nephew node memory address, determining a second nephew node memory address, storing the uncle node data at the uncle node memory address, storing the first nephew node data at the first nephew node memory address, and storing the second nephew node data at the second nephew node memory address. The first nephew node memory address is less than the uncle node memory address and the second nephew node memory address is greater than the uncle node memory address, or the first nephew node memory address is greater than the uncle node memory address and the second nephew node memory address is less than the uncle node memory address.

Storage apparatus, cache control method, and computer-readable recording medium having cache control program recorded thereon
09846654 · 2017-12-19 · ·

A storage apparatus includes: a first storage device that stores data; a proxy storage processor that records first data in the first storage device in a power-off state of a second storage device, while a writing destination of the first data is the second storage device, and moves the first data to the second storage device after the second power storage is powered on, while the first data is recorded in the first storage device; and a cache releaser that deletes the first data from a cache memory after the proxy storage processor stores the first data in the second storage device, while the first data is recorded in the first storage device, so that it is possible to efficiently use the cache memory.

DYNAMIC HOST MEMORY BUFFER ALLOCATION
20170351452 · 2017-12-07 ·

In one embodiment, dynamic host memory buffer allocation in accordance with the present description includes sensing a level of activity of a memory or storage and dynamically allocating a portion of a host memory as a buffer to the non-volatile memory, as a function of a sensed level of activity of the non-volatile memory. Such dynamic allocation of host memory buffers as a function of sensed levels of activity, can improve the efficiency of the allocation of memory resources and improve system performance. Other aspects are described herein.

Guest ordering of host file system writes
09836402 · 2017-12-05 · ·

Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to physical memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to physical memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the physical memory to a secondary storage in view of the order of the plurality of modifications.

METHOD OF CONTROLLING STORAGE DEVICE AND RANDOM ACCESS MEMORY AND METHOD OF CONTROLLING NONVOLATILE MEMORY DEVICE AND BUFFER MEMORY
20170344486 · 2017-11-30 ·

A method of controlling a storage device and a random access memory includes, when a size of write-requested data is greater than a threshold, writing the write-requested data in the storage device and writing an address of the storage device in which the write-requested data is written in the random access memory. When the size of the write-requested data is smaller than or equal to the threshold, the write-requested data is written in the random access memory. The threshold is correlated to a size greater than a size of an area allocated to store the address in the random access memory.

Transparent virtualization of cloud storage

Embodiments present a virtual disk image to applications such as virtual machines (VMs) executing on a computing device. The virtual disk image corresponds to one or more subparts of binary large objects (blobs) of data stored by a cloud service, and is implemented in a log structured format. Grains of the virtual disk image are cached by the computing device. The computing device caches only a subset of the grains and performs write operations without blocking the applications to reduce storage latency perceived by the applications. Some embodiments enable the applications that lack enterprise class storage to benefit from enterprise class cloud storage services.

FLUSHING DATA CONTENT IN RESPONSE TO A POWER LOSS EVENT TO A PROCESSOR
20170337102 · 2017-11-23 ·

In one example, a processor may include a processor core with a central processing unit as well as a processor cache separate from the processor core. The processor may also include flushing circuitry. The flushing circuitry may identify a power loss event for the processor. In response, the flushing circuitry may selectively power the processor by providing power to the processor cache but not to the processor core. The flushing circuitry may further flush data content of the processor cache to a non-volatile memory separate from the processor.

Determining a Data Layout in a Log Structured Storage System

Embodiments are provided for organizing data elements in a log-structured storage system. A profile is created based on a population of data elements in cache memory related to a log structured storage system. A layout for storage of the data elements on persistent storage related to the log-structured storage system is determined, which includes identifying two or more related data elements based on the profile. A garbage collection process is performed on the persistent storage based on the determined layout, which includes placing the related data elements within substantially close proximity on the persistent storage.

Integrating host-side storage device management with host-side non-volatile memory
11262942 · 2022-03-01 · ·

The present disclosure relates to the field of solid-state data storage, and particularly to improving the speed performance and reducing the cost of solid-state data storage devices. A host-managed data storage system according to embodiments includes a set of storage devices, each storage device including a write buffer and memory; and a host coupled to the set of storage devices, the host including: a storage device management module for managing data storage functions for each storage device; memory including: a front-end write buffer; a first mapping table for data stored in the front-end write buffer; and a second mapping table for data stored in the memory of each storage device.