APP下载

高速大容量数据记录系统设计与实现

2015-05-03杨先博杜智远余卫国

遥测遥控 2015年4期
关键词:收发器应用层硬盘

朱 颖,杨先博,杜智远,余卫国

(1北京遥测技术研究所 北京 100076 2中国人民解放军92493部队 葫芦岛 125001)

前言

以某雷达侦收系统为例,其瞬时信号带宽达到1.2GHz,要求单台记录设备的连续存储速率为12Gb/s。现有的记录设备很难满足这样的要求,主要原因如下:①传统的基于PCI总线和PCIX总线的记录设备无法达到这么高的传输带宽;②固态硬盘因其高读写速率和稳定的工作性能已经逐渐取代机械硬盘作为军用存储系统的首选,但我所及其他院、所[4,5]之前使用IDE-SATA转接芯片替代SATA(Serial Advanced Technology Attachment)控制器研发的存储系统因转换芯片效率低下,浪费了大部分存储带宽;③传统并行传输总线传输速率低且误码率高,它已经不能适用于高速记录设备。

本文记录设备采用高速差分串行总线实现高速数据传输,采用自研的SATA2.0硬盘控制器实现固态硬盘高速读写,嵌入式文件系统及RAID(Redundant Arrays of Independent Disks)盘阵管理策略保证了数据的易读取性和安全性。经过测试,该记录设备无论在数据传输带宽、存储带宽还是存储容量上都超越了以往传统的地面数据记录设备。

1 系统主要技术指标及框架

本文记录设备的系统结构如图1所示。

记录设备采用高速差分串行总线与高速数据采集设备进行连接,通过串行总线完成数据接收和回放的功能。记录设备内部采用高速数据缓冲分发策略实现数据缓存,并支持RAID硬盘阵列管理。设备内部集成15个自研的SATA2.0硬盘控制器,可控制最多15块硬盘组成的硬盘阵列。此外,系统采用FPGA内嵌CPU软核实现自研的嵌入式文件系统。以上功能都是由一片Altera FPGA芯片实现的,这使得系统具有较高的集成度和可移植性。

图1 高速数据记录设备系统结构Fig.1 High-speed data recorder system structure

2 系统设计关键技术

2.1 高速收发器传输控制技术

本设计中采用Altera公司Stratix IV系列FPGA EP4SGX180,该款FPGA共集成24对高速收发器[6]。外部数据接收和发送采用4对高速差分串行总线,对应接入FPGA中4个高速收发器模块。本设计采用自定义的简单协议传输高速并行数据,降低了实现难度。

本设计外部数据接收和发送并行端数据总线位宽为128bit,将其平均分配给4个高速收发器进行传输,每个收发器并行端数据位宽为32bit。单个收发器串行端速率设置为4Gb/s。本设计中采用自定义传输协议,在收发器的协议设置上选择basic模式。为了保证数据可靠传输,同时也为了实现自定义协议,选择8b/10b编解码传输。自定义协议设计原理如图2所示。

组织体系不是组织结构,其实是组织能力平台,比如像华为的人力资源体系、IPD、I S体系等。为什么不叫组织结构而叫管理体系平台呢?因为战略运营体系、干部管理体系、审计体系、IPD研发体系、CRM客户关系管理体系、ISC供应链体系,等等,这些体系形成了一个组织的营盘,形成了一个依靠人但是不会过于依赖人的组织营盘。

图2 高速数据传输自定义协议原理Fig.2 High-speed data transceiver custom protocol principle

本设计利用高速串行总线收发的内容包括固定帧长的128位并行数据(data)和数据使能信号(data_valid)。为了准确传递并恢复使能信号,在数据发送端将无效数据区填充为收发器IP核中设置的队列样本字(word alignment pattern)K28.5(BCh)。在数据发送端通过发送控制使能信号(tx_ctrlenable)标识有效数据,在数据接收端通过接收控制检测信号(rx_ctrldetect)恢复出数据使能信号。

2.2 高速数据缓冲及RAID管理技术

本设计数据存储基于高速硬盘阵列,硬盘读写速率并非一成不变,在读写过程中存在速率的波峰波谷。当多个硬盘组成阵列时,这种速率不均衡的现象会更加明显,甚至会出现硬盘阵列整体读写速率突降的情况。为了平滑硬盘阵列的速率突变,本设计采用4组DDR3芯片作为高速数据缓冲区。其中两组作为记录过程数据缓冲,两组作为回放过程数据缓冲,均采用乒乓读写策略。

本设计硬盘阵列中包含15块硬盘,一旦有硬盘发生故障将会导致整个存储数据的丢失。为提高整个硬盘阵列的可靠性,本设计采用基于双硬盘冗余的RAID阵列管理技术,可在阵列硬盘损坏的情况下将数据恢复出来,其原理如图3所示。

图3 RAID数据管理模块结构Fig.3 RAID module structure

在记录数据时,前端记录数据包写入RAID模块,先经过冗余数据生成模块生成RAID条带和冗余信息,经过RAID写缓冲后,进入盘阵进行存储。

在回放数据时,数据首先回放至RAID读缓冲区。如果硬盘阵列工作正常,则直接将RAID读缓冲的数据回放出去。如果硬盘阵列中有硬盘发生故障,存在盘阵降级,那么将其余健康盘的数据连同RAID冗余数据送入数据恢复校验模块,恢复出原始数据进行回放。

待故障硬盘恢复或者更换新硬盘后,可以将故障盘丢失的数据恢复出来,通过RAID写缓冲写入原硬盘或替换硬盘中,完成数据重建。

本设计RAID模式支持RAID5和RAID6两种。如果采用RAID5模式,允许一块硬盘失效;如果采用RAID6模式,允许两块硬盘失效。

2.3 SATA2.0硬盘控制器技术

为了提高数据存储带宽及硬盘读写效率,本设计采用自研的SATA主机端控制器,其控制、数据流结构如图4所示。

图4 SATA硬盘控制器控制及数据结构Fig.4 SATA adapter control and data structure

该控制器实现SATA协议传输层、链路层、物理层和应用层功能,目前能够支持到SATA2.0版本[7],读写速率最高支持3Gb/s。本设计硬盘阵列控制采用一个控制器对应一个硬盘的模式,同时采用FPGA嵌入式软核NiosII完成盘阵读写控制及嵌入式文件系统功能,具有集成度高、可扩展性好的优点。

2.3.1 SATA控制器物理层设计

本设计利用Altera FPGA集成的高速收发器实现SATA协议物理层要求的串并转换、8b/10b编码、串行数据发送和接收功能。物理层设计的结构如图5所示。

图5 SATA物理层设计结构Fig.5 SATA physical layer design

图5中高速收发器主要实现信号串并转换、发送、接收以及8b/10b编码功能。时钟管理模块主要提供收发器参考时钟和各模块控制时钟,并根据协商结果进行时钟频率调节。速率协商模块实现SATA速率协商功能,链路初始化状态机实现SATA协议要求的链路初始化及速率协商控制功能。

2.3.2 SATA控制器链路层设计

SATA控制器链路层主要负责发送、接收命令帧和数据帧。当接收到传输层的数据时,链路层计算数据的CRC校验,进行编码、扰码,在帧数据中添加帧头、帧尾和校验等信息,并将信息帧发送到物理层,同时上报发送成功或错误信息;当接收到物理层的数据时,链路层移除帧头、帧尾和校验等信息,对数据进行解码、解扰、计算CRC,对比CRC的准确性,并将信息帧发送到传输层,同时上报发送成功或错误信息。链路层并不关心命令帧和数据帧的具体内容。链路层设计结构如图6所示。

图6 SATA链路层设计结构Fig.6 SATA link layer design

2.3.3 SATA控制器传输层设计

SATA控制器的传输层主要负责组建命令和数据FIS(Frame Information Structure),它根据应用层发出的命令和参数产生不同类型的FIS传送给链路层,同时提取出链路层上传命令帧的有用信息,更新应用层映射寄存器或ATA寄存器的内容。传输层设计结构如图7所示。

图7 SATA传输层设计结构Fig.7 SATA transport layer design

2.3.4 SATA控制器应用层设计

SATA应用层负责解析所有ATA命令,并根据解析结果执行相应的操作。该层直接面对控制用户,用户通过读写寄存器等简单操作就可以对硬盘执行读写控制。在本设计中控制用户是FPGA嵌入式CPU软核NiosII,所以将应用层的映射寄存器接口设计为Avalon总线接口。SATA应用层设计结构如图8所示。

图8 SATA应用层设计结构Fig.8 SATA application layer design

其中应用层控制状态机完成应用层逻辑控制功能,寄存器列表模块完成映射寄存器和硬盘ATA寄存器的实现和约束,Avalon总线接口模块完成控制用户NiosII与寄存器列表之间的接口逻辑控制。

2.4 嵌入式文件系统

由于本设计是完全基于嵌入式系统开发的高集成度存储系统,所以在文件系统的选择上采用FPGA嵌入式CPU软核实现的嵌入式文件系统。该文件系统的特点有:①采用链式结构存储数据,支持数据文件的随机存取;②在管理文件系统的同时实现RAID控制管理,方便实现RAID降级及重建等功能;③支持异常掉电文件保护和误删除文件恢复等文件保护功能;④占用内存少,非常适合便携式等嵌入式系统的需求。

该文件系统的设计详见参考文献[8],此处不再赘述。

3 系统性能测试

3.1 高速数据传输能力测试

对系统高速数据传输能力进行比较测试,单通道数据传输达到5Gb/s。结果表明,自定义高速收发器传输协议不仅设计简单,易于实现,而且传输效率较高。

3.2 SATA硬盘控制器读写速率测试

在SATA硬盘控制器的测试过程中,选取美光、浦科特、建兴、东芝等厂商的机械硬盘和固态硬盘进行测试,测试结果如表1所示。

表1 硬盘控制器性能测试Table1 Hard disk controller performance test

除东芝500GB是机械盘之外,其他硬盘都为固态盘。由表1可见,固态盘的读写速率都达到了200MB/s以上。

3.3 系统性能测试

本文系统最多支持15块硬盘组成硬盘阵列,RAID管理模式可设置为RAID5和RAID6两种。如果使用单盘512GB的硬盘,RAID5管理,则存储容量为7TB。随着选用硬盘单盘容量的增加,系统的整体存储容量还有很大的提升空间。

根据应用需求,本文系统的应用存储带宽为12Gb/s,实测存储带宽亦在12Gb/s以上。

4 结束语

本文给出一款高速大容量数据记录设备的设计和实现。经测试,该系统存储带宽可达12Gb/s以上,存储容量在7TB以上。随着航天测控大数据时代的到来,高速大容量数据存储系统的应用将会越来越广泛。

[1]黄善勇.超宽带雷达数字侦收中高速数据存储与传输实现方法研究[D].成都:电子科技大学硕士论文,2011.Huang Shanyong.Research of High-speed Data Storage and Transmission Realization Method in Ultra-wideband Radar Digital Reconnaissance[D].Cheng Du:Master Thesis University of Electronic Science and Technology of China,2011.

[2]梁正亮.深空探测应用中的高速数据存储技术研究[D].西安:西安电子科技大学硕士论文,2012.Liang Zhengliang.High Speed Data Storage Technology Research in the Application of Deep Space Exploration[D].Xi'an:Master Thesis XiDian University,2012.

[3]林钱强,唐鹏飞,陈曾平.宽带雷达中频直接采样与高速存储系统设计与实现[J].雷达学报,2012,1(3):283~290.Lin Qianqiang,Tang Pengfei,Chen Zengping.Design and Implementation of Direct IF Sampling and High-speed Storage System forWideband Radar[J].Journal of Radars,2012,1(3):283 ~290.

[4]孙海波,王晓斌,李雅梅.基于SATA接口固态硬盘的高速存储系统设计[J].遥测遥控,2014,35(2):48~52.Sun Haibo,Wang Xiaobin,Li Yamei.Design of High-speed Storage System Based on SATA Interface Solid State Hard Disk[J].Journal of Telemetry,Tracking and Command,2014,35(2):48 ~52.

[5]张志炜,吕幼新.基于SATA硬盘和FPGA的高速数据采集存储系统[J].电子设计工程,2011,19(21):166~169.Zhang Zhiwei,Lü Youxin.High Speed Data Acquisition and Storage System Based on SATA Hard Disk and FPGA[J].Electronic Design Engineering,2011,19(21):166 ~169.

[6]Altera Corporation.Stratix IV Device Handbook:Volume 1[M].SIV5V1-4.1.California of America:Altera Corporation,2010.

[7]Serial ATA International Organization.Serial ATA International Organization:Serial ATA Revision 3.0[S].Oregon of America:Serial ATA International Organization,2009.

[8]苏 丽,朱 颖,余卫国,杨先博.一种嵌入式文件系统的设计与实现[J].遥测遥控,2010,31(4):50~55.Su Li,Zhu Ying,Yu Weiguo,Yang Xianbo.Design and Realization of an Embedded File System[J].Journal of Telemetry,Tracking and Command,2010,31(4):50 ~55.

猜你喜欢

收发器应用层硬盘
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
光纤收发器故障排除经验谈
服务器更换硬盘后的同步问题
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
基于分级保护的OA系统应用层访问控制研究
物联网技术在信息机房制冷系统中的应用
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
光纤收发器常见故障原因