Shared Slice Memory Control for Storage Device Engine Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage device engines face challenges in efficiently managing communications and memory access requests across multiple slices, leading to potential bottlenecks and inefficiencies in shared memory utilization.
Innovation Solution
The implementation of shared slice memory with controlled access, local slice memory provisioning, shared queues, and a shared memory index system, where memory access requests are directed and buffered based on operation types and state monitoring, ensures efficient memory access and management across slices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shared memory is provisioned for use by each slice, then memory utilization is improved, but access control complexity increases
Solution Approach 1:
The shared memory is divided into multiple queues (command queue, data in queue, data out queue) that are separately managed and controlled. Each queue handles specific types of memory access requests, allowing fine-grained control over memory operations while maintaining high utilization through shared access.
Solution Approach 2:
A shared memory index is introduced as an intermediary structure that tracks the state of each queue and manages access requests. The index contains state information for each queue and provides a mechanism for controlling access without requiring complex inter-slice coordination logic.
2Productivity
If memory access requests are buffered in shared queues, then access efficiency is improved, but queue management complexity increases
Solution Approach 1:
The system uses state parameters in the shared memory index to track queue conditions (empty, full, processing states). By changing and monitoring these state parameters, the system efficiently manages queue operations without requiring complex management logic, as the state information drives automated access decisions.
3Productivity
If shared memory index state is monitored and requests are directed based on state, then memory access optimization is improved, but monitoring and state update overhead increases
Solution Approach 1:
The shared memory index automatically updates its own state information based on queue operations. When queues are modified (commands added, data transferred), the index state is self-updated without requiring separate monitoring operations, eliminating the time overhead of explicit state monitoring while maintaining optimization capabilities.
Data Source
AI summary
Embodiments of the present disclosure relate to managing communications between slices on a storage device engine. Shared slice memory of a storage device engine is provisioned for use by each slice of the storage device engine. The shared slice memory is a portion of total storage device engine memory. Each slice's access to the shared memory portion is controlled.


