基于emmc flash的一种高性能记录设备
新的挑战
在军工及民用通信中,需要对海量数据进行存储,来实现功能和性能测试。随着实际应用中数据带宽越来越高,对存储带宽的需求也水涨船高,并且对存储设备的误码率,成本等提出更高的要求。同时还要求存储设备的便携、能够独立工作。以上总总需求,导致存储设备的设计难度越来越大。由于传统应用的flash芯片不存在自校验功能,并且后期维护难度大,成本较高,很难再满足目前的需要,需要我们在存储方向需要创新。
emmc【embedded multi media card】芯片让我们看到了曙光,该芯片的推出主要是针对手机或平板电脑等产品应用。芯片采用mlc存储类型,集成了crc校验功能,成本低廉。emmc推出时间较短,采用jedec标准协议,芯片集成度高,采用bga封装方式,抗震性好,有较大应用前景。基于emmc的以上特点,完全可以将emmc芯片应用在海量存储方向,来满足以上需求。
凯发娱乐登录的解决方案
为解决上述技术问题,可以采取fpga + emmc阵列 + 嵌入式系统的架构实现,并且设备中可以集成网口、串口、光纤等多种通信接口来实现存储设备和其他外部系统通信。
emmc的单片存储容量高达64gb,不过距离海量存储仍然有巨大的差距,我们考虑将多片emmc芯片组成存储阵列,扩展数据存储位宽和存储深度。另外考虑到要记录的数据源的瞬时带宽可能会很大,超出emmc存储阵列的存储带宽,为保证数据的无误存储,需要增加内存芯片sdram来进行数据缓冲。
为了方便客户的使用,在设备外壳上增加电子显示屏实时监测记录设备的工作状态;增加拨码开关,内部嵌入式系统会根据开关状态执行相应的操作。
下图为此方案设计框图:
.jpg)
具体实施措施
该设备采用16片emmc并行存储,数据位宽128bit,存储容量为512g,平均存储速度能够达到400mb/s以上。设备上电后,fpga控制emmc进行初始化,使emmc处于ready状态;然后根据不同的外部命令,进行读、写、擦除功能选择,完成之后回到ready状态。第二代产品采用多个emmc芯片做成一个芯片组,多个芯片组组成emmc阵列。工作时芯片组内emmc并行同步操作,芯片组之间采用流水方式操作,届时将大大提高存储带宽。
sdram存储器用来平衡外部数据接口和emmc的数据速率,由于sdram存储器不能同时读写,采用两组通过乒乓方式来实现,一组写的时候另一组读。fpga在接收到记录结束命令之后,为了避免部分数据仍然存储在sdram内,造成记录数据不完整,需要做扩展设计,将sdram内剩余的数据全部记录到emmc之后才能相应记录结束命令。
嵌入式系统通过pci/pcie接口和fpga相连,完成指令控制及数据传输。嵌入式系统可以指定emmc的操作方式及操作地址,通过显示屏实时显示记录设备工作状态。在完全脱离上位机的情况下可实现数据的自动记录,实现不同数据源的选择。连接上位机之后可以实现数据的记录、转储、回放、擦除等功能。
fpga主要对pci/pcie的命令进行解析,实现对所有接口设备的控制,数据记录、回放、擦除等操作过程中及结束后,会给嵌入式系统发送不同的中断信号,使嵌入式系统能够获取emmc的当前状态,以便实现工作模式的切换。
每完成一次数据记录,将记录信息存储到flash中,便于文件管理,emmc记满之后会自动停止记录。emmc操作中可以进行地址跳转,可以对任意地址进行记录、擦除、转储。
数据记录功能
系统初始化完成之后,首先通过嵌入式系统对数据源(lvds、网口、光纤)进行选择,并检索flash中的存储的记录信息,设定emmc阵列数据存储的起始地址。然后fpga根据以上命令接收相应数据源的数据,并经过sdram对数据进行缓冲,最终存储到emmc存储阵列中。存储过程中,按照设定的文件大小产生数据存储信息,并更新flash的存储信息。
数据转储功能
记录设备存储的数据要进行后期分析或者做数据回放,都需要对对设备进行转储操作。
数据转储功能需要将该系统通过网口和pc机互联。系统初始化完成之后,通过网口将flash存储的记录信息上传pc机,pc机选择要读取的数据文件进行读取,读取的数据流经过sdram缓冲之后,最终通过网口存储到pc机硬盘或者通光纤、lvds接口传输到外部系统。
数据擦除功能
数据擦除是将emmc内存储的数据全部或者部分清除掉,并且对flash中存储的相应的记录信息进行清除。数据擦除可以通过两种方式实现:一种是记录设备外壳拨码开关对emmc存储的所有数据进行擦除;另一种是pc机控制网口对全部数据或者部分数据进行擦除。
.jpg)
凯发娱乐登录的产品展示
参数 |
指标 |
存储容量 |
512g |
重量 |
1.2kg |
记录带宽 |
450mb/s |
转储带宽 |
500mb/s |
.jpg)