G06F2211/109

Temporary suspension of vault access

A method includes issuing, by a managing unit of a dispersed storage network (DSN), a vault access restriction to a set of storage units of the DSN regarding a logical storage vault supported by the set of storage units. While the vault access restriction is active, the method continues by receiving, by a storage unit of the set of storage units, a data access request to the vault. The method continues by determining, by the storage unit, whether the data access request is regarding a rebuilding operation. When the data access request is regarding a rebuilding operation, the method continues by processing, by the storage unit, the data access request. When data access request is not regarding a rebuilding operation, the method continues by denying, by the storage unit, the data access request.

Reversible data modifications within DS units

A method includes sending a set of destructive modification requests to a set of storage units regarding a set of encoded data slices. The method further includes determining, by each storage unit of a decode threshold number of storage units of the set of storage units, whether to preserve a respective corresponding one of the decode threshold number of encoded data slices prior to executing a corresponding one of the set of destructive modification requests. When determined to preserve the respective corresponding one of the decode threshold number of encoded data slices, determining, by a first storage unit of the decode threshold number of storage units, to flag a first encoded data slice of the decode threshold number of encoded data slices or temporarily store a copy of the first encoded data slice. When determined to flag the first encoded data slice, flagging the first encoded data slice as preserved.

Systems and Methods for Referencing Data on a Storage Medium
20180314627 · 2018-11-01 ·

A storage layer is configured to store data at respective offsets within storage units of a storage device. Physical addresses of the data may be segmented into a first portion identifying the storage unit in which the data is stored, and a second portion that indicates the offset of the data within the identified storage unit. An index of the data offsets (e.g., second portions of the physical addresses) may be persisted on the storage device. The first portion of the address may be associated with logical addresses of the data in a forward index. The forward index may omit the second portion of the physical addresses, which may reduce the memory overhead of the index and/or allow the forward index to reference larger storage devices. Data of a particular logical address may be accessed using the first portion of the physical address maintained in the forward index, and the second portion of the media address stored on the storage device.

Large object parallel writing

A method includes partitioning data into first and second partitions and dispersed storage (DS) error encoding the first and second partition into first and second plurality of sets of encoded data slices (EDSs). The method further includes generating first SAT regarding storage of the first plurality of sets of EDSs and second SAT regarding storage of the second plurality of sets of EDSs. The method further includes DS error encoding the first and the second SAT to produce first and second sets of SAT slices, sending the first plurality of sets of EDSs and the first set of SAT slices to the first set of storage units, and sending the second plurality of sets of EDSs and the second set of SAT slices to the second set of storage units. The method further includes generating a third SAT regarding storage of the first and second sets of SAT slices.

Memory device with page emulation mode
10114700 · 2018-10-30 · ·

In some examples, a memory is configured to write multiple pages of an internal page size from a cache on the memory to a memory array on the memory in response to receiving a single precharge command when in a page emulation mode. When in the page emulation mode, the memory also reads multiple pages of the internal page size from the memory array and stores them in the cache in response to receiving a single activate command.

Detecting storage errors in a dispersed storage network

A method includes determining a root cause for a rebuilding request of an encoded data slice of a set of encoded data slices, where the rebuilding request includes a slice name of the encoded data slice corresponding to a slice error. The method further includes establishing a pricing level as a user pricing level when the root cause is a user-centric root cause, and establishing the pricing level as a non-user pricing level when the root cause is a non-user-centric root cause. The method further includes facilitating the rebuilding of the encoded data slice, and generating billing information for the rebuilding based on the pricing level.

Partial data replay in a distributed memory buffer system

A host divides a dataset into stripes and sends the stripes to respective data chips of a distributed memory buffer system, where the data chips buffer the respective slices. Each data chip can buffer stripes from multiple datasets. Through the use of: (i) error detection methods; (ii) tagging the stripes for identification; and (iii) acknowledgement responses from the data chips, the host keeps track of the status of each slice at the data chips. If errors are detected for a given stripe, the host resends the stripe in the next store cycle, concurrently with stripes for the next dataset. Once all stripes have been received error-free across all the data chips, the host issues a store command which triggers the data chips to move the respective stripes from buffer to memory.

ACCELERATED ERASURE CODING SYSTEM AND METHOD
20180262212 · 2018-09-13 ·

An accelerated erasure coding 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 processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data.

USING PARITY DATA FOR CONCURRENT DATA AUTHENTICATION, CORRECTION, COMPRESSION, AND ENCRYPTION
20180203764 · 2018-07-19 ·

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.

Systems and methods for referencing data on a storage medium

A storage layer is configured to store data at respective offsets within storage units of a storage device. Physical addresses of the data may be segmented into a first portion identifying the storage unit in which the data is stored, and a second portion that indicates the offset of the data within the identified storage unit. An index of the data offsets (e.g., second portions of the physical addresses) may be persisted on the storage device. The first portion of the address may be associated with logical addresses of the data in a forward index. The forward index may omit the second portion of the physical addresses, which may reduce the memory overhead of the index and/or allow the forward index to reference larger storage devices. Data of a particular logical address may be accessed using the first portion of the physical address maintained in the forward index, and the second portion of the media address stored on the storage device.