NVMe协议简介

NVMe协议简介

NVMe的官网: www.nvmexpress.org
在NVMe的官网可以下载到协议文档。

NVMe是基于PCIe的,与UFS不同,它不需要一个“NVMe host controller” 。NVMe所有的操作都通过PCIe映射到设备的controller上执行和处理。

NVMe的基本编程模型是基于command queueu的。
首先配置admin queue(初始化admin submit queue和complete queue,将queue的地址写入寄存器)。
然后通过在admin queue上执行命令,创建IO queue。
每个queue都有submit queue和complete queue两个物理queue。

最多可以创建4096个IO queue 。
在实际应用中,可以给处理器的每个core配置一个IO queue,这样每个core上的进程就可以独立地读写NVMe设备中的数据,而不会互相干扰,也不需要互斥机制(实际上互斥机制是在NVMe设备内实现的)。
既然每个core配置一个IO queue,那么还可以给每个queue创建一个独立的中断号, 每个core上的进程读写文件产生的中断可以完全独立并行地处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值