G06F11/1096

Generating Recovery Information Using Data Redundancy
20230058832 · 2023-02-23 ·

Continuous value data redundancy, including: receiving, by a storage system, a dataset; determining, based on a data resiliency metric, an integer redundancy value for the dataset from among a plurality of redundancy values; and generating, based on the integer redundancy value for the dataset, data recovery information for the dataset, wherein the integer redundancy value for the dataset is different from at least one other integer redundancy value for another dataset stored within the storage system.

Using parity data for concurrent data authentication, correction, compression, and encryption
11500723 · 2022-11-15 · ·

A system for software error-correcting code (ECC) protection or compression of original data using ECC data in a first memory is provided. The system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The software ECC protection or compression includes: a data matrix for holding the original data in the first memory; a check matrix for holding the ECC data in the first memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the ECC data; and a thread for executing on the processing core. The thread includes a Galois Field multiplier for multiplying entries of the data matrix by an entry of the encoding matrix, and a sequencer for ordering operations using the Galois Field multiplier to generate the ECC data.

ZNS parity swapping to DRAM

The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM1), second random access memory (RAM2), and a storage unit divided into a plurality of zones. A first command to write data to a first zone is received, first XOR data is generated in the RAM1, and the data of the first command is written to the first zone. When a second command to write data to a second zone is received, the generated first XOR data is copied from the RAM1 to the RAM2, and second XOR data for the second zone is copied from the RAM2 to the RAM1. The second XOR data is updated with the second command, and the data of the second command is written to the second zone. The updated second XOR data is copied from the RAM1 to the RAM2.

DATA RECOVERY IN A STORAGE SYSTEM
20220358017 · 2022-11-10 · ·

A method for recovering failed chunks, the method may include (i) obtaining a failure indication about a failure of a first number (X1) of failed chunks; wherein the chunks were stored in a group of disks, the group of disks is configured to store a second number (α) stripes of multiple (N) chunks, wherein each stripe comprises a first plurality (K) of data chunks and a second plurality (R) of parity chunks; wherein R exceeds

[00001] ( X 1 α ) ;

and (ii) performing at least one recovery iteration until fulfilling a stop condition. Each recovery iteration of the at least one recovery iteration may include (a.i) selecting valid chunks to provide selected valid chunks, wherein a number of selected chunks is smaller than a product of a multiplication of R by α; (a.ii) retrieving valid data chunks that are relevant to the selected valid chunks; and (a.iii) attempting to reconstruct the failed chunks based on the retrieved chunks.

Raid storage-device-assisted parity update data storage system

A RAID storage-device-assisted parity data update system includes a first RAID primary data drive that DMA's second primary data from a host system, and XOR's it with first primary data to produce first interim parity data for a first data stripe. A second RAID primary data drive DMA's fourth primary data from the host system, and XOR's it with third primary data to produce second interim parity data for a second data stripe. A first RAID parity data drive DMAs the first interim parity data and XOR's it with first parity data to produce second parity data for the first data stripe that overwrites the first parity data. A second RAID parity data drive DMA's the second interim parity data and XOR's it with third parity data to produce fourth parity data for the second data stripe that overwrites the third parity data.

Continuous value data redundancy

Continuous value data redundancy, including: receiving, by a storage system, a dataset; determining, based on a data resiliency metric, an integer redundancy value for the dataset from among a plurality of redundancy values; and generating, based on the integer redundancy value for the dataset, data recovery information for the dataset, wherein the integer redundancy value for the dataset is different from at least one other integer redundancy value for another dataset stored within the storage system.

Storage system and control method therefor

Each redundancy group is constituted by one active program (storage control software of the active program) and N standby programs (N is an integer of two or more). Each of the N standby programs is associated with a priority to be determined as a failover (FO) destination. In the same redundancy group, FO is performed from the active program to the standby program based on the priority. For the plurality of pieces of storage control software including the active programs and the standby programs that change to be active by FO in the plurality of redundancy groups arranged in the same node, standby storage control software that can set each of the programs as a FO destination are arranged in different nodes.

WRITE HOLE PROTECTION METHOD AND SYSTEM FOR RAID, AND STORAGE MEDIUM
20220350703 · 2022-11-03 ·

A write hole protection method and system for a RAID, and a storage medium. The method comprises: presetting a log area, and after a RAID is degraded, setting the log area to be in an enabled state; when the log area is in the enabled state, determining, before each stripe write operation, whether a data block of a failed member disk of the RAID in a stripe is a check data block; if the data block is not the check data block, determining whether data blocks to be written of the stripe comprise a data block to be written into the failed member disk; if yes, backing up the data block to be written into the failed member disk in the log area; if not, calculating the data block of the failed member disk and backing up the data block in the log area, or backing up the data blocks to be written in the log area; and when the degraded RAID is started after a failure, performing data recovery using the log area. By using the present solution, the write hole issue of the RAID is avoided.

METHOD TO INCREASE THE USABLE WORD WIDTH OF A MEMORY PROVIDING AN ERROR CORRECTION SCHEME
20230089443 · 2023-03-23 · ·

Various embodiments relate to a method for storing and reading data from a memory. Data words stored in the memory may be grouped, and word specific parity information and shared parity information is generated, and the shared parity information is distributed among the group of words. During reading of a word, if more errors are detected than can be corrected with word parity data, the shared parity data is retrieved and used to make the error corrections.

STORAGE DEVICE
20230073148 · 2023-03-09 ·

A storage device includes a memory device including one or more memory blocks including first sub-areas and second sub-areas configured to store higher level data than the first sub-areas, and a controller configured to use the first sub-areas before the second sub-areas in order to store data in the memory device.