Storage Controller Resource Allocation for Bandwidth Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage nodes face challenges in efficiently managing bandwidth resources between processors, as they often need to process and forward sub-requests associated with each other, leading to occupied bandwidth resources.
Innovation Solution
The solution involves allocating computing resources to address segment sets, where each address segment set includes one or more address segments. These resources are allocated from different processors or processor cores, allowing data access requests to be executed locally without needing to be forwarded between processors, thereby reducing bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors are used to process sub-requests in parallel, then processing capability is improved, but bandwidth resources between processors are occupied due to forwarding and data interaction
Solution Approach 1:
The storage address space is segmented into multiple address segment sets, with each set assigned to a specific processor. This segmentation ensures that different processors handle different data segments independently, eliminating the need for inter-processor data forwarding and reducing bandwidth consumption while maintaining parallel processing capability
Solution Approach 2:
Each processor is assigned dedicated local resources including local memory and local storage devices. This local quality assignment allows processors to access data locally without requiring bandwidth-intensive communication with other processors, thus resolving the contradiction between parallel processing and bandwidth consumption
2Adaptability or versatility
If computing resources are shared among processors, then resource utilization is improved, but data access requests require forwarding between processors increasing bandwidth usage
Solution Approach 1:
The system segments both computing resources and storage resources into distinct groups associated with each processor. This segmentation enables independent resource access for each processor, eliminating data forwarding requirements and reducing bandwidth usage while maintaining flexible resource allocation through the mapping relationship between address segment sets and processor resources
3Productivity
If data access requests are processed by multiple processors, then processing throughput is improved, but mutually exclusive operations increase requiring locks
Solution Approach 1:
By segmenting the address space into separate address segment sets assigned to different processors, the system eliminates overlapping data access operations. Each processor independently manages its assigned segments without requiring synchronization mechanisms, thus achieving high throughput without mutually exclusive operations or locks
Solution Approach 2:
Each processor independently manages its own assigned address segment sets and associated resources without requiring coordination or locking with other processors. This self-service approach enables concurrent processing of multiple requests across different processors while avoiding the complexity of mutual exclusion operations
Data Source
AI summary
A resource allocation method and a storage device are provided. The storage device includes a disk enclosure and a plurality of controllers. Each controller includes a plurality of processors, each processor includes a plurality of processor cores, the plurality of controllers are separately coupled to the disk enclosure including a plurality of hard disks. The plurality of processors are configured to provide computing resources. The plurality of hard disks are configured to provide storage space. Logical addresses corresponding to the storage space are classified into several address segment sets, each address segment set includes one or more address segments, some of the computing resources are allocated to each address segment set, and are used to execute a data access request for accessing an address segment comprised in the address segment set. Computing resources used to process different address segment sets are from different processors or from different processor cores.


