我注意到,某些 USB 读卡器(更不用说其他媒体设备,如数码相机)似乎支持的内部存储量有上限。当我插入低容量微型 SD 卡(16GB 或更少)时,它们工作正常,但是当我尝试 32GB 或 64GB 时,设备无法读取 SD 卡。它们来自不同的制造商,因此我认为这是更普遍的问题的结果。
问题:为什么有些 USB 读卡器不支持大容量 SD 卡?这与计算机架构有关吗?如果知道这一切有什么道理就好了。目前,这有点像是试错;我一直不太确定如何扩展我的内存,因为我不确定它是否会被支持。
答案1
一般规则是,设备可以使用制造时可用的功能。
它们不可能知道未来的发展会带来什么。
这些卡从外观上看都是相同的,但是 SD 卡有几种“类型”,按容量分为 SD、SDHC 和 SDXC,它们基本上按大小划分——最高 2GB、32GB 和 2TB 地址限制。
它们也按速度进行区分 - 从 2MB/s 到 90MB/s - 在一组令人困惑的图标中......圆圈中的数字,从 1 到 10,U 速度以 MB/10 为单位,V 速度最终给出以 MB/s 为单位的真实速度,即 V6...到 V90。
消费者级指南如何选择 SD 卡
概述维基百科 - 安全数字
综合指南SD 协会 - SD 标准概述
判断任何给定设备可以使用什么的最简单方法......
阅读手册,或查看插槽旁边的图标是什么[如果它不是通用的]。
除了反复试验,没有其他可靠的方法。
答案2
SD 卡已经历了多代,支持多种容量和协议。与 SD 卡通信的协议已多次更改和增强,以实现更快的速度和更大的容量。
这意味着较旧的 SD 卡读卡器可能不支持较新的卡所需的必要命令或协议。卡可能能够降级到读卡器的较低速度,但如果命令需要更多信息才能访问卡的更多内容,那么该卡将无法在该读卡器中使用。
一些设备可能只需要固件更新来支持较新的卡,但许多设备永远不会看到这样的更新。更换读卡器通常比发布固件更新更便宜。对于相机等,我希望它们会有更新。
通常,设备会标明它们支持的最大卡尺寸,他们这样做正是出于这个原因。
Wikipedia SD 卡页面有一些关于容量和兼容性:
到 2006 年 6 月 2.0 版 (SDHC) 规范完成时,供应商已经设计出 2 GB 和 4 GB 的 SD 卡,要么按照 1.01 版的规定,要么创造性地阅读 1.00 版。最终的卡在某些主机设备上无法正常工作。
因此,由于制造商“创造性”地解读标准并制造不完全符合标准的设备,兼容性变得复杂。该部分列出了可能影响不同 SD 卡版本兼容性的一系列问题和注意事项,这可能意味着较新和较大的卡可能无法使用。
答案3
因为较新的高容量卡(例如 SDXC)使用的电子功能是旧规格(SD 或 SDHC)未定义位的一部分。运气好的话,读卡器的实现可能具有适合这些位的值,以便与较新的变体兼容。
举一个简单的例子,您可以想象这样一种情况:存储设备地址选择布线需要 48 条线用于 SDHC,而制造商选择布线所有 64 位以防万一,而这最终成为支持 SDXC 的正确选择。或者制造商布线 50 条线并将额外的 14 条线接地,而这最终被证明是正确的解决方案,纯属运气。这两种实现在旧规格中都可以正常工作。
关键在于您无法创建向前兼容的实现(例如,SDHC 读卡器神奇地支持高容量 SDXC 卡),因为您不知道未来规范中的未来需求。但是,如果当前规范为规范的某些部分定义了 64 位数,您可以选择保留传输的任何值,或强制“已知零”位始终为零。将不需要的位强制为已知值(例如零)通常会提高对抗电子噪声的性能,并可能允许更高的性能,因此尝试保留“已知不需要”的位可能会产生额外的成本,如果猜测对未来规范来说不正确,这将毫无意义地降低设备的价值。