微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 带你认识存储系统的心脏:存储处理器

带你认识存储系统的心脏:存储处理器

时间:10-19 来源:与非网 点击:
存储系统作为网络后台的核心设备,为各类信息应用提供网络存储、高可用数据库集群、高性能计算、数据备份、复制、容灾、迁移等各类服务。存储系统是一种将多个磁盘驱动器组织在一起,以提供较高的数据读写、传输性能和存储安全特性的计算机设备,是典型的嵌入式系统,其控制器是所有功能的实现者,决定着系统体系结构。

存储系统的控制器,类似于服务器内部的PCI RAID控制器,又有较大的差别,这里,我们来谈一谈存储系统控制器,使读者对存储设备有较全面的了解。

嵌入式架构

存储系统控制器和PCI RAID卡具有相同的逻辑构成,有I/O处理器、高速缓存、硬盘接口控制器、高速总线、储存嵌入式软件的闪存、内外连接接口等。

图1、 采用双段PCI-X总线的光纤通道磁盘阵列控制器


硬件构成上,和PCI RAID卡不同,存储控制器还有用于连接主机的磁盘控制器,以及更多的协同处理和管理的功能芯片。物理上,为了能够实现各类芯片的布局,存储控制器通常分为控制器板卡、I/O接口卡、管理模块卡等几大部分。

任何硬件功能的发挥,离不开软件。存储控制器软件实现如下三个功能:管理和控制磁盘集合(阵列)、传送I/O操作进/出磁盘、为数据冗余计算校验值或使用校验值恢复丢失的数据。在软件构成上包括3个部分:阵列控制软件,板支持包及接口驱动软件,操作系统及设备接口。

图2、控制器软件示意图


存储控制器软件的各模块功能如下:

? 系统初始化模块:负责系统初始阶段的系统自举、设备自检、参数设定、资源分配等。
? 命令分解模块:负责服务器命令的分解、应答等。
? 数据分块重组模块:负责服务器数据的分块和底层数据的重组。
? 缓存管理:负责命令及数据缓存的分配、聚散、释放等。
? I/O调度模块:负责上层与底层I/O命令的并行、流水调度等。
? 校验信息计算模块:负责校验信息的计算。
? 数据重构模块:负责降级模式下的数据提供。
? 数据恢复模块:负责磁盘出错时的数据自动恢复。
? RCR模块:实现RAID Cache RAID功能,提供阵列性能。

仅仅控制器是远远不够的,还要辅以下列系统设计方法,方可构建一个高可用的存储系统:

采用模块化技术,研究开发磁盘阵列的磁盘子系统、控制器、电源、结构件、连接件等模块,并在存储设备内部采用无电缆连接技术,提高系统的集成度和可靠度。

采用全冗余热拔插技术,实现存储设备模块内主要工作子系统,例如散热子系统、电源子系统、控制器子系统的容错能力,提高可用性。

采用结构一体化设计技术,为存储设备和整个海量存储系统提供足够的散热能力,提高系统的稳定性和可靠性;合理的结构设计,将保证电源、风扇、硬盘、控制器模块的无电缆连接,并保证冗余热拔插功能的实现。

存储处理器特性要求

高性能

与一般的PCI RAID卡相比,存储系统的控制器控制软件除了实现基本的RAID功能,支持RAID 0、1、0+1、3、5、30、50等级别外,还通过以下技术提高存储设备的传输性能:

(1)实现存储设备与系统的均衡。在分析磁盘阵列的随机Petri网模型和计算硬件组成环节运行时间的基础上,利用Petri网模型计算主要环节的利用率,选择合适的通信机制,利用运行时间的计算结果合理地确定硬件配置,来解决主从通道与磁盘通道的速度匹配、各级缓冲存储器的容量匹配和通信方式的选择等影响性能的关键问题,使系统结构趋于合理,达到负载均衡的目的。

(2)实现串内多线程操作。通过选择恰当的磁盘控制器,实现同一物理链路多个磁盘驱动器的并发操作,实现串内磁盘驱动器的并发操作,在时间上重迭地处理数据的存取,从而达到提高传输性能的目的。

(3)实现底层设备的I/O合并操作。利用底层硬件未曾利用的数据聚散(Scatter/Gather)功能,将所有分解到某个磁盘驱动器上的子命令,按其操作属性进行合并,并将逻辑地址离散的数据调整为支持一次I/O操作的格式,然后用一次I/O代替多次I/O,达到降低服务时间的目的。

(4)利用纵横LRU替换算法实现纵横LRU替换。对于主机的大块数据访问,当第i块数据在第j个磁盘驱动器上时,第i+1块数据肯定在第(j+1)mod N个磁盘驱动器上,如果第i块数据在第j组缓存失效,那么第i+1块数据有可能在第(j+1)mod N组缓存也发生失效,因此在数据读写过程考虑数据块在磁盘驱动器上的横向相关性,可以通过纵横LRU替换算法,将纵向预腾空(即同一组内的预腾空)发展成纵横预腾空(即多组同时替换)。

智能化

控制器提供了存储系统一定的在线操作智能化能力,减少由存储模块自身原因引起的系统停机,提高存储系统内数据的高可用能力,这些特性包含:

? 多种读写方式
? RAID阵列迁移、级别迁移、容量在线扩展、容量在线扩容、磁盘易位
? 面向单RAID阵列的读写应用优化
? 系统管理和监控

控制器除了提高磁盘阵列在线操作智能化能力的同时,还实现I/O读写的智能化。I/O负载可以表示为一个三元组(地址、大小、读/写),因而存取模式可以对应一个三维空间,每一维对应三元组的一个元素随时间的变化值。自适应磁盘阵列通过获取不同I/O负载和不同磁盘数据分布的特征,调节磁盘阵列参数和调度策略,以获取系统的最大性能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top