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