实锤,PBlaze5拥有multiple namespaces能力(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Memblaze_2011/article/details/80392842

NVMe协议在不断发展,PBlaze5的功能也越来越多,这里介绍一个基础又实用的功能,multiple namespaces。文章将分为上下两篇,上篇主要介绍namespace的相关概念,而下篇则进一步解读multiple namespaces的优势以及在PBlaze5上的操作。


什么是Namespace

简单地说,namespace是对用户空间的逻辑划分,就是把用户空间这块大披萨划分开,大家各吃各的。

那么大披萨长什么样呢?划成一片片儿披萨又什么样呢?我们知道,跟其他传统的存储设备一样,非易失性存储器也是可以格式化为逻辑块的,每个逻辑块都有自己的地址,俗称logical block address,简称LBA,我们就是通过LBA来吃披萨(读写IO)的。逻辑地址长相很普通,是从0,1,2….直到最大块地址。

逻辑块地址计算是有讲究的,严格依据JEDEC218A里面定义的逻辑块与容量关系公式。比如4KiB一个逻辑块的话, 1.6TB就需要2646 + 244188 * 1600 = 390703446个逻辑地址了,这些逻辑块就组成了namespace。那么一块SSD是否可以划分为多个namespace来供不同的应用场景使用呢?答案是肯定的。

什么是Multiple Namespaces


早期,单一namespace

下图是一个NVM subsystem的典型结构图,它包含了一个单一NVM Express controller以及一个单一的PCI Express port,也就是我们说的单端口。然后这个controller只支持单一的namespace,即图中的NS A,它绑定它唯一的NSID,1。这个NS A包含了全部的逻辑块,从系统看长这样:,nvme0代表第一个controller,n1代表namespace 1。host可以访问这个namespace就意味着可以访问全部的逻辑块。

1单一namespace在系统中

现在,PBlaze5Multiple namespaces

下图是一个Multiplenamespaces NVM subsystem的典型结构图,它包含了一个单一NVM Express controller以及一个单一的PCI Express port,也就是我们说的单端口。然后这个controller支持两个namespace,即图中的NS A和NS B,它们分别绑定了他们唯一的NSID,图中是NSID 1和NSID 2,在Multiple namespaces的世界里,controller就是通过NSID来引用特定的namespace的了。

在PBlaze5系列产品中,可以将逻辑块按需划分为最多32个namespace,即所谓multiple namespaces,每个namespace拥有独立逻辑地址,各自独立格式化和访问。

需要指出的是,NVMe协议并没有规定单盘最高的namespace数,各家SSD产品的规范也不尽相同,这一点有机会在产品对比测试文章中再详谈,根据Memblaze的设计以及来自客户需求的反馈,PBlaze5目前支持32namespace,这一点是完全按照协议实现的。

Multiple namespaces NVM subsystem从系统看长下面这样,比如/dev/nvme0n20,表示第一个controller的namespace 20。

2 multiple namespace在系统中

访问时就是读写块设备/dev/nvme0n20,以FIO为例:

3 multiple namespace的读写方法

通过上述介绍,您是否觉得namespace与Windows文件系统下的分区有些相似。简单的说,两者根本的区别在于执行划分任务的主体不同。Windows有硬盘分区,Linux 也会通过树形结构实现分区管理硬盘空间,但是这些是操作系统的文件系统实现的。而namespace则是直接对硬盘的地址进行划分,与上层系统相互独立。namespace更接近硬盘,所以能够实现诸如不同namespace不同方式加密等高级功能。 

本文作者:她低调的坐在办公室一个柱子旁,降噪耳机、机械键盘透露着浓浓的极客风。我见过很多工程师,但是很少见这般有狭义之气的工(da)程(jie)师(da)。这位工程师同志把NVMe1.2协议打印出来,还熟读了,显然我是相信的,因为我看见那本协议的时候,上面一点灰没有。这篇文章是袁老师写的namespace,我觉得回来她会亮剑写点其他的,敬请期待。

猜你喜欢

转载自blog.csdn.net/Memblaze_2011/article/details/80392842