随着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空间会比较易于实施。
本文来自博客园,作者:ingram14,转载请注明原文链接:https://www.cnblogs.com/ingram14/p/16108352.html