Dual-Port Memory Slice Architecture for Allocation Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management systems face inefficiencies due to competition between clients and the list manager for accessing memory blocks, which affects overall system performance as the list manager must compete with clients for memory access, even for a small portion used for storing links.
Innovation Solution
The system employs a dual-memory slice architecture where a single-port memory slice is accessible only to clients for data storage and a dual-port memory slice is accessible to both clients and the list manager for link storage, allowing separate allocation and access without conflicting usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single memory slice is used for storing both information and links, then device complexity is reduced, but the list manager must compete with clients for memory access, reducing allocation efficiency
Solution Approach 1:
The memory is divided into two separate slices: a first memory slice for storing information blocks and a second memory slice for storing links. This segmentation eliminates the competition between clients and the list manager for access to the same memory resources, thereby improving allocation efficiency while maintaining manageable complexity through structured organization.
2Extent of automation
If the list manager accesses memory blocks to allocate them to clients, then memory allocation function is performed, but the list manager competes with clients for memory access, increasing access time
Solution Approach 1:
By separating the memory into two slices with distinct access rights, the list manager can efficiently perform allocation operations on the second slice without waiting for clients to finish accessing the first slice. This reduces memory access time and improves overall system throughput.
Solution Approach 2:
The second memory slice acts as an intermediary structure that the list manager uses to maintain its allocation data structure. This intermediary allows the list manager to operate independently from client access patterns, reducing contention and wait times.
3Adaptability or versatility
If a dual-port memory slice is used for both clients and list manager access, then adaptability is improved, but competition for access increases, reducing system performance
Solution Approach 1:
Instead of using a single dual-port memory slice that causes competition, the system segments the memory into two separate slices with different port configurations. The first slice is accessible only to clients, while the second slice is accessible to both clients and the list manager. This segmentation reduces competition and improves system performance while maintaining the necessary adaptability through the dual-port configuration of the second slice.
Data Source
AI summary
A single-ported memory for storing information and only accessible to a plurality of clients, and a dual-ported memory for storing links and accessible to the plurality of clients and to a list manager that maintains a data structure for allocating memory blocks from the first memory and the second memory to the plurality of clients. The dual-ported memory is accessible to both the plurality of clients and the list manager. A method includes receiving a request from a client for access to memory storage at the single-ported memory and the dual-ported memory, and allocating a block of the single-ported memory to the client and a block of the dual-ported memory to the client. After the client has used the memory storage, the allocated block of the single-ported memory and the dual-ported memory are released to a free list data structure used by the list manager to assign storage.


