Memory Card Command Timeout Measurement via Stuck Busy Signal
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


