G06F11/1489

MANAGER ELECTION FOR ERASURE CODING GROUPS

To ensure that there is an elected manager among storage nodes of an erasure coding group (ECG), an ECG manager (ECGM) election process is periodically performed among available storage nodes that are configured with the software to perform the services of an ECGM. When a storage node is activated, an ECGM process of the storage node begins executing and is assigned a process identifier (PID). A storage node can utilize a service query framework to identify other available storage nodes and retrieve their ECGM PIDs. The storage node then selects a PID according to a criterion and elects the storage node corresponding to the selected PID to be the acting ECGM. This process is performed periodically, so even if the acting ECGM storage node fails, a new ECGM is eventually selected from the available storage nodes.

Encoding method and a memory storage apparatus using the same

An encoding method for a memory storage apparatus adopting a Lien ECC scheme is provided. The memory storage apparatus comprises an ECC encoder using a Lien Code. The encoding method includes: receiving a first data or a second data which is one's complement of the first data; and performing an encoding operation based on the Lien Code by the ECC encoder. The encoding operation includes: if the first data is received, generating a first codeword according to the first data; and if the second data is received, generating a second codeword which is one's complement of the first codeword according to the second data. In addition, a memory storage apparatus using the encoding method based on the Lien Code is also provided.

Efficient recovery of erasure coded data

To efficiently recover from a multiple storage node failure, a storage node concurrently restores data fragments to the multiple failed storage nodes, as opposed to restoring each node individually. In the VCS based storage technique, storage nodes are restored as part of an ECG repair process. For each ECG being repaired, a storage node performing the restoration process reads data fragments from active nodes in the ECG and generates new data fragments to replace any lost data fragments. The node then stores one of the new data fragments across each of the failed storage nodes. By concurrently restoring data fragments to each failed storage node, the data fragments needed to repair each ECG are only read once, thereby preserving disk operations and network bandwidth.

METADATA RECOVERY FOR DE-DUPLICATED DATA

A data stream is stored in storage media. As part of the storage, the data stream is divided into a plurality of chunks. The plurality of chunks include a target chunk that is next to a first chunk in a file within the data stream. A determination is made that the target chunk matches an existing chunk stored in the storage media. In response to the determination, a first pointer to the existing stored chunk is created in file metadata for the file. Also in response to the determination, a second pointer to a first stored chunk that matches the first chunk is created in chunk metadata embedded with the existing stored chunk.

LAYERING A DISTRIBUTED STORAGE SYSTEM INTO STORAGE GROUPS AND VIRTUAL CHUNK SPACES FOR EFFICIENT DATA RECOVERY

Technology is disclosed for storing data in a distributed storage system using a virtual chunk service (VCS). In the VCS based storage technique, a storage node (node) is split into multiple VCSs and each of the VCSs can be assigned a unique ID in the distributed storage. A set of VCSs from a set of nodes form a storage group, which also can be assigned a unique ID in the distributed storage. When a data object is received for storage, a storage group is identified for the data object, the data object is encoded to generate multiple fragments and each fragment is stored in a VCS of the identified storage group. The data recovery process is made more efficient by using metadata, e.g., VCS to storage node mapping, storage group to VCS mapping, VCS to objects mapping, which eliminates resource intensive read and write operations during recovery.

LIGHTWEIGHT CHECKPOINT TECHNIQUE FOR RESILIENCE AGAINST SOFT ERRORS

Systems and methods for implementing a lightweight checkpoint technique for resilience against soft errors are disclosed. The technique provides effective, safe, and timely soft error detection and recovery using software. In an exemplary aspect, resilience against data flow errors and control flow errors is provided in critical or mixed-critical applications in each basic block or at critical basic blocks. Verified register preservation is provided at each basic block, along with memory preservation checkpoints. In this manner, soft errors are quickly detected and addressed. The register and memory preservation further allows for safe re-execution from recoverable soft errors. Control flow errors can also be detected at the beginning and/or end of each basic block.

DATA REPLICATION BASED ON DATA-DRIVEN RECOVERY OBJECTIVES
20190163370 · 2019-05-30 ·

A data recovery (DR) system where local backup (for example, synchronized snapshotting) is performed based on one or more recovery parameters including at least one of the following recovery data objective (RDO) type and/or recovery data block objective (RDBO) type. A recovery point objective (RPO) type parameter may additionally and concurrently used as an alternative local backup trigger.

Rom flashing method and intelligent terminal

Embodiments of the present disclosure relate to the communications field and disclose a read-only memory (ROM) flashing method and an intelligent terminal, so as to implement lossless ROM flashing on an original system of the intelligent terminal. A solution provided by the embodiments of the present disclosure includes: the intelligent terminal includes a virtual extended system and an original system, the original system runs a factory system file of the intelligent terminal, and the virtual extended system runs a ROM flashing system file; when a ROM flashing instruction entered by a user is received, the ROM flashing system file is written into a storage image file of the virtual extended system; and the virtual extended system is started to run the ROM flashing system file. The present disclosure is used to perform ROM flashing on an intelligent terminal.

ENCODING METHOD AND A MEMORY STORAGE APPARATUS USING THE SAME

An encoding method for a memory storage apparatus adopting a Lien ECC scheme is provided. The memory storage apparatus comprises an ECC encoder using a Lien Code. The encoding method includes: receiving a first data or a second data which is one's complement of the first data; and performing an encoding operation based on the Lien Code by the ECC encoder. The encoding operation includes: if the first data is received, generating a first codeword according to the first data; and if the second data is received, generating a second codeword which is one's complement of the first codeword according to the second data. In addition, a memory storage apparatus using the encoding method based on the Lien Code is also provided.

METADATA RECOVERY FOR DE-DUPLICATED DATA

A data stream is stored in storage media. As part of the storage, the data stream is divided into a plurality of chunks. The plurality of chunks include a target chunk that is next to a first chunk in a file within the data stream. A determination is made that the target chunk matches an existing chunk stored in the storage media. In response to the determination, a first pointer to the existing stored chunk is created in file metadata for the file. Also in response to the determination, a second pointer to a first stored chunk that matches the first chunk is created in chunk metadata embedded with the existing stored chunk.