Partition Switching Circuitry for eMMC GPP Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized environments, embedded multimedia card (eMMC) storage devices face challenges in managing multiple general purpose partitions (GPPs) across multiple clients, leading to potential data integrity and security issues due to concurrent access and processing requirements.
Innovation Solution
The implementation of partition switching circuitry in a storage controller that determines client permissions and manages requests by adding new requests to existing lists or switching between GPPs after executing existing commands, ensuring data integrity and security by optimizing access and processing in eMMC storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple virtual clients are assigned to access different GPPs simultaneously in a virtualized environment, then the storage device can serve multiple clients concurrently, but data integrity and security may be compromised due to concurrent access conflicts
Solution Approach 1:
The storage device partitions its storage medium into multiple General Purpose Partitions (GPPs), creating separate data spaces for different virtual clients. This segmentation allows concurrent access by multiple clients while maintaining data isolation and integrity within each partition, resolving the conflict between productivity and reliability.
Solution Approach 2:
A virtualization layer with partition switching circuitry acts as an intermediary between multiple virtual clients and the physical storage medium. This intermediary manages partition assignments, handles switching between partitions, and ensures that each client accesses only its authorized GPPs, thereby maintaining data integrity while enabling concurrent access.
2Adaptability or versatility
If the storage device switches between different GPPs to serve multiple clients, then client-specific data access is enabled, but processing time increases due to partition switching overhead
Solution Approach 1:
The partition switching circuitry pre-loads and caches partition context information, and anticipates switching needs based on client access patterns. By preparing partition switches in advance and maintaining ready-state partition contexts, the system reduces the actual switching time when clients need to access their designated GPPs.
Solution Approach 2:
The system dynamically manages partition assignments and switching based on real-time client需求的变化。The virtualization layer can adaptively allocate GPPs to different virtual clients based on current workload patterns, minimizing the frequency of switches and reducing overall switching overhead while maintaining client-specific access capabilities.
3Device complexity
If the storage device processes one command at a time in each GPP, then simple processing logic is maintained, but overall throughput decreases compared to multi-threaded processing
Solution Approach 1:
Each GPP maintains independent command queues and processing contexts, allowing multiple command streams to be handled simultaneously across different partitions. This segmentation enables multi-threaded processing at the system level while keeping each individual partition's processing logic simple and manageable.
Solution Approach 2:
The partition switching circuitry provides universal access control and command routing functionality that serves all GPPs. This multi-functional component manages multiple command streams across different partitions, enabling high throughput without requiring complex processing logic within each individual partition handler.
Data Source
AI summary
Storage resource management in virtualized environments is provided. In this regard, when receiving a request for accessing a target general purpose partition (GPP) in a storage device, partition switching circuitry is configured to determine whether the target GPP equals a current GPP that is accessed by a list of existing requests. The partition switching circuitry adds the request into the list of existing requests if the target GPP equals the current GPP. Otherwise, the partition switching circuitry waits for the list of existing requests to be executed on the current GPP before switching to the target GPP to execute the request received from a client. By switching to the target GPP after executing the list of existing commands on the current GPP, it is possible to share a plurality of GPPs among multiple clients in a virtualized environment while maintaining data integrity and security in the storage device.


