Storage Sled Transaction Agent for Disaggregated Rack Mount Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In disaggregated rack mount storage systems, traditional software-defined-storage (SDS) applications experience inefficiencies due to excessive network traffic caused by the separation of CPU and storage sleds, leading to increased load on networks during data access and replication operations, and inefficiencies in transaction processing.
Innovation Solution
The SDS protocol stack is split, with the control level executing on CPU sleds and the data access/management level migrated to storage sleds, and transaction support is integrated into the storage sleds to reduce network traffic and improve transaction efficiency by queuing operations until completion, eliminating unnecessary data exchanges during failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If CPU and storage sleds are separated in disaggregated rack mount systems, then storage capacity and processing power can be independently scaled, but network traffic increases significantly during data access and replication operations
Solution Approach 1:
The SDS protocol stack is segmented into two parts: control level functions remain on CPU sleds while data access/management level functions are migrated to storage sleds. This segmentation allows local processing of data operations at the storage sled, reducing the need for continuous network communication between CPU and storage components while maintaining independent scalability.
Solution Approach 2:
The patent introduces a new architectural dimension by implementing transaction support directly at the storage sled level, creating a hierarchical structure where storage operations can be managed locally before escalating to network-level coordination only when necessary. This adds a layer of local intelligence that reduces network dependency.
2Device complexity
If traditional SDS applications execute on CPU sleds with storage sleds providing raw physical storage, then system architecture remains simple, but excessive network traffic occurs during data access operations
Solution Approach 1:
Data access and management level functions are extracted from the CPU sleds and relocated to the storage sleds. This extraction moves computational workload closer to the data, enabling local processing of read/write operations without requiring constant network communication with remote CPU instances, thereby reducing network traffic while maintaining architectural simplicity.
3Ease of operation
If data access/management level functions remain on CPU sleds, then control is centralized, but network load increases during replication operations
Solution Approach 1:
The patent applies local quality by enabling storage sleds to autonomously perform data access and management operations locally. During replication, storage sleds can handle data transfer and management tasks locally rather than requiring all control decisions to traverse the network, reducing overall network load while maintaining centralized coordination for critical operations.
4Loss of information
If transaction processing requires continuous network communication between CPU and storage sleds, then transaction visibility is improved, but transaction processing efficiency decreases
Solution Approach 1:
Storage sleds perform preliminary processing of transaction requests locally before needing to communicate with CPU sleds. By handling data access, validation, and management operations at the storage level first, the system reduces the frequency and volume of network communications required for transaction processing, improving efficiency while maintaining visibility through selective network updates.
Data Source
AI summary
A method is described. The method includes performing the following with a storage end transaction agent within a storage sled of a rack mounted computing system: receiving a request to perform storage operations with one or more storage devices of the storage sled, the request specifying an all-or-nothing semantic for the storage operations; recognizing that all of the storage operations have successfully completed; after all of the storage operations have successfully completed, reporting to a CPU side transaction agent that sent the request that all of the storage operations have successfully completed.


