Offloading Checksums to Secondary ARM Processor
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face high costs, performance bottlenecks, and privacy concerns, particularly in public clouds, and traditional private clouds using x86 architectures are expensive and inefficient, while alternative storage solutions like SSDs and cloud storage are costly and lack guaranteed performance.
Innovation Solution
The implementation of a storage microserver architecture using ARM processors and coprocessors integrated into a system on a chip (SoC), optimized software, and cloud-based infrastructure to provide high I/O performance, reduced costs, and improved reliability, with features like offloading checksum computations to a secondary processing device and using erasure coding for efficient data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data storage operations are performed on a primary processing device, then data processing can be completed, but the primary processing device experiences CPU contention, memory contention, and I/O contention leading to performance bottlenecks
Solution Approach 1:
The patent divides the processing device into two separate entities: a primary processing device that handles high-level data storage operations and a secondary processing device that handles specific offloaded operations such as checksum computations. This segmentation eliminates resource contention on the primary device while maintaining complete data processing capability.
Solution Approach 2:
The patent introduces a secondary processing device as an intermediary component that receives offload operations from the primary processing device via an offloading interface. This intermediary handles computationally intensive tasks, freeing the primary device from resource contention while ensuring tasks are completed by a dedicated processing unit.
2Reliability
If traditional x86 architecture private clouds are used, then data storage is provided, but hardware costs and power consumption are high
Solution Approach 1:
The patent changes the architectural parameters of the storage system by implementing a microserver architecture with ARM-based primary processing devices instead of traditional x86 architectures. This parameter change reduces power consumption and hardware costs while maintaining data storage reliability through the addition of dedicated secondary processing devices for critical operations.
3Quantity of substance
If public cloud storage is used, then data storage capacity is increased, but costs increase and performance is not guaranteed
Solution Approach 1:
The patent implements a self-service architecture where the storage system manages its own data processing and validation operations through the primary and secondary processing devices. This eliminates the need for external cloud services, providing both adequate storage capacity and guaranteed I/O performance through dedicated hardware resources.
4Reliability
If checksum computations are performed on the primary processing device, then data integrity is verified, but the primary processing device becomes a bottleneck
Solution Approach 1:
The patent extracts the checksum computation function from the primary processing device and assigns it to a secondary processing device through an offloading mechanism. This extraction maintains data integrity verification capability while removing the computational bottleneck from the primary device, allowing it to focus on higher-level storage operations.
Data Source
AI summary
In one embodiment, a method is provided. The method includes receiving first set of data via a communication interface of a data storage system. The method also includes determining whether a primary processing device should be used for performing checksum computations for the first set of data. If the primary processing device should be used, the method further includes providing the first set of data to the primary processing device. If the primary processing device should not be used, the method further includes providing the first set of data to the secondary processing device.


