SMART-21:这段描述解释了一个与设备内部I/O操作非对齐相关的计数器功能。该计数器记录的是由NVMe SSD执行的、起始地址未按照设备内部间接寻址单元(IU,Indirection Unit)大小进行对齐的写入I/O操作数量。
“Alignment”指的是每次I/O操作的开始位置是否符合设备IU的边界要求。即使某个I/O操作在长度上并未超过IU的范围,只要其起始地址没有精确地落在IU的整数倍边界上,就被视为未对齐的I/O。比如,非4K对齐的示意图如下:
这个计数器会在电源循环(即设备断电再通电)后重置为零,意味着每一次重启或重启后,未对齐写I/O次数将重新开始统计。同时,该计数器不会发生溢出(wrap),确保了计数的有效性和完整性。
最后,在出厂时,这个计数器会被清零。这意味着当NVMe SSD从生产线上下线并进入市场流通之前,所有关于未对齐写入操作的统计信息都会被清除,以提供一个基准状态给最终用户。通过跟踪此计数器的变化,系统可以了解在SSD运行期间发生了多少次未对齐的写入操作,从而评估存储子系统的性能优化潜力以及潜在的数据传输效率损失。
SMART-23:这段描述是对NVMe固态硬盘的命名空间利用率(Total Namespace Utilization)的解释。
-
对于只有一个命名空间的设备,其总命名空间利用率应当是直接复制自“Identify Namespace Data Structure”结构中字节23:16定义的命名空间利用率字段。这意味着在这种情况下,整个设备的存储使用情况可以通过查询单个命名空间的利用率数据来获得。
-
而对于具有多个命名空间的设备,则总命名空间利用率应基于所有命名空间的利用率计算得出。这意味着在多命名空间设备上,需要汇总所有独立命名空间的已使用存储容量,并除以总的可用存储容量,从而得到整个设备层面的存储资源利用状况。
简单来说,无论设备上有多少个命名空间,总命名空间利用率都是一个反映整个设备存储资源整体占用程度的重要指标。对于单命名空间设备,可以直接读取特定位置的数据结构获取该信息;而对于多命名空间设备,则需要综合所有命名空间的数据进行综合计算。
SMART-24:该计数器记录了由于供电电压下降导致设备启动电源丢失保护过程(Power Loss Protection,PLP)的次数。当设备首次检测到电源断供状况时,即触发PLP机制以确保数据在电源突然中断前能够安全地写入非易失性存储区域,此时这个计数器就会增加。
值得注意的是,这个计数器并不包含对PLP健康检查操作的统计。也就是说,它仅针对实际发生的电源故障事件进行计数,并不包括为了预防性检查和维护PLP功能而执行的相关测试或例行检查。通过观察这个计数器的数值变化,可以了解到设备在真实使用场景下应对电源故障的能力以及 PLP 机制的实际触发频率。
SMART-25:该字段用于估算在整个设备使用寿命内,在假设写入放大系数为1的情况下(即设备执行的实际写操作次数等于主机请求的写操作次数),可能被写入到该设备的数据总量。这意味着在理想情况下,没有额外的内部管理和维护操作导致写入次数增加。
这个数值应当等同于Endurance Group Log(标识符为09h)中的“Endurance Estimate ”字段值,这个基于闪存芯片的固有特性以及其可承受的擦写次数来计算的,它反映了设备能够安全存储数据的最大总字节数量,同时也是评估设备寿命和剩余可用空间的一个关键指标。因此,用户可以通过查看这一字段了解在正常工作条件下,不考虑任何写入放大效应时,设备理论上的最大数据写入容量。
SMART-29:这该计数器用于记录PCIe链路重新训练事件的数量,这些事件包括但不限于链路速度和链路宽度的变化。在实际运行期间,每当发生PCIe链路由于任何原因需要进行重新配置(如自动调整链路速度或宽度以保持最佳性能)时,这个计数器就会递增。
值得注意的是,当设备经历复位操作或者电源循环导致的初始化过程中的链路训练阶段,并不会增加此计数器的值,因为这是正常启动流程的一部分,而不是运行时发生的突发状况。此外,在出厂设置下,即设备从工厂出货前,该计数器会被清零,确保用户拿到新设备时,所有监控数据都从零开始记录。
总结来说,这一计数器主要是用来监测PCIe链路在设备生命周期内因各种原因进行动态调整的次数,以便了解和评估PCIe接口的稳定性及潜在问题。
SMART-31:该计数器用于记录NVMe电源状态变化的次数,无论是由主机发起还是设备本身触发的。这一统计范围涵盖了电源状态变更而导致的NVMe电源状态变化情况。
此计数器只在运行时才会递增,也就是说,在设备实际运行过程中发生的任何NVMe电源状态切换都将被记录在这个累计计数器中。而在出厂设置阶段,即设备从工厂退出并交付给用户之前,这个计数器会被清零,确保初始状态下计数值为零。
简而言之,这是一个用于监控NVMe设备在其整个生命周期内电源状态改变频率的重要指标,包括由于与DSSD系统交互导致的电源状态转换,并且仅反映实际使用过程中的变化,不包括出厂重置后的初始化状态。
SMART-33:该字段显示了在允许回滚固件时所能退回到的最低固件版本号。这个字段是为了确保在进行固件回滚操作时,能够遵循一定的安全策略,避免由于意外或未经授权的回滚导致的安全风险。具体来说:
-
如果当前激活的固件版本支持回滚到所有之前的固件版本,则此字段应被清零(值为0h)。这意味着用户可以不受限制地将固件回滚至任意早期版本。
-
如果当前激活的固件版本不支持回滚到所有先前的固件版本,那么这个字段将会指示具有与当前活跃固件相同固件安全版本(Firmware Security Version)的最低固件版本的固件修订版号。这意味着在考虑回滚时,出于安全性或其他原因,设备会有一个允许回滚的固件版本下限,并且只能回滚到与当前版本具有相同安全级别的固件版本。
小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
-
对于超低延迟SSD,IO调度器已经过时了吗?
-
浅析CXL P2P DMA加速数据传输的原理
-
HDD回暖于2024,与SSD决战于2028
-
SSD固态硬盘的黄金原则:抱最高的希望,做最坏的打算
-
PCIe 6.0生态业内进展分析总结
-
详细解读QLC SSD无效编程问题
-
NVMe SSD IO压力导致宕机案例解读
-
浅析PCIe 6.0功能更新与实现的挑战
-
过度加大SSD内部并发何尝不是一种伤害
-
FIO测试参数与linux内核IO栈的关联分析
-
PCIe surprise down异常与DPC功能分析
-
过度加大SSD内部并发何尝不是一种伤害
-
NVMe over CXL技术如何加速Host与SSD数据传输?
-
为什么QLC NAND才是ZNS SSD最大的赢家?
-
SSD在AI发展中的关键作用:从高速缓存到数据湖
-
浅析不同NAND架构的差异与影响
-
SSD基础架构与NAND IO并发问题探讨
-
字节跳动ZNS SSD应用案例解析
-
SSD数据在写入NAND之前为何要随机化?
-
深度剖析:DMA对PCIe数据传输性能的影响
-
NAND Vpass对读干扰和IO性能有什么影响?
-
HDD与QLC SSD深度对比:功耗与存储密度的终极较量
-
NVMe SSD:ZNS与FDP对决,你选谁?
-
如何通过优化Read-Retry机制降低SSD读延迟?
-
关于硬盘质量大数据分析的思考
-
存储系统性能优化中IOMMU的作用是什么?
-
全景解析SSD IO QoS性能优化
-
NVMe IO数据传输如何选择PRP or SGL?
-
浅析nvme原子写的应用场景
-
多维度深入剖析QLC SSD硬件延迟的来源
-
浅析PCIe链路LTSSM状态机
-
浅析Relaxed Ordering对PCIe系统稳定性的影响
-
实战篇|浅析MPS对PCIe系统稳定性的影响
-
浅析PCI配置空间
-
浅析PCIe系统性能
-
存储随笔《NVMe专题》大合集及PDF版正式发布!