e.MMC Command Queuing for Lower-Latency Memory Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face limitations in managing operations due to resource constraints, leading to inefficiencies in command execution and data transfer, particularly in systems utilizing the e.MMC protocol.
Innovation Solution
Implementing command queuing and concurrent command execution by introducing new command classes (CMD 43, CMD 44, CMD 45, and CMD 46) within the e.MMC protocol, allowing for efficient management of command queues and simultaneous execution of commands with minimal changes to the e.MMC state machine.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If command queuing and concurrent execution are implemented, then productivity and performance are improved, but device complexity increases
Solution Approach 1:
The patent segments commands into different types (read commands, write commands, erase commands) and organizes them in a queue structure with priority levels. This segmentation allows the memory system to manage multiple commands efficiently without overwhelming complexity, as each command type can be processed according to its specific characteristics and priority.
Solution Approach 2:
The patent introduces dynamic priority management where commands can be prioritized based on their type and urgency. The system dynamically adjusts which command is executed next based on priority levels, allowing high-priority commands to interrupt lower-priority ones. This dynamic approach improves productivity while managing complexity through algorithmic control rather than hardware complexity.
2Loss of time
If concurrent command execution is enabled, then latency is reduced, but resource management difficulty increases
Solution Approach 1:
The patent implements preliminary action by preparing commands in advance and organizing them in a queue before execution. Commands are pre-sorted by priority and type, allowing the memory system to execute multiple commands concurrently without needing complex real-time decision-making. This reduces latency while simplifying resource management through pre-organization.
Solution Approach 2:
The patent incorporates feedback mechanisms where the memory system monitors command completion status and adjusts the execution queue accordingly. When a command completes, the system receives feedback and reconfigures the queue to execute the next appropriate command. This feedback loop enables concurrent execution and reduces latency while managing resources through systematic control rather than complex coordination.
3Adaptability or versatility
If new command classes are introduced, then adaptability improves, but ease of operation decreases
Solution Approach 1:
The patent introduces new command classes that can handle multiple functions within a unified structure. Rather than creating separate interfaces for different operations, the system uses a universal command queue mechanism that accommodates various command types (read, write, erase) with different priorities. This universality improves adaptability while maintaining ease of operation through a consistent interface.
Solution Approach 2:
The patent achieves adaptability by changing parameters such as command priority levels and execution timing rather than creating fundamentally new interfaces. The same basic command structure can handle different operations by adjusting parameters like priority queues and execution schedules. This parameter-based approach improves versatility while keeping the command interface simple and easy to operate.
Data Source
AI summary
The present disclosure includes apparatuses and methods for command queuing. A number of embodiments include receiving a queued command request at a memory system from a host, sending a command response from the memory system to the host that indicates the memory system is ready to receive a command in a command queue of the memory system, and receiving, in response to sending the command response, a command descriptor block for the command at the memory system from the host.


