Dispersed Storage Network Thread and Memory Association
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current distributed storage networks face challenges in ensuring data integrity and availability due to storage unit failures without the need for redundant copies, and they lack efficient mechanisms for secure and long-term data storage across geographically dispersed locations.
Innovation Solution
A dispersed storage network (DSN) architecture that employs error encoding using Cauchy Reed-Solomon encoding to split data into encoded slices, which are then stored across multiple geographically dispersed storage units, allowing for data recovery even with a significant number of storage unit failures, and includes a managing unit for secure data management and integrity processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is stored in a distributed storage network without redundant copies, then storage efficiency is improved, but data integrity and availability deteriorate when storage units fail
Solution Approach 1:
The patent segments data into multiple encoded slices using Cauchy Reed-Solomon encoding, distributing them across different storage units. This allows the system to store only the necessary number of slices without full redundancy, improving storage efficiency while maintaining data integrity through error correction capabilities.
Solution Approach 2:
The patent changes the data representation parameters by applying error correction codes (Cauchy Reed-Solomon encoding) to the data before distribution. This transformation enables the system to tolerate storage unit failures and data corruption without requiring traditional redundant copies, thus improving storage efficiency while preserving data integrity.
2Reliability
If data is distributed across geographically dispersed storage units, then system availability is improved, but data security and unauthorized access resistance deteriorate
Solution Approach 1:
The patent segments encrypted data into multiple encoded slices distributed across geographically dispersed storage units. This segmentation ensures that no single storage unit contains the complete data, providing both availability (data can be reconstructed from any sufficient number of slices) and security (unauthorized access to individual slices does not compromise the entire dataset).
Solution Approach 2:
The patent introduces encryption and error correction codes as intermediary layers between the original data and the distributed storage units. These intermediaries transform the data into a form that maintains security while enabling distributed storage and recovery, thus improving availability without compromising security.
3Productivity
If multiple processing threads are used for different tasks, then processing productivity is improved, but thread scheduling and resource management complexity increases
Solution Approach 1:
The patent segments processing work into multiple independent processing threads, each handling specific tasks such as data slicing, encoding, encryption, and storage operations. This segmentation enables parallel processing across multiple cores, improving productivity while keeping each individual thread relatively simple and manageable.
Solution Approach 2:
The patent creates processing threads that can handle multiple types of operations (reading, writing, deleting, rebuilding slices) through a unified interface and common error correction logic. This multi-functionality reduces the overall complexity of thread management compared to having separate specialized threads for each operation type.
Data Source
AI summary
A method begins by a storage unit of a dispersed storage network (DSN) receiving access requests which include a logical DSN address and a storage function. The method continues with a first processing module of the storage unit performing logical to physical address conversions of logical DSN addresses of the access requests to physical addresses of a plurality of main memories. For a first access request of the access requests, the method continues with the first processing module identifying a first main memory based on the physical address resulting from the physical address conversion. The method continues with the first processing module identifying a first processing thread of a plurality of processing threads based on allocation of the plurality of processing threads to the plurality of main memories. The method continues with the first processing thread executing tasks of the first access request to fulfill the first access request.


