NVMe的Linux内核驱动分析

关于本文的几点说明:

1. 本文基于Linux 4.1.12 版本的内核进行介绍,其它版本的内核代码可能略有不同,但不影响理解。

2. 在阅读本文之前,如果能够阅读一下本号之前关于块设备和SCSI的文章,对理解本文将很有帮助。

3. 建议阅读本号之前的两篇文章(一篇文章讲清什么是NVMe理解NVMe的内部实现原理,这一篇就够了)后阅读本文,这样理解的更透彻。

前面两篇文章我们对NVMe的原理和涉及的主要概念进行了介绍,今天我们将介绍一下NVMe的Linux驱动是如何实现的。首先NVMe本身是一个块设备,因此NVMe的驱动也是遵循块设备的驱动架构。本文通过两部分介绍NVMe的驱动程序,一部分是操作系统如何创建NVMe块设备,另外一部分是分析一下NVMe的主要流程,包括读写流程和管理流程等。

创建NVMe块设备

对于Linux的块设备来说,其主要的是通过device_add_disk或者add_disk函数(后者是对前者的简单包装)来向操作系统添加一个设备实例。具体原理我们在之前的文章中已经介绍过,本文不再啰嗦了,想了解的同学请自行翻阅一下历史文章。其基本原理就是通过调用该函数,就

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数据存储张

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

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

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

打赏作者

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

抵扣说明:

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

余额充值