ingram14
原博客地址:https://blog.csdn.net/wangpeng22

  随着NVMe 1.4推出,越来越多的企业级feature引进; SRIOV、namespace、NVM Set等等,这些feature如何使用,他们的边界在何处?

SRIOV:利用PF和VF的属性,将一个设备虚拟出多个PCIe设备,利于虚拟机操作,从而提升性能。

NAMESPACE:NVMe ssd由主控和flash组成,如果想把flash空间分成很多个逻辑空间去管理,可以分成namespace 1~n,这样的每个逻辑空间都是一个Namespace。通俗的讲namespace是flash逻辑空间管家。

NVM Set: NVM Set是NVM的集合,它与其他NVM Set中的NVM是分开的。NVM Set中可以创建一个或多个命名空间,这些命名空间继承NVM Set的属性。一个命名空间完全包含在一个NVM集合中,并且不能跨越多个NVM集合。可以看出NVM Set即是逻辑空间和物理空间的管家。

 

 SRIOV资源分布:

 

从资源分配来说,PCIe层面PF和VF有很多共用的地方,比如configuration和bar;当然也又很多独立的部门,比较VF有一小部分configuration独立的,而且VF有独立reset(function level reset)。

NVMe层面,个人觉得还是相对独立,PF和VF都有自己的IO队列,命令也是相对独立的。

 

namespace:namespac就像一个管家,对所有的user logic空间管理,每个namespace可以删除、修改、新增。

 

 

 

NVM Set: 个人感觉NVM set 会凌驾于namespace之上,它的权限不仅在于管理logic空间,连physical空间也会涉及到。

虽然目前还没用到,但是感觉未来NVM Set基于channel、ce、lun来管理phyical空间会比较易于实施。

 

posted on 2022-04-06 20:31  ingram14  阅读(2001)  评论(0编辑  收藏  举报