G06F3/0661

Managing Persistent Memory Regions Across Multiple Protocols
20220398046 · 2022-12-15 ·

Storage devices are described herein that are capable of communicating with host-computing devices using multiple protocols. These Multi-Protocol Storage Devices (MPSDs) can be configured to utilize a persistent memory region (PMR) across a variety of protocols. Often, one of these protocols is the Non-Volatile Memory express (NVMe) protocol which provides for the ability to utilize and manage a PMR within the storage device. Other protocols may not have native support for PMR like the NVMe protocol does. Therefore, MPSDs are disclosed that may determine which protocol is in use in response to an initialization event and adjust the use of the PMR as needed based on the determined protocol. These adjustments may allow for the direct access of the PMR as an extension of general memory storage or may be configured to provide increased performance of the storage device overall. These storage devices may be hot-swappable between numerous host-computing systems.

DATA PIPELINE AND ACCESS ACROSS MULTIPLE MACHINE LEARNED MODELS
20220398044 · 2022-12-15 ·

The present disclosure describes systems and methods for storing incoming data and providing access to that data to multiple machine learned models in a data type-agnostic and programming language-agnostic manner. Operationally, a computing device may receive in coming data (e.g., from sensors, etc.). The computing device may store the incoming data in memory blocks, and index the memory blocks with a unique index (e.g., tag). The index may correspond to a determined tier for the memory blocks, and may enable the system to both locate the data once stored and enable the system to read (or use) the data upon receiving, for example, a data access request. In this way, systems and methods described herein provide for a robust data access and transfer mechanism that allows data to be stored a single time, but accessed by one or more different applications, machine learned models, and the like, simultaneously.

Cryptographic memory ownership table for secure public cloud

A computer-readable medium comprises instructions that, when executed, cause a processor to execute an untrusted workload manager to manage execution of at least one guest workload. The instructions, when executed, also cause the processor to (i) receive a request from a guest workload managed by the untrusted workload manager to access a memory using a requested guest address; (ii) obtain, from the untrusted workload manager, a translated workload manager-provided hardware physical address to correspond to the requested guest address; (iii) determine whether a stored mapping exists for the translated workload manager-provided hardware physical address; (iv) in response to finding the stored mapping, determine whether a stored expected guest address from the stored mapping matches the requested guest address; and (v) if the stored expected guest address from the stored mapping matches the requested guest address, enable the guest workload to access contents of the translated workload-manager provided hardware physical address.

STORAGE SYSTEM AND STORAGE CONTROL METHOD
20220382459 · 2022-12-01 ·

To generate an optimum compressor irrespective of the number of dimensions and a format of a multidimensional dataset. A storage system refers to dimension setting information, which is information representing an attribute for each of data dimensions of the multidimensional dataset, and generates a compressor based on the dimension setting information.

Apparatus, system, and method of byte addressable and block addressable storage and retrieval of data to and from non-volatile storage memory

A hybrid memory system provides rapid, persistent byte-addressable and block-addressable memory access to a host computer system by providing direct access to a both a volatile byte-addressable memory and a volatile block-addressable memory via the same parallel memory interface. The hybrid memory system also has at least a non-volatile block-addressable memory that allows the system to persist data even through a power-loss state. The hybrid memory system can copy and move data between any of the memories using local memory controllers to free up host system resources for other tasks.

Retrieving data in a storage network
11513685 · 2022-11-29 · ·

A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data. Outputting of the recovered next encoded data slice is initiated.

Data processing system, memory controller therefor, and operating method thereof
11593202 · 2023-02-28 · ·

A data processing system may include a memory module; and a controller configured to exchange data with the memory module in response to a request received from a host. The controller divide a first data into a first data group to error correction and a second data group not to error correction in response to the first data and a first data write request received from the host, generates a first meta data for error correction for the first data group, configures a first data chunk that includes the first data and the first meta data, and transmits the first data chunk to the memory module.

Using feedback for adaptive data compression

A hub device or edge device implements adaptive data compression. The model training service analyzes the received data. A machine learning model of the hub device receives time-series data from one or more data sources and classifies respective portions of the time-series data as respective patterns. A data compressor at the hub device generates compressed data by applying different compression techniques to the respective portions of the time-series data according to a mapping of the compression techniques to the respective patterns. The hub device then transmits the compressed data to an endpoint for processing (e.g., another device that uses the compressed data). The hub device receives feedback for the compressed data. In response to the feedback, the hub device changes one or more of the compression techniques that are mapped to the respective patterns.

Method, device, and program product for managing spare block based on dynamic window
11593011 · 2023-02-28 · ·

Techniques manage spare extents based on a dynamic window. In particular, in response to determining that the number of spare extents in a source storage device of a plurality of storage devices is lower than a predetermined threshold, a source extent is selected from the source storage device, and the source extent is an extent in a created stripe included in a storage system. Based on a set of extents other than the source extent in the stripe, a set of storage device sequences respectively associated with the set of extents are determined. A destination extent is identified from a plurality of spare extents in the set of storage device sequences. Data in the source extent is migrated to the destination extent. Accordingly, load balancing of the spare extents in each storage device of the storage system may be ensured.

Generating Recovered Data in a Storage Network
20230056072 · 2023-02-23 · ·

A storage network operates by: issuing a read threshold number of read slice requests to storage units of a set of storage units, where the read threshold number of read slice requests identifies a read threshold number of encoded slices of a set of encoded slices corresponding to a data segment; when one or more other encoded data slices of the read threshold number of encoded slices is not received within a time threshold, facilitating receiving a decode threshold number of encoded slices of the set of encoded slices; decoding the decode threshold number of encoded slices to produce recovered encoded data slices, wherein a number of the recovered encoded data slices corresponds to the read threshold number minus a number of the encoded slices received within the time threshold; and outputting the recovered encoded data slices and the encoded slices of the read threshold number of encoded slices received within the time threshold.