eMMC Controller Command Queuing for I/O Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing embedded multimedia cards (eMMC) face challenges in reducing input/output latency and improving read/write performance, particularly due to limitations in command and status management across the data bus.
Innovation Solution
The eMMC device incorporates a device controller with a command storage unit, status storage unit, and task manager that allows for queuing and execution of tasks independently of the data bus state, enabling efficient command storage, status tracking, and parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If commands are received and processed only when the data bus is available, then the data bus state is maintained for data transfer, but input/output latency increases and read/write performance deteriorates
Solution Approach 1:
The device controller receives and stores commands from the host in advance in the command storage unit, even when the data bus is occupied with data transfer. This preliminary action allows commands to be queued and processed immediately when the data bus becomes available, reducing I/O latency without interfering with ongoing data transfers.
Solution Approach 2:
The command processing function is segmented from the data transfer function. The command storage unit and status storage unit are separated from the data bus interface, allowing independent command reception and status monitoring without blocking data transfer operations. This segmentation enables parallel processing of commands and data.
2Productivity
If the device controller waits for data bus availability before receiving commands, then data bus conflicts are avoided, but system productivity decreases
Solution Approach 1:
The command storage unit acts as an intermediary buffer between the host and the execution units. Commands are stored in this intermediary structure when received, allowing the host to continue sending commands without waiting for execution. The status storage unit similarly intermediates between execution status and host inquiry, decoupling these operations from direct data bus dependency.
3Productivity
If commands are processed sequentially based on data bus availability, then data transfer integrity is maintained, but task execution efficiency decreases
Solution Approach 1:
The task manager dynamically manages multiple tasks in the command storage unit, allowing flexible scheduling and execution based on data bus availability and task priorities. Tasks can be queued, paused, and resumed dynamically without compromising data transfer integrity, as the system adapts its command processing节奏 to match data transfer requirements.
Data Source
AI summary
An embedded multimedia card (eMMC) and a method of operating the same are provided. The eMMC includes a flash memory and a device controller configured to control the flash memory. The device controller includes a command storage unit configured to receive a command transmitted from a host regardless of a state of a data bus and to store task information by task ID; and a status storage unit configured to store status information based on task status by task ID.


