我正在运行内核 6.12.10,在我的 dmesg 日志的深处,我发现了这些条目:
kernel: ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
kernel: ata4.00: Model 'INTEL SSDSCKJF360A5L', rev 'LT2i', applying quirks: zeroaftertrim
kernel: ata4.00: ACPI cmd f5/00:00:00:00:00:a0(SECURITY FREEZE LOCK) filtered out
kernel: ata4.00: supports DRM functions and may not be fully accessible
kernel: ata4.00: ATA-10: INTEL SSDSCKJF360A5L, LT2i, max UDMA/133
kernel: ata4.00: 703282608 sectors, multi 0: LBA48 NCQ (depth 32), AA
kernel: ata4.00: Features: Trust Dev-Sleep
kernel: ata4.00: ACPI cmd f5/00:00:00:00:00:a0(SECURITY FREEZE LOCK) filtered out
kernel: ata4.00: supports DRM functions and may not be fully accessible
kernel: ata4.00: configured for UDMA/133
kernel: scsi 3:0:0:0: Direct-Access ATA INTEL SSDSCKJF36 LT2i PQ: 0 ANSI: 5
kernel: sd 3:0:0:0: Attached scsi generic sg0 type 0
kernel: sd 3:0:0:0: [sda] 703282608 512-byte logical blocks: (360 GB/335 GiB)
kernel: sd 3:0:0:0: [sda] Write Protect is off
kernel: sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
kernel: sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
kernel: sd 3:0:0:0: [sda] Preferred minimum I/O size 512 bytes
kernel: sda: sda1 sda2 sda3 sda4 sda5 sda6
kernel: sd 3:0:0:0: [sda] Attached SCSI disk
以下消息是什么意思?
supports DRM functions and may not be fully accessible
read cache: enabled, doesn't support DPO or FUA
在这种情况下,DRM 代表什么?(我怀疑它是指数字版权管理。)这些信息相关吗?
这些消息似乎是新的。我不记得以前见过它们。但我不知道从哪个内核版本开始它们开始出现。
ATA 协议有一个扩展(主板和 SATA SSD 之间使用的“语言”),它允许存储设备根据请求是否由主板上的可信平台模块签名来做出不同的响应。这样,就可以实现诸如视频播放器之类的设备,只有当软件证明其本身未经修改时,才允许访问存储的数据。(我可以找到更多有趣的用例,但内核作者在实现该警告时似乎将数字版权管理视为此应用。)这也意味着 Linux 可能只是获得了 SSD 的“不完整”视图,因此它会就此发出警告,以防您感到疑惑。
呃,这只是告诉你设备有一个读取缓存:计算机获取一些较小的数据单元,设备将这些数据(以及可能更多的周围数据)保存在更小、更快的“透明”内存中。这是有道理的,因为最近读取的数据被再次读取比长时间无人关心的数据更常见。
DPO 和 FUA 只是告诉 SCSI(以及 ATAPI)设备绕过该缓存的非常古老的技术(FUA 应该强制从旋转盘片读取而不使用缓存中的内容,而 DPO 则意味着,嘿,这可能是一次性读取;不介意开始缓存我在这里读到的内容)。这对于 20 世纪 90 年代早期的 SSD 来说是没有意义的,因此这些扩展不适用于您的 SSD。