ON-SSD Erasure Coding With Uni-Directional Commands for Lower I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional erasure coding (EC) based storage systems face high data transfer overhead and computational bottlenecks due to the need for centralized parity computations and bi-directional commands, which limit scalability and performance.
Innovation Solution
Implementing uni-directional commands and offloading complex math operations from a central storage controller to SSD member drives, reducing the number of I/O operations and network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If centralized parity computations and bi-directional commands are used in conventional EC storage systems, then data reliability is improved, but data transfer overhead and computational bottlenecks increase
Solution Approach 1:
The patent segments the centralized parity computation task into distributed operations across multiple SSD member drives. Each SSD performs local parity computations independently using uni-directional commands, eliminating the need for a central controller to gather all data and perform computations. This segmentation reduces data transfer overhead while maintaining data reliability through distributed erasure coding.
Solution Approach 2:
The patent extracts the computational burden from the central storage controller and relocates it to the SSD member drives themselves. By implementing erasure coding logic directly in the SSDs, the system removes the bottleneck of centralized computation and the associated data transfer overhead, while still achieving the same data protection goals.
2Reliability
If centralized parity computations are used, then data reliability is improved, but scalability is limited
Solution Approach 1:
The patent divides the erasure coding functionality into independent segments that can be executed by each SSD individually. This modular approach allows the system to scale horizontally by simply adding more SSDs without increasing the computational burden on a central controller, thereby improving scalability while maintaining data reliability through distributed parity computation.
Solution Approach 2:
The patent transitions from a centralized vertical architecture to a distributed horizontal architecture. By moving erasure coding operations from the central controller dimension to the distributed SSD dimension, the system achieves better scalability as each SSD operates independently, allowing linear scaling with the number of drives.
3Reliability
If bi-directional commands are used for EC operations, then data reliability is improved, but the number of I/O operations increases
Solution Approach 1:
The patent inverts the traditional command direction by using uni-directional commands instead of bi-directional commands. Instead of the controller sending commands and receiving responses for each EC operation, the SSDs autonomously execute erasure coding operations based on simple write commands, significantly reducing the number of I/O operations and protocol complexity while maintaining data integrity.
Solution Approach 2:
The patent enables SSDs to perform erasure coding operations autonomously without requiring continuous controller intervention. Each SSD independently computes and stores parity information using local resources, reducing the I/O overhead associated with bi-directional communication while ensuring data reliability through self-contained error correction capabilities.
Data Source
AI summary
Systems and methods for a controller including controller memory and logic are presented herein. The logic is configured to control access to a persistent storage media and, in response to one or more commands, determine an intermediate parity value based on a first parity calculation by sending a uni-directional command to the persistent storage media. The logic is further configured to store, in the controller memory, the intermediate parity value, and determine a final parity value based on the intermediate parity value and a second parity calculation.


