>
首页 » 业界动态 » 对象存储控制器的硬件设计与仿真

对象存储控制器的硬件设计与仿真

作者:张葱仔,冯丹,覃灵军,余红梅  时间:2007-04-04 14:38  来源:www.edires.net

摘 要:对象存储控制器是对象存储系统的核心之一。结合对象存储的特性,本文设计了基于交换式架构的对象存储控制器,重点探讨了其时钟电路以保证控制器正常工作。硬件实现时综合考虑了高速电路的传输线效应和信号完整性问题,并探讨了通过仿真保证电路正确性的方法。

关键词:对象存储控制器;阻抗匹配;电源完整性;信号完整性

1 引言


基于对象的存储(Object-Based Storage,简称OBS)掀起了网络存储领域的新浪潮。其对象级接口是NAS的文件级接口和SAN的块级接口的完美结合,具有安全性、跨平台互操作性和快速的优点。OBS体系结构由客户机、对象存储设备OSD(Object-Based Storage Device,简称OSD)、分布式文件系统、互连网络、元数据服务器五部分组成,其中OSD是OBS体系结构的基础。OSD包括对象存储控制器OSC(Object-Based Storage Controller,简称OSC)和存储介质,OSC是OSD的核心。

OSD代表着网络存储的下一代磁盘驱动器。它是一种智能设备,包括处理器、RAM内存、网络接口、存储介质如磁盘等以及运行在其中的控制软件。它与传统的块存储设备的根本区别在于接口部分。传统的基于块的文件系统由两部分组成:用户相关部分和存储相关部分。在OSD构成的存储系统中,上层的用户相关部分不变,而下层的存储相关部分下移到OSD中,相应的设备接口也从基于块的接口变为基于对象的接口。这样,元数据服务器只负责把文件名等逻辑名称映射为对象ID,而对象ID与磁盘块的映射则在各OSD内完成。因此,各OSD完成90%的元数据管理。

OBS体系结构工作在TCP/IP网络下,客户机与OSC的交互的基本单位是iSCSI会话,而T10 OSD命令封装在iSCSI协议包中。随着网络互连速度的提升,iSCSI协议的解析需要更快的速度。OSC智能化的管理和复杂存储协议的解析大大增加了OSC的工作负载,因此内部处理器的处理能力、网络接口速度、磁盘接口速度也要相应提高,否则OSC将会成为OBS体系结构的瓶颈。同时,通过网络互连,OBS体系结构将实现PB级海量存储,具有可扩展性的OSC的重要性日益增加。

这些问题在很长一段时间内阻碍了OSC性能的提高。但是,随着大规模集成电路的发展,芯片性能突飞猛进,为设计功能更强的存储设备奠定了硬件基础,使实现一个高性能、智能化、安全性、可扩展性的OSC成为可能。本文介绍了一个基于Intel交换式芯片80314的网络存储系统的OSC的硬件设计,其中重点探讨了时钟电路的设计和如何通过仿真保证OSC电路的正确性。

2对象存储控制器硬件设计

2.1对象存储控制器硬件结构
OBS带来的一个明显好处是把存储空间分配交由OSC管理,OSC负责将对象ID转化为块ID实现数据的读写。由此可见,OSC主要处理网络端口的对象I/O请求,选择专用的I/O处理器可以提高I/O请求的处理速度;同时,OSC支持并行I/O,传统的I/O总线将阻碍OSC性能的提高。基于上述考虑,我们提出了一种基于交换式架构的OSC硬件设计,如图1所示。

图1 OSC的硬件框架

OSC以Intel 80314为核心,外接两个Intel 80200处理器、一个DDR插槽、两个PCI-X插槽、两个31244 SATA控制器、一个千兆物理层控制器和两个UART口,通过I2C总线外接EEPROM、温度感应器、风扇控制器和实时时钟控制器。同时,使用外部总线接口的片选信号外接一个Flash芯片和一个LCD液晶显示屏。外接JTAG接口用于系统调试,OSC中的EEPROM用来存放系统的配置信息,Flash用来存放系统的启动信息,LCD主要用于系统状态信息的回显。80314、80200和31244是OSC的核心芯片,它们的特点和功能主要如下:

(1)80314是Intel的一种I/O处理器,内部采用交换式架构,支持任意接口到其它接口的并行事务,用于解决传统I/O总线的瓶颈。①内置IntelXscale架构的核,支持一个或两个80200处理器,主频高达733MHz。②内部集成两个64位的PCI2X桥,支持可调频率33MHz/66MHz/100MHz/133MHz。OSC设计初期,为了简化设计,选择了SATA磁盘接口;OSC设计成熟以后,可以通过PCI2X插槽挂接FC适配器或其它适配器,而FC仲裁环结构可连结127个设备,从而实现OSC的可扩展性,达到PB级海量存储。③内置了双端口的MAC控制器,支持10/100/1000兆的带宽。④内置内存控制器,支持双端口的DDR,最大容量可达12GB,同时支持SDRAM后备电池。⑤内置1MB的SRAM,同时集成DMA控制器、中断控制器、外部总线接口和多种外设接口。

(2)80200是基于Intel Xscale架构的一种处理器,而Xscale核是采用ARM V5TE结构的处理器,是Intel公司的StrongARM的升级产品,它具有高性能、低功耗等特点。80200主频最高达733MHz,因此对于千兆以太网的数据处理、iSCSI的协议解析和OSC内部的文件系统开销等,80200不会成为瓶颈。

(3)31244控制器挂接在PCI-X总线上,支持四个串行的SATA接口,这四个SATA可以组成RAID,从而实现并行的、可靠的数据传输。

2.2 对象存储控制器的软件层次
基于OSC交换式架构和丰富的外部接口的硬件平台基础上,OSC的软件层次如图2所示。OSC的软件由实时操作系统和控制软件两部分组成。控制软件运行在实时操作系统之上,完成iSCSI和OSD的命令解析;而实时操作系统运行在基于交换式架构的OSC的硬件平台之上,通过OBS文件系统和相应的设备驱动程序实现对数据的读写。OBS文件系统和控制软件分别以模块的方式在核态下实现。OSC对外提供千兆的以太网接口,对内提供150MBps的SATA接口。OSC通过网络接口接收外界用户以iSCSI格式封装的基于对象的命令包,该包头通过80314芯片存储转发到DDR内存中,由80200处理器对其进行相应的解析和处理,将对象ID转化为块ID,经文件系统调用31244驱动程序,通过SATA接口对磁盘数据进行读写等操作,并将结果以iSCSI格式封装后返回给用户。

图2 OSC的软件层次

2.3对象存储控制器的时钟模块
OSC硬件设计包含以下模块:内存模块、处理器模块、PCI-X模块、以太网模块、PBI模块、其它外部接口模块、JTAG模块、时钟模块、ATX电源模块、电压转换模块、复位模块和板子复位电压监控器模块。OSC系统时钟速度的提高、时钟负载的加重和时钟电路的复杂性使得OSC时钟设计成为整个硬件系统的关键,良好的时钟信号可以保证系统其它信号的正确传输。这里着重介绍OSC时钟模块的硬件设计。OSC包括三个时钟源,分别为33MHz的主时钟源、37.5MHz的31244 SATA时钟源和25MHz的以太网时钟源。33MHz的时钟经过PLL缓冲和时钟倍频处理后,提供33MHz/66MHz/100MHz/133MHz的时钟供电路其它模块使用,形成OSC系统时钟树。如图3所示。

图3 OSC系统的时钟树

在OSC时钟设计中,时钟芯片的电源接入处加接一个容量为10μF滤波用的钽电容,防止由于电压波动引起的电流涌动,并抑制低频干扰。为消除高频干扰,在大容量电容并联一个0.01μF的小电容。在时钟芯片的每一个电源引脚处也都加接一个0.01μF的电容,所放的位置要尽可能地靠近电源引脚,以减少电源噪声。晶振、负载电容、PLL滤波器等应尽可能靠近时钟器件。在靠近时钟输出引脚的位置还要串接33.2Ohm电阻,以减小输出电流,提高时钟波形的质量。

3对象存储控制器硬件实现关键技术


OSC的数据传输涉及到复杂的总线协议,时序要求严格;而且,OSC中80%~90%的电路工作在50MHz以上,属于高速电路设计的范畴。综合考虑高速电路的信号完整性和传输线效应,OSC硬件实现应做到以下几点:

(1)OSC采用八层叠层设计:Signal1-GND1-Signal2-POWER1-POWER2-Signal3-GND2-Signal4,这种结构为系统所有信号线提供完整的回流路径,可保证电源的完整性。

(2)OSC中POWER2电源层为3.3V的独立电源层,而POWER1电源层则为多电源层。

(3)针对电路中的不同频率,分别在OSC各个芯片的供电电压附近放置不同数量、不同大小的去耦电容,从而减少线路噪声。

(4)所有的信号层需要60Ohm+/-10%的控制阻抗,依据微带线或带状线的阻抗公式,在线厚、介质常数和介质厚度确定的条件下相应调整信号线宽,达到所需阻抗控制。

(5)OSC某些信号线要通过源端串行端接和末端并行端接一定大小的电阻实现阻抗匹配。

(6)OSC电路中所有的信号线线宽为4mil~5mil,内部线间距最小为12mil,外部线间距最小为20mil;关键信号线最好走微带线;尽量减少过孔的数量;电源和地线线宽尽量加粗。

(7)OSC对各条信号线线长也有严格的要求,部分信号线要求等长、等间距走线。

(8)OSC的良好布局是:80314放在中间,80200、Flash和以太网物理层控制器放在80314的左右两侧,DDR插槽和PCI-X插槽分别放在80314上侧和下侧,31244放在80314和PCI-X插槽中间。

(9)80314芯片的数据地址控制信号线采用菊花链拓扑结构走线。

4 仿真验证


OSC具有复杂的总线协议、高频的总线传输和丰富的接口。为了保证正确的数据传输,OSC在硬件实现中综合考虑高速电路中出现的各种问题,包括阻抗匹配、电源完整性和串扰;同时,为了提高一次性制板的成功率,OSC结合Cadence公司的SPECCTRAQUEST仿真软件采用基于IBIS(I/O Buffer Information Specification,简称IBIS)的仿真模型进行上述问题的信号完整性仿真验证。OSC信号线众多,下面通过两条信号线的仿真波形,分别从阻抗匹配和元件布局验证波形的正确性。

时钟信号线XSA_MCLK驱动端为80314 U4E1 K38引脚,接收端为80200 U5G1 K17引脚,信号工作频率为100MHz,占空比为0.5,用pulse信号作触发。仿真波形如图4所示。图4b由于有了正确的外接匹配阻抗,接收端的信号在高电平及低电平的维持阶段比较平稳,信号上升/下降沿的切换时间也比较短,增加了信号的稳态时间。相比之下,图4a的信号质量就大不如图4b。这是由于外接阻抗不匹配,使得信号存在很大的反射噪声、过冲和下冲等问题,电平切换有很大的延迟,而且在高电平及低电平的维持阶段,信号不平稳,上升/下降沿的切换时间很长。通过仿真结果表明,选用60欧姆源端串行端接电阻,实现了阻抗匹配,有效地抑制了过冲、下冲等信号完整性问题。

图4 XSA_MCLK仿真波形

数据地址线HLP_AD0驱动端为80314 U4E1 K36引脚,接收端分别为Flash U4H1 C7引脚、74LVTH273MTCU0.3引脚和74LVTH273MTCU1.3引脚,信号工作频率为33MHz,占空比为0.5,用pulse信号作触发。拓扑结构和仿真波形如图5所示。

依据80314的走线规则要求,HLP_AD0信号线采用菊花链拓扑结构。当采用图5a的拓扑结构时,相应的仿真波形如图5b所示,波形明显存在以下几个问题:(1)上升沿及下降沿存在非线性;(2)波形存在一定的过冲和下冲;(3)波形存在振荡。

经分析可知,U0和U1两个元件的放置不合理。OSC的U0和U1是用来控制LCD的,U0和U1靠近LCD放置,LCD插槽放置在板子的左上角,而U4E1放置在板子的中间。这样,UO和U1偏离U4E1过远,使得U4E1到U0和U1的走线长度急剧拉长,HLP_ADO信号线的驱动能力下降,导致波形达不到设计的要求。为此,将U0和U1放置在U4E1和U4H1的中间,拓扑结构如图5c所示,相应的仿真波形如图5d所示。显然,图5d比图5b具有较好的信号完整性,上升沿及下降沿基本保持线性,过冲和下冲基本消除,振荡现象不明显。

图5 HLP_AD0拓扑结构和相应的仿真波形

5结束语


本文在介绍OBS基本理论和结构的基础之上,提出了一种基于交换式架构的OSC的硬件设计,包括OSC的硬件框架、基于OSC硬件框架的底层软件和OSC的时钟模块,介绍了OSC硬件实现的关键技术,并探讨了通过信号完整性仿真保证OSC电路的正确性。该OSC具有高性能、智能化、安全和可扩展的特点,非常适合于OBS体系结构。

相关推荐

Bogatin发布最后一期信号完整性课程

Bogatin  力科  信号完整性  2013-07-26

LeCroy携手Bogatin

LeCroy  信号完整性  2011-07-15

LeCroy携手Bogatin

LeCroy  信号完整性  2011-07-15

高速PCB中电源完整性的设计

电源完整性  PI  2011-06-02

基于Cadence的高速PCB设计

高速PCB  信号完整性  2011-05-31

常用信号完整性的测试手段和在设计的应用

信号完整性  测试  2011-05-23
在线研讨会
焦点