Memory Card Command Timeout Measurement via Stuck Busy Signal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a difficulty in determining the command timeout values for host interactions with memory devices like eMMC, as this information is not readily available and can vary by manufacturer and version, making it challenging to detect when a memory device has entered an unresponsive or failure state.

Innovation Solution

The method involves using a 'stuck busy' signal during access commands to set a long timeout value, allowing the host to determine the command timeout without examining the host driver code, by setting the busy signal to an infinite value and measuring the time duration for the host to timeout, which is then used to compute the actual timeout value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host waits for a timeout period to detect memory device unresponsiveness, then system reliability is improved, but the timeout value is not readily available and varies by manufacturer, making detection difficult

Engineering Contradiction:
Improvedetection of unresponsive stateVSAvoidtimeout value determination
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The memory device itself provides the timeout information by returning the last successful command's timeout value in response to a who am I command. This self-service approach eliminates the need for the host to externally determine or guess the timeout value, directly resolving the detection difficulty while maintaining reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The memory device feeds back timeout information to the host through the command response mechanism. The host sends a who am I command and receives not only device identification but also the timeout value associated with the last successful command, creating a feedback loop that provides the necessary timing information for reliable timeout detection.

Inventive Principle:
Principle #23Feedback

2Loss of information

If the host examines host driver code to find timeout values, then timeout information can be obtained, but this approach is not always available or readily available

Engineering Contradiction:
Improvetimeout parameter availabilityVSAvoidhost driver code examination
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

Instead of requiring the host to externally search for timeout information in driver code, the memory device itself provides the timeout value through its response to a who am I command. This transfers the information source from external (host driver) to internal (memory device), ensuring availability without increasing host complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The who am I command serves multiple functions: it identifies the memory device type and simultaneously provides the timeout value for the last successful command. This multi-functionality ensures timeout information is always available through a standard command sequence, eliminating the need for manufacturer-specific driver code examination.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11994983B2Multimedia card command timeout measurement
Publication Date: 2024.05.28 MICRON TECHNOLOGY INC
  • US11994983B2 patent drawing
  • US11994983B2 patent drawing
  • US11994983B2 patent drawing

AI summary

A memory card can include memory and a memory controller. The controller can receive a general command to increase the busy time of any subsequent access command Subsequently, the controller can receive an access command from a host to access the memory. The controller can then place the memory in a busy state for a time duration based on the general command, such that the memory refrains from processing read or write commands for the time duration. The timeout measure is the busy time between the time when the access command is issued and the host timeout.