eMMC Open-Ended Read Control for Low-Latency Small Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing embedded multimedia card (eMMC) technologies are inefficient when reading small amounts of data using open-ended read commands, leading to increased latency and energy consumption due to unnecessary data transfer and delayed stop commands.

Innovation Solution

A method and device that monitor data storage in a buffer to send data to the host device when it reaches a threshold, allowing early termination of open-ended read operations, and include a continuity check to manage consecutive read commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the open-ended read command CMD18 is used to read data from the eMMC device, then the host device can read large amounts of data efficiently, but the read performance deteriorates when reading small amounts of data due to delayed stop command detection and unnecessary data transfer

Engineering Contradiction:
Improvedata read efficiencyVSAvoidread latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The processing unit proactively monitors for the stop command CMD12 during the data reading process rather than waiting until the current batch is complete. This preliminary detection allows the system to prepare for early termination of the read operation, reducing the latency when small amounts of data need to be read.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data reading process is divided into batches, and the stop command monitoring is integrated at batch boundaries. This segmentation allows the system to efficiently handle both small and large data reads by checking for termination conditions at strategic points without disrupting the overall read performance.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the processing unit continues to read data batches after the host device has received the required data amount, then the read operation maintains continuous data flow, but energy consumption increases due to unnecessary data transfer

Engineering Contradiction:
Improvedata transfer continuityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The processing unit implements a feedback mechanism by continuously monitoring for the stop command CMD12 from the host device during the read operation. When the stop command is detected, the processing unit immediately terminates subsequent data reading and transfer, preventing unnecessary energy consumption while maintaining efficient data transfer for the required amount.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the stop command CMD12 is sent by the host device after receiving the required data, then the host device can control the read amount, but the stop command is detected late by the processing unit due to transmission and processing delays

Engineering Contradiction:
Improvehost device controlVSAvoidstop command detection delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The processing unit begins monitoring for the stop command CMD12 during the data reading process itself, rather than waiting until the current batch is completely processed. This preliminary monitoring action reduces the detection delay by having the system ready to recognize and respond to the stop command as soon as it arrives from the host device.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20260029934A1Method and device for improving read performance of an embedded multimedia card
Publication Date: 2026.01.29 SILICON MOTION INC
  • US20260029934A1 patent drawing
  • US20260029934A1 patent drawing
  • US20260029934A1 patent drawing

AI summary

The present disclosure relates to a method and device for enhancing read performance of an eMMC. The method is executed by a processing unit of a flash memory controller and comprises the following steps: (a) receiving an open-ended read command from a host device, wherein the parameters of the open-ended read command include a data address; (b) reading a first batch of data from a flash memory device according to the data address, storing it in a buffer, and during this process, monitoring the amount of data to identify when it reaches a threshold amount, at which point the amount of data is sent to the host device; (c) reading a second batch of data from the flash memory device and storing it in the buffer; and (d) checking if a stop command has been received, and if the check result is YES, terminating the execution of the open-ended read command.