带你认识存储系统的心脏:存储处理器
【IT168 专稿】存储系统作为网络后台的核心设备,为各类信息应用提供网络存储、高可用数据库集群、高性能计算、数据备份、复制、容灾、迁移等各类服务。存储系统是一种将多个磁盘驱动器组织在一起,以提供较高的数据读写、传输性能和存储安全特性的计算机设备,是典型的嵌入式系统,其控制器是所有功能的实现者,决定着系统体系结构。
存储系统的控制器,类似于服务器内部的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功能,提供阵列性能。
仅仅控制器是远远不够的,还要辅以下列系统设计方法,方可构建一个高可用的存储系统:
采用模块化技术,研究开发磁盘阵列的磁盘子系统、控制器、电源、结构件、连接件等模块,并在存储设备内部采用无电缆连接技术,提高系统的集成度和可靠度。
采用全冗余热拔插技术,实现存储设备模块内主要工作子系统,例如散热子系统、电源子系统、控制器子系统的容错能力,提高可用性。
采用结构一体化设计技术,为存储设备和整个海量存储系统提供足够的散热能力,提高系统的稳定性和可靠性;合理的结构设计,将保证电源、风扇、硬盘、控制器模块的无电缆连接,并保证冗余热拔插功能的实现。