- 收藏
- 加入书签
高密度存储服务器可靠性设计与实现
摘要:高密度存储服务器被人们广泛的应用在救灾监测、地质测绘、战场监视、军事勘察等领域,在使用次数增多的情况下,磁盘的容量已经达到TB级,每GB数据存储成本较高。同时,磁盘使用盘片作为存储介质,使用马达和磁头的运转来读取数据,在使用的过程中会出现零部件损耗大的问题。为此,文章结合高密度存储服务器应用实际情况,就该服务器的软硬件设计和PCIe接口控制器设计应用进行探究。
关键词:高密度存储服务器;硬件;NAND Flash;PCIe接口控制器
一、高密度存储服务器在国内外的发展情况
(一)国外发展情况
国外对大容量数据存储技术的研究比较早,伴随新的存储介质的推出,数据存储介质使用经历了从磁盘、光盘再到现在固态存储器的发展转变。固态存储器的类型也在不断增多。存储器在使用的时候不仅存储密度越来越高,而且信息的存储速度也呈现出越来越快的发展状态。
(二)国内发展情况
国内对大容量存储系统的研究处于一种落后的状态,基本体现在大容量存储系统级的开发。伴随国内对大容量存储系统需求的增加,有很多科研单位实现了长足的进步发展,在期间研制出了基于不同介质的大容量高速度数据存储系统。
(三)发展趋势
第一,存储介质。高密度存储服务器芯片集成度越来越高,有一些公司相继研发了单片容量512Gbit存储芯片,芯片的长宽为18mm和12mm。NAND Flash被广泛应用到大容量数据存储系统中,在长期应用发展的过程中衍生出了下一代存储器,即相变存储器。相片存储器在多芯片的集中利用下集成了1Gb PCM,由此使得数据信息的存储密度、读写速度不断加快。第二,体系结构。考虑到系统设计的可重构、可拓展性,越来越多的大容量数据存储系统开始实现标准化设计。第三,可靠性措施和数据信息的高效率管理。受固态存储期间本身物理属性的影响,数据信息在存储的过程中容易出现一些错误,为了能够规避这个错误,需要在其中加入一定的措施来保证数据信息的安全性、稳定性、可靠性。常用的措施和技术形式包含数据校验纠正技术、自适应故障技术、隔离技术。
二、高密度存储服务器系统的硬件设计
(一)设计需求
高密度存储服务器系统内部各硬件板卡连接关系如图一所示。根据图一我们发现,AD-DDC板主要负责数据信息的收集整理以及收集整理后的数字化处理,在对数据信息处理之后会通过光纤接口将数据发送到数据分发板,数据分发板会将收到的数据信息借助RocketIO接口传送到两块信号处理板上。数据分发板、信号处理板、存储板会通过PCIe接口来和单板计算机连接在一起。
从数据信息的连接关系以及数据基本流向可以总结出,高密度存储服务器系统存储板在使用时所需要具备的功能如下:第一,记录功能。高密度存储服务器系统运作功能是指通过RocketIO接口将收到的原始性数据信息实时性的存储和记录下来。为了能够方便后续的数据查看和回收使用,不同批次记录的数据信息会被存储在不同的文件中,之后在有需要的时候直观的展现出数据信息。第二, 回放功能。在RocketIO接口的作用下会将存储板保留的数据信息回放给数据分发板,在这个期间会选择不同的数据文件资料来进行回放。第三,导入功能。单板计算机借助PCIe接口来将数据文件信息写入到指定的存储板中,在这个过程中不同批次导入数据信息会被存储到不同的文件信息中,并能够根据需要直观化的显示这些数据信息。第四,导出功能。单板计算机会通过PCIe接口从存储板读出之前录入的数据文件信息。
(二)存储介质的选型
存储介质为固态存储器件,主要是DRAM,后来伴随半导体技术的发展,Flash memory以其存储密度高、功耗大、数据使用价格低廉的特点被人们关注,并被人们广泛的引入到大容量固态数据存储系统中。
(三)主控芯片的选型
主控芯片是板卡的核心控制器,在使用的时候具有阵列控制、数据收发、通信管理等功能。主控芯片在进行选型的时候需要综合考虑以下几个方面的因素:第一,可编程性。在具体实施操作的时候,NAND Flash阵列的组织形式和工作方式自行定义。第二,可用IO数量。NAND Flash阵列需要连接到主要控制芯片上的信号线有204根,电平的标准为1.8V。与此同时,在运作的时候还需要使用3.3V的标准信号线用来连接主控芯片。第三,片内缓存大小。存储板上用来传输数据信息的接口包含RocketIO接口和PCIe接口。结合存储阵列的结构和运作方式,每次写入和读出的数据量为128KB。
结合系统的基本构造,主控芯片选择FPGA可编程芯片,和复杂一点的可编程逻辑器件相比,FPGA寄存器资源丰富,十分适合应用在同步时序较多的数字系统中。
(四)电源设计
第一,板卡功耗的估计。①NAND Flash功耗估计。Flash芯片能够在异步模式下工作,在具体实施操作的时候不需要使用DQS信号,因此,在使用的时候能够减少存储板的功能损耗。②FPGA功耗估计。在硬件系统中着重考虑FPGA的IO功耗,即将IO看做是输出,按照最大功耗的方式来对其进行设计。第二,电源分配网络设计。选取的电源模块有PIH05010、PTH05050、TPS70302。PTH05010输入电压为5V,输出电压为0.8V到3.6V,输出最大电流为15A。TPS70302能够实现双通道电压转换应用,通道1输出的最大电流为1A,通道2输出的最大电流为2A。PTH05050输入电压5V,输出电压在0.8V到3.6V之间。电源分配网络设计如图二所示。
(五)高速接口设计
按照协议的基本要求,CTP收发器数据传输速率为每秒2.5Gb,由此决定了GTP-DUAL在设计的时候要选择100MHz。按照数据手册的要求,每个参考时钟能够驱动GTP-DUAL上方、下方不超过三个其他GTP-DUAL。另外,在设计中还需要充分考虑时钟和信号的耦合方式,选择交流耦合或者直流耦合的方式来进行电路的设计。为了能够更好的防范板件通信的过冲问题,最终选择交流耦合的设计方式。
三、PCIe接口控制器的设计
(一)总线概述
PCIe总线是第三代I/O互联标准,这项总线设计和传统意义上的PCI总线设计相比呈现出以下几个方面的应用优点:采用点对点的互通互联设计形式,设备具有独享数据通道,在具体运作的时候能够组合形成多个链路模式,信息传输速率比较高。
1、基于PCIe总线系统拓扑结构
在一个PCIe链路需要挂接多个EP的时候,则是需要使用Switch开展链路拓展。在实际应用的时候,一个标准Switch会出现一个上下游的端口,上游端口和RC或者其他Switch上游端口连接在一起。在具体实施操作的时候,Switch内部包含多个PCI-to-PCI桥构成,每一个上下游的端口都会对应一个虚拟的PCI桥。EP是挂接在PCIe总线上的功能设备,经常会被人们应用到系统控制领域。
2、PCIe总线层次结构
PCIe总线在设计的时候会使用串行连接方式,并在具体实施的时候使用数据包来进行数据传输。通过这样的传输方式能够去除在PCI总线上的控制信号在PCIe总线中,所有数据报文的收发都会经过多个层次,包含事务层、数据链路层、物理层。事务层定义了PCIe总线使用的总线事务,在这个过程中多数总线事务会和PCI融合在一起,这些总线事务能够通过Switch设备传输到PCIe设备或者RC上。数据链路层在运作时候能够确保发送端的事务层报文安全、稳定的传送到接收端的数据链路层上。数据链路层的存在会保证来自发送端事务层的报文能够安全的传输到接收端的数据链路层上。
3、端点内存和中断模块设计
端口内存包含双口RAM,一块用来做控制器的BAR存储空间,另外一个开展BMD数据信息的传输和存储。这两个模块具有独立的时钟系统,每个系统会具备完整的读写控制信号。
(二)集成端点硬核
FPGA集成实现了PCIe协议一个集成端点硬核,整个系统硬核在使用的时候能够支持PCIe.0的协议,最高能够支持x8的工作模式。整个模式集成了PCIe协议中的事务层、数据链路层、物理层。系统接口牵扯到了低有效的复位信号、系统参数,接口信号由通道组织的收发差分信号共同组成,每个通道包含一对差分的发送信号和接收信号。
(三)用户层逻辑设计
存储板通过PCIe接口来接收上位机的控制命令,了解上位机发送卡状态。同时,还能够接收上位机发送的大量的数据,将数据整理之后传输到上位机上。上位机向下存储板下发控制命令或者会向上位机上传板卡提供信息。
四、NAND Flash阵列控制器的设计
NAND Flash接口简单,数据和地址共同使用一条总线,但是其操作时序是十分复杂的。想要实现NAND Flash阵列的高速度运作,需要设计出专门的NAND Flash控制器,并对外提供简单的接口设定方式。
(一)总体设计
NAND Flash阵列控制器在运作的时候能够产生固定的时序,在具体使用的时候具备以下的功能:①支持Open NAND FLASH Interface规范。②支持8GB到31GB容量的主流NAND Flash。③支持1-4个CE片选信号的NAND Flash。④支持2KByte、4KByte等页大小。
(二)NAND Flash阵列控制器的结构设计
NAND Flash阵列控制器结构和连接关系如图三所示。第一,主要控制逻辑。对外提供简单的操作接口,通过简单的命令来完成读写、编辑操作。在实施高速度读写操作的时候要能够自动跳过坏块。第二,ECC模块、ECC校正码的生、读取、存储、差错等操作会采取明码的形式。第三,缓存。缓存能够有效解决输入输出数据和NAND Flash读写速率不匹配的问题。文章系统设计所输入的数据位宽是32bit,NAND Flash阵列在实施的时候能够对八片Flash同时操作。主要控制逻辑、两个缓存和ECC模块呈现的是一种独立的关系,ECC模块和其他三个模块的阵列相区分,主控逻辑的所有命令都会通过ECC模块来传递到NAND Flash芯片上。在ECC不工作的时候,主控逻辑会和NAND Flash阵列直接联系在一起。第四,时钟控制。在具体计算分析的时候为了能够确保数据信息的精准性,读写信号的有效时间会相应的增加5ns,在这个期间如果使用1:1占空比来开展读写操作,时钟周期至少需要30ns,最终会影响Flash阵列的读写速度。因此,在确保读写正确的情况下为了能够提升读写速度,需要使用周期为24.9ns,占空比为1:2的时钟。在这样的状态下,低电平的持续时间一般在为16.6ns,在10ns数据被确定读写之后仍然会剩下6.6ns的余量。在这个期间高电平会存在8.3ns的时间,这些时间既能够保证数据信息的正确读写,又能够充分发挥出器件的使用性能。
结束语
综上所述,高密度存储服务器是现代电子领域的重要组成,在时代的进步发展下,其被广泛的应用到雷达、工业自动化、医疗卫生、通信服务等行业中。文章基于项目需求设计出了基于NAND Flash的高密度高速度存储系统,整个系统在打造之后具有了数据的回放、导入、导出功能,数据存储容量为768GB,实时性的写入速度为每秒294MB/s。通过PCIe接口数据上传速率达到了每秒189MB,数据信息的下载速率为每秒145MB。在将设计好的服务器应用到数据存储任务中能够充分验证各个功能均能够稳定运作。
【参考文献】
[1] 田洪元. 高密度存储服务器可靠性设计和实现方法研究[D]. 中国科学院大学(中国科学院工程管理与信息技术学院), 2017.
[2] 沙超群, 任雪玉, 胡长军,等. 高密度存储服务器高速链路设计与仿真[J]. 国防科技大学学报, 2015, 37(1):8.

京公网安备 11011302003690号