OCP NVME SSD规范解读-8.SMART日志要求-4

图片

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版正式发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/658823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

15EG使用vivado2023.1建立hello world工程

1:打开软件建立工程 2:使用vivado创建设计模块并生成bit文件 3:导出硬件平台,使用vitis建立工程 4:使用vitis创建应用程序项目 5:硬件设置与调试 1:打开软件建立工程 打开VIVADO2023.1 创建一个新的工程 输入项目名称和地址,下面那个选项为是否…

深度学习-自注意力机制

文字编码 one-hot编码,让模型自己去学习怎么进行编码 常见的输出 1.每个词都有一个输出值 2.每个句子输出一个值,情感分类 3.输入与输出长度不对应,翻译任务,生成任务。 RNN最早的语言处理 RNN解决的是模型去考虑前面的输入…

TS项目实战一:流淌的字符动画界面

使用ts实现虚拟世界,创建ts项目,并编写ts代码,使用tsc编译后直接加载到html界面,实现类似黑客帝国中的流淌的代码界面的效果。 源码下载地址:点击下载 讲解视频 TS实战项目一:数字流界面项目创建 TS实战项…

计算机设计大赛 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

useEffect的第二个参数

目录 1、第一个参数: 2、第二个参数: 2.1 不传值:无限循环 2.2 空数组作为依赖:执行一次 2.3 基本类型作为依赖:无限循环 2.4 引用类型 2.4.1 数组作为依赖:无限循环 2.4.2 函数作为依赖&#…

力扣(leetcode)第118题杨辉三角(Python)

118.杨辉三角 题目链接:118.杨辉三角 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] …

高光谱图像加载、归一化和增强(jupyter book)

1.获取高光谱图像:我用的是indian_pines的数据集,感兴趣的兄弟可以自行去官方网下载,gt的那个是它的标签哦,别搞错了。 2.图像加载: (1)从本地路径加载 import scipy.io as sio# 文件路径 fil…

蓝桥杯---牌型种数

小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后…

排序链表---归并--链表OJ

https://leetcode.cn/problems/sort-list/submissions/499363940/?envTypestudy-plan-v2&envIdtop-100-liked 这里我们直接进阶,用时间复杂度O(nlogn),空间复杂度O(1),来解决。 对于归并,如果自上而下的话,空间复…

Collections集合工具类-JAVA

java.util.Collections:是个集合工具类它不是集合&#xff0c;而是集合的工具类 常用 API&#xff1a;注意 binarySearch 方法要求元素有序 方法实现&#xff1a; public class Test01 {public static void main(String[] args) {ArrayList<String>list1new ArrayList…

【C语言】探索数据结构:单链表和双链表

目录 &#x1f4a1;链表的概念和结构 &#x1f4a1;链表的分类 &#x1f4a1;无头单向非循环链表&#xff08;单链表&#xff09;的实现 定义节点结构 单链表的尾部插入 单链表的头部插入 单链表的尾部删除 单链表的头部删除 在指定位置插入前数据 在指定位置之后插入数…

人工智能基础-Numpy.array基本操作

基本属性 查看维度 x.ndim查看维度&#xff08;元组形式&#xff09; x.shape元素个数 x.size数据访问 子矩阵 内容同步修改 加是copy&#xff08;&#xff09;则不同步修改 Reshape 修改维度 参数为-1时自动识别个数 合并 np.concatenate([x, y])沿着列合并 np.co…

Springboot使用数据库连接池druid

springboot框架中可以使用druid进行数据库连接池&#xff0c;下面介绍druid在springboot中使用和参数配置介绍。 数据库连接池&#xff08;Druid&#xff09;是一种用于管理数据库连接的机制&#xff0c;其工作原理和常见使用方法如下&#xff1a; 原理&#xff1a;数据库连接…

02神经网络的学习及代码实现

“学习”是指从训练数据中自动获取最优权重参数的过程。引入损失函数指标&#xff0c;学习的目的是以该损失函数为基准&#xff0c;找出尽可能小的损失函数的值。 1、从数据中学习 从数据中学习规律&#xff0c;模式&#xff0c;避免人为介入。 先从图像中提取特征量&#x…

【GAMES101】Lecture 13 光线追踪 Whitted-Style

目录 光线追踪 基本的光线追踪算法 Whitted-Style光线追踪 求曲面交点 求三角形交点 Mller Trumbore Algorithm&#xff08;MT算法&#xff09; 光线追踪 这里讲一下为什么我们需要光线追踪&#xff0c;主要是因为光栅化没有办法很好的处理全局的光照效果&#xff0c;就…

MySQL备份和恢复(二)mysqldump

注意&#xff1a;mysqldump是完全备份 一、mysqldump备份命令 1、 备份数据库 含创建库语句 &#xff08;1&#xff09;备份指定数据库 完全备份一个或多个完整的库&#xff0c; mysqldump -uroot -p[密码] --databases 库名1 [库名2].. >/备份路径/备份文件名.sql#导出…

如何恢复已删除的照片?

在这篇综合文章中发现恢复丢失照片的有效且免费的方法。无论您使用的是智能手机、iPhone、Windows 计算机、Mac、SD 卡还是数码相机&#xff0c;我们都提供有关如何恢复已删除照片的分步说明。此外&#xff0c;学习一些有价值的技巧&#xff0c;以防止将来意外删除照片。 意外…

2024.1.28周报

目录 摘要 ABSTRACT 一、文献阅读 1、题目 2、摘要 3、解决的问题 4、算法模型 5、总结 二、PINN方法 三、PINN神经网络源码 总结 摘要 本周我阅读了一篇题目为Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential…

配置vite自动按需引入 vant 组件

为什么学 按需加载可以减少包体积,优化加载性能 学习内容 全局注册组件 import 需要的组件import 组件样式使用 app.use 注册组件 Tree Shaking 介绍使用 什么是 tree shaking&#xff1f; Tree shaking是一种优化技术&#xff0c;用于减少JavaScript或其他编程语言中未被使用…

【2024程序员必看】鸿蒙应用开发行业分析

鸿蒙操作系统沉浸四年&#xff0c;这次终于迎来了破局的机会&#xff0c;自从2023年华为秋季发布会上宣布鸿蒙 Next操作系统不在兼容Android后&#xff0c;就有不少大厂开始陆续与华为达成了鸿蒙原生应用的开发合作&#xff0c;据1月18日华为官方宣布110多天的产业合力“突进”…