微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

DSSD数据结构 – 数据对象、卷与元数据

2016-10-15 17:10 EMC中文技术社区

     从数据存储的角度来看,DSSD是一款以对象(Object)为基础的存储,对象可以是块(Block)、文件(File)、卷(Volume)、目录(Directory)以及键值配对(Key-Value)等各种类型。这些对象在DSSD中存储为对象池(object pool)。每个对象都拥有唯一的不可重用的编号(UDI,从一个2的64次方中获取)。DSSD D5由于目前的容量限制,可以最多存储10亿个对象。

    

     一个对象是由唯一标识符(Unique ID),分段大小(Fragment size)和一个或多个分段数据所组成的。一个数据分段在一次读写的数据传输中,从应用程序内存移动到DSSD的三个目标位置(一个控制模块的DRAM和两个闪存模块的DRAM中)。下图是DSSD D5中以4K-fragment长度的存储。

 

     对象的容器是卷(卷是另外一种对象,但是逻辑上是对象的容器),每个对象只能属于一个卷。而整个系统中的卷的总数不受限制,卷可以被一个或者多个客户端系统访问。不过当一个卷被多个客户端系统的访问的时候,多个客户端系统是以线性的方式访问卷。通过适当的加锁机制保证客户端之间对于对象的访问隔离。下图显示了卷中的对象示例:

 

     在一个卷中,目录(Directory)对象提供了卷中对象的继承管理。对象可以通过ID访问或者通过文件路径进行访问,下图为对象访问的图示:

 

     所有的元数据,比如闪存转换层FTL,都会通过读取对象创建被保存在D5控制模块的主内存中。一个对象有关的所有元数据都会被包含在另外一个对象中,然后在对象需要的时候写入。元数据不会产生无关的I/O,在系统启动的时候,对象会被检测然后创建FTL。而和传统文件系统不一样的是,所有DSSD系统中的I/O都是对象数据管理或者分段数据管理,而不会有任何元数据的管理的I/O。


 
戴尔易安信技术支持 更多文章 备份和归档的区别 云计算的三种模型:公有云、私有云和混合云 正确描述IO类型 【大咖讲网络】谁动了我的网络 浅析I/O处理过程与存储性能的关系
猜您喜欢 设计模式问答(三) 新增 120+ 万行代码,Linux Kernel 4.12 确实是一个大版本 【技术蛋糕】Java最困扰你的那些事 【第174期】PHP自动测试框架Top 10 理解网络IO模型(一)