5个阶段彻底掌握NVMe协议

目录

学习宗旨

学习目标

学习步骤

结语


NVMe协议(以NVMe 1.4c为例)全篇共400多页,内容庞杂。

初学者在刚开始学习的时候很容易懵圈,本文介绍一下如何掌握NVMe协议。

学习宗旨

任何领域的学习,思路都很重要。这就跟打仗占山头一样,战略如果错误,肯定玩儿不转。

我们需要先弄清楚以下几个问题,才能真正掌握NVMe协议。

1. 什么是NVMe协议?

我看过很多参考资料,会把NVMe这个词从英文翻译成中文,再做一次名词解释。比如,非易失性内存主机控制器接口规范。

这对于初学者来说,意义不大。名词解释中出现的专业名词,仍然成为了初学者的障碍,用专业的名词给初学者做解释,只会使初学者云里雾里。

NVMe原版协议中,第一句话就说明了,NVMe是什么。

定义中,我们只要关注两点:

  • NVMe是一份接口协议
  • NVMe的作用是保障host和存储部件之间的通信

这就很明白告诉我们,NVMe是一份通信协议,其作用就是保障host和NVM存储部件之间的通信。

这就好比平时两个人聊天,一个人叫host,一个人叫NVM subsystem。如果这两个人需要互相沟通,那就不要一种语言,比如中文、英文等等。不管用何种语言,首先需要双方都懂这种语言,也就是共同遵守相同的发音和语法规范,才能保证双方想表达的意思能准确地传达给对方。而这种语言,在此处就叫“协议”。

2. 哪种岗位需要使用NVMe协议?

  • NVM相关设备的开发和测试人员
  • 主机操作系统的开发和测试人员
  • NVM设备相关工具的开发和测试人员

3. 为什么要使用NVMe协议?

开发和测试时,最硬的参考标准。

学习目标

大多数初学者,对于NVMe的学习没有明确的目标,只觉得拿着一份英文的协议读就行了。

这样,其实很浪费时间,效果也不好。

一份协议,400多页,如果要全部读懂、理解(有些人可能还会想全部背下来),是可能的,但需要花费大量的时间成本。在工作过程中,没有这么多时间去学习的。

学习NVMe协议,建议达到以下几个目标。

知识点

学习目标

SQ/CQ机制

熟练掌握

命令结构

熟练掌握

命令功能

了解定义

命令字段含义

一般掌握

PCI寄存器

一般掌握

controller寄存器

一般掌握

相关Feature

了解定义

熟练掌握:从机制到流程,到细节都充分学习,被问到相关内容时,可以不看协议立刻回答。

一般掌握:了解机制和大体相关内容,细节不必掌握,能快速在协议相关章节查阅即可。

了解定义:知道是什么即可,等需要使用的时候再学习也来得及。

学习步骤

以NVMe 1.4c版本为例,目录如下:

  1. Introduction
  2. System Bus Registers
  3. Controller Registers
  4. Data Structures
  5. Admin Command Set
  6. NVM Command Set
  7. Controller Architechture
  8. Features
  9. Derectives
  10. Error Reporting and Recovery

学习步骤如下:

阶段一

学习第4章的部分章节:4.1、4.2、4.6

这三节对应了上述的SQ/CQ机制和命令格式的知识内容。不仅要逐字逐句看懂,最好网上也多找一些其他同学共享的学习心得参考。如果有条件,直接抓取host与controller之间的命令消息来应证。

阶段二

学习第5章和第6章:Admin Command和IO Command。

重点学习协议要求mandatory的命令。

阶段三

学习第2章和第3章:PCI寄存器和controller寄存器。

阶段四

学习第7章和第8章的部分内容,重点看Resets和Firmware Update相关内容。

其他章节的内容,用于参考和查阅。

阶段五

在实际工作中,用到哪一章节的内容,就详细阅读,提升知识熟练度并补充之前的知识点纰漏。

结语

在一边工作一边学习的条件下,前四个阶段,1~3个月即可完成,阶段五,3~6个月可完成。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辗转反测

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值