这个问题是使用带有相机适配器的 SD 卡时性能会下降吗。该问题是询问使用 microSD 到 SD 适配器是否会降低性能。
这似乎是一个答案显而易见的琐碎问题,但事实并非如此。这个问题旨在找出并解释底层的技术细节。
一些简要的背景:
适配器只是一个无源设备,一个塑料外壳和一些金属触点延长线。理论上,它应该不会对性能造成影响,而传统的答案是不会,在正常情况下确实如此。
有传闻称该适配器会降低性能。例如本文根据作者的观察。在单反相机的世界里,有少数人喜欢Quora 上的这张海报他们得出的结论是,该适配器“倾向于”降低性能。还可以找到其他传闻报道。
这些报告均未经过严谨的科学分析,因此很容易被驳斥。本文的重点不是要证实或驳斥这些报告;可能每一份报告都是基于错误的信息。
他们的共同点是多个人独立报告了非平凡退化的案例(即,明显的幅度,而不是电子穿过几毫米额外电线所花的纳秒时间)。
考虑到正在使用的适配器数量以及此类报告的最小数量,此症状是一种异常,而非正常操作。这意味着,如果症状是真实的,则原因不是在典型条件下的工作方式。
人们可能会同意,在正常情况下,适配器不会影响性能。关于链接问题的讨论确定了两种观点非典型条件(适用于轶事案例):
- 适配器在任何情况下都不可能降低性能。
- 在某些情况下,性能下降是可以解释的,也许并不令人惊讶。
这个问题的目的是检验我们的传统观点。我们可以坚持第一个观点,并反驳所报道的每一个轶事,直到有可接受的证据证明该观点是错误的。这个问题试图将我们的知识应用到这些观点上,以了解为什么会出现这种情况。问题是:
从技术上来说,适配器在任何条件下都不可能降低性能吗(以及为什么或为什么不可能)?
请注意,这个问题可以通过一个有效的技术解释来回答,说明为什么它是不可能的,或者说明它是可能的合理情况。
在链接的帖子中,我提出了这种可能性:这种适配器的正常故障模式可能会导致适配器内部 microSD 卡的电气连接出现问题。这可能会导致一定程度的数据传输失败或错误。重新发送数据可能会影响性能,并解释所报告的性能下降。
链接帖子上的评论讨论似乎归结为以下可能性:
该协议不包含重发机制,因此传输错误或失败会立即产生 I/O 错误,进程停止。这意味着进程要么工作,要么不工作,它不可能以降低的速度工作,这意味着任何关于降低速度的报告都不可能是正确的。
传输协议之外的机制(例如操作系统)可以触发重试,这意味着可能出现降级,并且建议的机制可能是一个合理的解释。
实际上有几种可能的传输模式和速度。适配器的一些不理想条件可能会导致传输速度降低。
其他一些尚未提出的机制?
我们显然无法知道所报告的性能下降案例中到底发生了什么。本文的目的不是进行推测,也不是列出所有可能的理论原因。
这个问题的目的是区分性能下降是否在技术上不可能发生,或者是无法排除的,并且有已知的机制可以解释它。
我们寻求的是具有充分解释的答案,以便对问题做出合理的回应,而不是一本技术细节的教科书。鼓励引用权威文献。
答案1
传输协议之外的机制(例如操作系统)可以触发重试,这意味着可能出现降级,并且建议的机制可能是一个合理的解释。
实际上有几种可能的传输模式和速度。适配器的一些不理想条件可能会导致传输速度降低。
这两种情况都适用。在查询设备功能时,SD 时钟速率一开始很慢,通常主机会切换到允许的最大时钟(卡指定的最大速度,四舍五入为主机可以生成的最接近的时钟速率)。
但有些主机可能具有强制降低速度的本地配置设置。除此之外,主机完全可以通过重试或降低时钟速度来应对错误。降低时钟速度将允许传输容忍增加的串联电阻和分流电容,而适配器会影响这些电阻和分流电容(应该影响不大,但质量较差的适配器影响可能更大)。
由于 SD 协议没有指定主机应该如何从重复的错误中恢复,因此传输速率的有效降低可能会因设备而异。