G06F3/0641

Garbage collection based on cloud storage capacity

A storage capacity of a cloud storage system is determined. A recipe contains instructions for reclaiming storage of the cloud storage system. The storage capacity is insufficient to perform the entire recipe. In response, one or more data objects are deleted. A portion of the recipe is executed after the deletion. In some cases, local storage can be used for garbage collection when cloud storage is insufficient to perform even the portion of the recipe. Other embodiments are described and claimed.

Digital device for performing booting process and control method therefor

The present specification discloses a digital device for performing a hibernation booting process and a control method therefor. Here, the digital device according to an embodiment of the present invention comprises: a first memory; a second memory storing a snapshot image generated on the basis of pieces of page data of the first memory; and a control unit for generating the snapshot image, wherein the control unit primarily deduplicates duplicated page data in the first memory and selectively secondarily deduplicates duplicated page data by comparing the duplicated page data with the snapshot image prestored in the second memory, wherein data fragmentation is minimized through the secondary deduplication step.

Memory system and method of controlling memory system

According to one embodiment, a memory system includes a non-volatile semiconductor memory, a block management unit, and a transcription unit. The semiconductor memory includes a plurality of blocks to which data can be written in both the first mode and the second mode. The block management unit manages a block that stores therein no valid data as a free block. When the number of free blocks managed by the block management unit is smaller than or equal to a predetermined threshold value, the transcription unit selects one or more used blocks that stores therein valid data as transcription source blocks and transcribes valid data stored in the transcription source blocks to free blocks in the second mode.

Methods and systems parallel raid rebuild in a distributed storage system

A method for rebuilding data, comprising: obtaining, from a metadata node, a source file data layout for a source file and a target file data layout for a target file, wherein the source file is associated with a degraded mapped RAID group and the target file is associated with a new mapped RAID group; generating, by the client application node, a plurality of input/output (I/O) requests to read a portion of the data associated with the source file using the source file data layout; obtaining, in response to the plurality of I/O requests, the portion of the data associated with the source file; rebuilding a second portion of the data associated with source file using the portion of the data; and initiating, storage of at least the second portion of the data associated with the source file in the storage pool using the target file data layout.

Technologies for providing shared memory for accelerator sleds

Technologies for providing shared memory for accelerator sleds includes an accelerator sled to receive, with a memory controller, a memory access request from an accelerator device to access a region of memory. The request is to identify the region of memory with a logical address. Additionally, the accelerator sled is to determine from a map of logical addresses and associated physical address, the physical address associated with the region of memory. In addition, the accelerator sled is to route the memory access request to a memory device associated with the determined physical address.

CONSTANT TIME UPDATES AFTER MEMORY DEDUPLICATION
20230040039 · 2023-02-09 ·

Systems and methods are described for resource-efficient memory deduplication and write-protection. In an example, a method includes receiving, by a computing device having a processor, a request to assess deduplication for a plurality of candidate files. The computing device may perform one or more iterative steps for deduplication. The iterative steps may include: receiving, from the plurality of candidate files, a candidate file that is not write-protected; determining, based on a predetermined Bernoulli distribution, a decision to write-protect the candidate file; rendering the candidate file as a write-protected candidate file; determining, based on a review of other candidate files from the plurality of candidate files, that the write-protected candidate file can be deduplicated; and deduplicating the write-protected candidate file.

Secure and transparent pruning for blockchains
11556247 · 2023-01-17 · ·

A method for enabling pruning of a blockchain of a blockchain network includes creating an active blocks commitments Merkle tree from hashes of active blocks and creating an active smart contracts commitments Merkle tree from hashes of active smart contracts. The Merkle trees are created after an amount of blocks created in the blockchain has reached a threshold set by a pruning threshold parameter stored in the blockchain network. Hashes of the roots of the Merkle trees are stored in a header of a new block as a new genesis block. The new genesis block is broadcast to the blockchain network. A set of the active blocks and active smart contracts used respectively to create the active blocks commitments Merkle tree and the active smart contracts commitments Merkle tree are committed to upon the blockchain network reaching consensus on the new genesis block.

Verification microservice for a deduplicated object storage system

Described is a system for detecting corruption in a deduplicated object storage system accessible by one or more microservices while minimizing costly read operations on objects. A similarity group verification path is selected based upon detection of an object storage memory size condition. The similarity group verification path is performed by one or more worker nodes. The similarity group verification path includes worker node phases that verify whether objects have been corrupted without having to incur costly read operations.

Writing a container index to persistent storage

Example implementations relate to metadata operations in a storage system. An example method includes receiving, from a first stream process, a first write request for a first container index in memory. The method further includes, in response to a receipt of the first write request, sending a first token to the first stream process without writing the first container index to a persistent storage. The method further includes receiving, from a second stream process, a first completion request for the first container index. The method further includes, in response to a receipt of the first completion request, writing the first container index from the memory to the persistent storage.

Method for storing a data file

A method for storing a data file (DF) on a storage entity (SE) includes receiving, by a proxy (PE) and from a computing entity (CE), a plurality of hash values corresponding to a plurality of blocks of the DF. The PE may check whether the plurality of blocks of the DF are stored in the SE based on the plurality of hash values. Based on determining that at least a subset of the plurality of blocks of the DF are not being stored in the SE, the PE may compute a secret associated with an encryption key. The PE may transmit, to the CE, the secret. The PE may receive, from the CE, information including storage locations of the subset of the plurality of blocks within the SE and one or more hash values, of the plurality of hash values, associated with the subset of the plurality of blocks.