![数据存储技术与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/328/27111328/b_27111328.jpg)
3.4 全Flash架构分析
随着摩尔定律的推进,Flash介质凭借高性能进入企业存储领域。Flash介质的特性和传统硬盘完全不同,需要全新的设计,以发挥闪存的全部性能潜力。不同的存储厂家推出不同的架构。
3.4.1 IBM FlashSystem软件架构
FlashSystem的Flash存储组件是一种专有硬件架构,I/O数据路径由FPGA完成处理,性能高但特性很少,对介质的寿命要求高。
在实际应用时,一般需要和IBM SVC存储虚拟化软件配合,提供完整的存储特性。SSD存储组件提供持久化存储能力,SVC虚拟化软件提供存储特性。此时虚拟化软件本身容易成为性能瓶颈。这种架构下难以支持在线重复数据删除特性(见图3-13、图3-14)。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00021.jpeg?sign=1739370674-eUml3XoHGs5KsGRADK0DQLa9ILA0UgVQ-0-3991eeedcfb064dec033b6ef400c09d7)
图3-13 FlashSytem的Flash存储组件
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00022.jpeg?sign=1739370674-xtzv6OzKRW8QofgRPiLSCZmumHu92hJ0-0-2b5b12578e2e4c9761d8df16fb166a51)
图3-14 IBM FlashSystem软件架构
3.4.2 XtremI/O架构
XtremI/O采用基于服务器的Scale-out架构,最多支持8个X-Brick节点,节点间通过RDMA Fabric互连。在软件实现上为全闪存进行重新设计,支持在线重删、压缩、瘦分配等特性。节点间数据/元数据Hash打散分布,负载分担(图3-15)。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00023.jpeg?sign=1739370674-tN20BJLxo4EGrzycqhfRk2jkhDUZowvv-0-0b03ee1a743bad5d4e410b2407727f3d)
图3-15 XtremI/O架构
XtremI/O运行基于linux的XIOS软件系统,XIOS运行在用户态(图3-16)。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00024.jpeg?sign=1739370674-Ub46xhMm0Hhf1NAQFXO31X1bCiLwxW7y-0-8a274ab0410a2177be8e6722cc56800d)
图3-16 XIOS的运行
系统分为数据面和管理面两大部分。
(1)数据面
R-Routing:负责前端I/O处理,包括I/O数据拆分,指纹计算;每一个节点运行一个R模块。
C-Control:负责LBA地址到Hash指纹映射表处理(A2H),以及高级数据服务,如快照、重删、Thin Provision。
D-Data:负责Hash指纹到物理地址映射表处理(H2P),以及所有下盘操作,包括XDP。
(2)控制面
P-Platform:负责系统硬件管理,每一个节点运行一个P模块。
M-Management:负责系统配置,接收来自XMS的配置命令,每个节点运行一个M模块,其中一个处于活动状态。
L-Clustering:负责集群管理,每个节点运行一个L模块。
读流程如图3-17所示。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00025.jpeg?sign=1739370674-UKkRJ0iRgqFqjDoTlTCJG33WeKXqqkm6-0-2cb349e91e28e57136c6e7199f62c245)
图3-17 读流程
写流程如图3-18所示。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00026.jpeg?sign=1739370674-aQwabXVHZ7E35Wgkzj6cfIelrsFxznM1-0-4e79d6556a0a51ce84f73618f41108be)
图3-18 写流程
XtremI/O软件上为闪存所做的主要优化为:基于双阶元数据引擎的在线重复数据删除,XDP数据布局,共享式全内存元数据。通过元数据全内存提供稳定的处理时延,同时也制约了每个控制器可以管理的介质容量,单节点容量不大,容量扩充通过扩展X-Brick来实现。
3.4.3 PureStorage架构
PureStorage采用Scale-up架构,软件为全闪存专门设计。其软件架构可以分为介质管理(Purity Core)、存储服务(Purity Services)、管理三层,如图3-19所示。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00027.jpeg?sign=1739370674-dLpwZzhKGgGnOf8IiB4MBQxJDnB0ItRo-0-8f391301e547f27015c5ed77b2f1b844)
图3-19 PureStorage架构
介质管理:负责处理适配Flash块大小边界布局、全局磨损平衡、数据布局持久化、读优先处理、介质故障处理等,为服务层提供一个高性能的、可靠的虚拟化资源池。
存储服务:在存储池上提供的数据缩减(重删、压缩、瘦分配)、数据保护、数据恢复等服务,实际提供用户可用的存储特性。
管理:本地存储管理,应用生态对接,云支持。
PureStorage在软件上的主要特性为使用基于NVRAM的大日志式Cache来完成掉电保护、汇聚数据顺序写,减少写放大,从而可以使用较为廉价的cMLC介质,降低成本(见图3-20)。
![](https://epubservercos.yuewen.com/D6F4AE/15477651105614106/epubprivate/OEBPS/Images/00028.jpeg?sign=1739370674-mW36kcm2Ge6UBpRIUQyraW1ZSj5vsqkU-0-00d1fdaa6b5e4fd0bbd1d8b044c8238d)
图3-20 PureStorage在软件上的主要特性