据我了解,USB 记忆棒(和存储卡)使用与 SSD 磁盘相同的基本技术。
但是为什么 CrystalDiskInfo 可以检测并显示我的所有 HDD 和 SSD 的各种信息,但却不能显示我的记忆棒和记忆卡的信息呢?
答案是,出于某种原因,USB 记忆棒和闪存卡没有这种“SMART”数据吗?但如果是这样,那为什么没有呢?
我那些值得信赖的硬盘不仅在家庭中履行着它们非常宝贵的职责。我当然想知道它们是否“运行良好”,就像我喜欢检查同样宝贵的 HDD/SSD 一样。
该程序在插入时甚至从未检测到我的 USB 记忆棒或存储卡,但始终能检测到我的每个外部 USB 硬盘和所有内部驱动器。
答案1
是的,大多数 SSD 和闪存驱动器使用相同的基本数据存储技术。然而,控制技术完全不同。控制器负责维护和报告这些 SMART 信息。
SMART 最初是为了预测旋转硬盘的故障而引入的,它是 ATA 协议的一部分。因此,对它的访问是通过一些 ATA 命令实现的。实现 ATA 的 SSD 继承了这种支持。但 USB 大容量存储设备不使用 ATA 协议,它们使用经过特殊调整的 SCSI 协议子集来实际与存储交互。该子集不包含此命令。(SCSI 的现代扩展,在串行连接 SCSI 中实现,又称 SAS,做包含类似的功能,尽管它与 SMART 有很大不同并且 USB 子集也不允许它。
一些 USB 大容量存储设备被实现为位于 SAT 桥后面的 ATA 磁盘(SAT 代表 SCSI-ATA 转换)。其中一些桥支持转换 SMART,有些则不支持。如果您的便携式存储设备是 USB-SATA 外壳中的标准 SATA HDD 或 SSD,则可能可以从中查询参数,但并非总是如此,这取决于所使用的桥,smartmontools
有时需要命令行参数来告诉它通过桥-d sat
。
存储卡甚至使用另一种协议,不同的卡可能使用不同的协议。最常见的是 SD 卡,它基本上使用 SPI 进行通信,这是用于在不同芯片之间通信的低级协议;对于存储卡,SPI 用于与串行 NAND 闪存芯片通信。可以将其视为对存储单元的直接访问。这是非常低级的,因此它没有这样的标准命令,因为没有可以存储和维护性能统计数据(如 SMART)的控制器