CN102214482B - 高速大容量固态电子记录器 - Google Patents
高速大容量固态电子记录器 Download PDFInfo
- Publication number
- CN102214482B CN102214482B CN 201010143077 CN201010143077A CN102214482B CN 102214482 B CN102214482 B CN 102214482B CN 201010143077 CN201010143077 CN 201010143077 CN 201010143077 A CN201010143077 A CN 201010143077A CN 102214482 B CN102214482 B CN 102214482B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- sdram
- memory
- nandflash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种高速大容量固态电子记录器,涉及数据记录器技术,其存储模块用NandFlash芯片作存储介质。存储模块将NandFlash芯片阵列以并行和串行扩展相结合的方式组合起来,通过并行扩展提高存储速率,通过串行扩展提高存储容量;FPGA完成NandFlash芯片阵列管理;数据分发模块接收并缓存外界输入数据,在存储模块处于空闲时,将数据组包后传输给存储模块;控制模块受控于上位机,它控制数据分发模块和存储模块,共同完成记录器的全部功能;底板模块实现各模块的电气和机械连接,用来传输电源、命令和数据。本发明体系结构合理,使得记录器整体性能得到了大幅提高:记录速度达到GB/s量级,容量达到TB量级。
Description
技术领域
本发明涉及数据记录器技术领域,特别涉及合成孔径雷达(SAR)、红外、可见光CCD相机、高光谱仪等的原始数据记录器。
背景技术
数据记录器是合成孔径雷达(Synthetic Aperture Radar,SAR)***的一个重要组成部分。它记录SAR的原始数据和辅助数据(飞参、SAR的状态、控制等信息)。等SAR停止工作时,将数据记录器的数据回放到通用计算机中,以便地面成像处理中心对它们进行精确成像处理,获取高质量的SAR图像。数据记录器除了应用到SAR***外,还广泛应用于红外、可见光CCD相机、高光谱仪等原始数据记录,高能物理和自动测试设备中,起到了非常重要的作用。以SAR为例,说明随着技术的发展对数据记录器提出的要求。
衡量SAR的几个重要指标是分辨率和测绘带宽等。这两个指标的提高,意味着需要记录的SAR原始数据量成倍增加。所以就SAR这种典型的有效载荷而言,为了满足它日新月异的发展,对原始数据记录器提出了非常严格的要求:
●记录速率:持续记录速率达到300MB/s以上;
●记录容量:达到TB量级;
●在环境适应性方面,能够满足GJB150-1986的要求。
目前主流的数据存储设备使用SCSI磁盘作为存储介质,其工作原理框图如图1所示。外界的高速数据流进入记录器后首先被缓存下来,保证记录器内外数据传输速度的匹配,为内部数据记录作准备。缓存一般使用FIFO实现,FIFO的输入端对应外界输入的数据流,在数据记录时,外界源源不断将数据写入大容量FIFO中;FIFO的输出端由内部控制器控制,在各个磁盘空闲的情况下,数据分发模块将FIFO中的数据读出来,分发到各个数据记录通道中。之所以采用多个通道,主要是考虑到单个磁盘的记录速度是有限的,为了提高整个记录器的记录速度,将多个磁盘并列起来,作为一个磁盘阵,那样就能够极大地提高记录器的记录速度。每个通道主要由SCSI磁盘控制器和SCSI磁盘两个部分组成。SCSI磁盘控制器接收到数据分发模块发过来的数据后,将数据打包,然口按照一定的格式输入到专门的SCSI协议转换器中(常用的芯片有FAS466),实现通用的数据格式到SCSI协议的转换。转换后的数据流输入到SCSI磁盘中,按照一定的顺序写入到磁盘。整个记录器在核心微控制器的控制下,完成记录器的各种功能。另外,记录器作为一个***的部件,它与***主控之间通过串行接口实现通信和控制。
基于SCSI磁盘的记录器通过并行扩展SCSI磁盘极大地提高了记录容量和记录速率。按照图1所示的结构,只要空间和功耗允许,这种记录器能够将记录容量提高到TB量级,记录速率达到GB/s。这种结构能够得到广泛应用的另一个重要原因是开发难度相对简单,成本低廉。不过基于SCSI磁盘的数据记录器也存在一些缺点:
1)抗振动性能差;
2)功耗大;
3)工作温度范围比较窄。
自20世纪90年代以来各航天大国开始研制固态记录器(Solid StateRecorder,简称SSR)。由于SSR使用半导体存储芯片作为存储介质,所以其存储密度高、无转动部件、可靠性高、体积小、重量轻,因而逐渐成为空间飞行器中数据记录器的主流方案。
SSR应用于SAR***还是2005年以后的事情。随着单片半导体存储芯片的容量增加,成本下降,SSR作为SAR原始数据记录器逐渐成为现实。另外,SSR克服了磁盘记录器的缺点也是其得到重视的重要原因。
半导体存储器件的种类有许多,常见的有DRAM,SRAM,闪存,EPROM和EEPROM等。目前比较实用的存储介质为DRAM和闪存。DRAM的单片容量大,存取速率高,但是需要定时刷新,掉电数据丢失,以及与其他芯片相比较功耗较大等。SSR研究早期,以DRAM为主的大容量固态记录器是主流技术。闪存作为一种新兴的半导体存储器件,以其独有的特点得到了迅猛的发展,已经应用于多个领域。其主要特点有:(1)具有非易失性,掉电时数据不丢失,可靠性高;(2)功耗低,不加电的情况下可以长期保持数据信息;(3)寿命长,可以在工作的情况下进行写入和擦除,标准擦写次数可达十万次;(4)密度大、成本低,存储单元由一个晶体管构成,具有很高的容量密度,且价格也在不断降低;(5)适应恶劣的空间环境,具有抗振动、抗冲击、温度适应范围宽等。从当前的发展来看,单片闪存的容量已经超过了单片DRAM的容量。可以预见,以闪存为主的数据存储设备将会成为主流。
发明内容
本发明的目的是公开一种高速大容量固态电子记录器,解决现有技术存在的问题,达到高速海量记录原始数据。
为达到上述目的,本发明的技术解决方案是:
一种高速大容量固态电子记录器,包括通信控制模块、数据分发模块、存储模块、底板模块和电源模块;其存储介质为NandFlash芯片,包括多数个NandFlash芯片,整个记录器的体系结构采用并行扩展和串行扩展相结合的方式,将多数个NandFlash芯片并行扩展提高存储速度,串行扩展提高存储容量;
其中,通信控制模块采用ARM9作为微控制单元,通过RS422/RS485总线与上位机通信,使用自定义的ISA总线与存储模块和数据分发模块通信,实现各种控制功能;
数据分发模块充当外界的数据源和存储模块之间的桥接器作用,它接收外界输入的数据流,然后按照存储模块的要求对数据进行组包处理后传输给存储模块;在存储模块处于编程的时候,将输入数据缓存下来,等到存储模块空闲后,再将这些数据快速传输给存储模块;数据分发模块由四个通道组成,每个通道的缓存大小为256MB,这四个通道在FPGA的控制下根据需要实现任意组合;
存储模块将输入的数据存入到NandFlash芯片中,其中多数个NandFlash芯片采用串行扩展和并行扩展相结合的方式组织起来,由一片FPGA实现对多数个NandFlash芯片的控制,一个记录器由若干个存储模块组成;
底板模块在总线布局上采用级联方式,保证当前存储模块是后面存储模块的主控制器,使便于扩展记录器的存储容量,并且不会因为模块的增加而加重控制总线的负担;
电源模块提供整个记录器所需要的全部电源。
所述的高速大容量固态电子记录器,其所述多数个NandFlash芯片,为128片,并行扩展总线为128bits。
所述的高速大容量固态电子记录器,其所述数据分发模块用SDRAM作为缓存,采用FPGA控制SDRAM实现乒乓FIFO的功能,在一片FPGA内部集成了两个SDRAM控制器,极大地节省了成本和功耗,能够很好地满足高速记录器的要求。
所述的高速大容量固态电子记录器,其所述一片FPGA内部集成了两个SDRAM控制器,是一个协议转换器;SDRAM控制器提供两个接口:应用接口和SDRAM接口;SDRAM接口具有控制SDRAM所需要的全部控制信号,包括地址和数据总线,产生的时序遵循SDRAM的操作时序,实现了与SDRAM的无缝连接;应用接口提供了非常简单的类似于操作SRAM的控制时序,通过该接口,SDRAM控制器获取目的地址和数据内容,然后将它们转换成为SDRAM的控制时序,实现向SDRAM写入或读出数据的目的;
同时,SDRAM控制器在不需要用户介入的情况下实现了对SDRAM的自动刷新,防止数据的丢失。SDRAM控制器对SDRAM进行了协议封装,并且由于其使用硬件描述语言实现,可以在不同类型的FPGA上进行移植和复制,极大地简化了对SDRAM的控制,提高了效率。
所述的高速大容量固态电子记录器,其所述NandFlash芯片遵循SD协议,每个芯片的物理接口由一根命令线和四根数据线组成,在FPGA内部集成了64个自主研发的SD控制器IP核,实现对64片NandFlash芯片的同时操作。
所述的高速大容量固态电子记录器,其所述FPGA内部集成了64个SD控制器IP核,通过这些IP核,控制程序可以实现对NandFlash芯片内部的存储单元进行读写数据;
SD控制器是一个协议封装器,它实现了SD协议规定的内容,能够完成对SD卡的初始化、读、写和擦除操作;SD控制器提供两个接口:应用接口和SD卡接口,通过应用接口,SD控制器获取需要操作NandFlash的目的地址和数据内容,然后将它们转换成为遵循SD协议的数据流,发送给NandFlash芯片,实现对数据的存取操作;SD控制器使用硬件描述语言编写,在FPGA内部实现。
所述的高速大容量固态电子记录器,其记录速度达到GB/s量级,记录容量达到TB量级。
本发明的优点在于:记录器速度达到GB/s量级,容量达到TB量级,主要应用于高分辨率合成孔径雷达(SAR)***、CCD相机、高光谱仪等需要大容量高速数据记录场合。
附图说明
图1是SCSI磁盘阵记录器的工作原理框图;
图2是并行扩展与串行扩展示意图;
图3是FPGA控制SDRAM示意图;
图4是SDRAM读操作流程;
图5是SDRAM芯片工作流程;
图6是NandFlash芯片阵列初始化流程图;
图7是NandFlash控制状态图;
图8是数据记录工作原理框图;
图9是读数据工作原理框图;
图10是记录器总容量的统计过程;
图11是记录器记录的工作原理框图;
图12是记录器数据回放工作原理框图;
图13是本发明的高速大容量固态电子记录器***组成框图;
图14是读数据操作时序图;
图15是写数据操作时序图;
图16是通信及控制模块的硬件组成框图;
图17是大容量数据分发模块硬件组成框图;
图18是乒乓式SDRAM工作原理图;
图19是存储模块硬件组成框图。
具体实施方式
本发明的高速大容量固态电子记录器,采用NandFlash芯片作为存储介质。其主要技术指标如下:
1)记录速度:≥1GB/s(平均速率);
2)存储容量:≥1TB(1024GB);
3)三种工作模式:记录模式、回放模式、BIT模式;
4)四个并行输入输出接口与八个串行输入输出接口并存(默认为串行接口);并行接口的速率为80MHz(每一个时钟传输4个字节的数据);串行接口的速率为2Gbps;
5)四个存储通道,它们可以实现动态配置,如果配置成为一个通道,那么最高的记录速率达到1GB/s;如果配置成为四个通道,那么它们可以相互独立工作,适合于多个传感器并存的情况;
6)控制接口:RS485接口/RS422接口;
7)有选择性地回传数据,回传数据的位置和数据数量,可以通过控制接口进行设置;
8)能够实时报告记录器的状态,如当前的工作模式、存储速率或回放速率、剩余容量、记录器的温度等;
9)容量可扩展性。
高速大容量固态记录器使用NandFlash存储芯片阵列实现,它的关键技术主要包括:
●体系结构的确定。对于像SAR一类的传感器而言,原始数据记录量非常大,单个存储芯片难以满足要求,因此需要将数百个NandFlash芯片通过某种方式组合在一起,此即体系结构。体系结构的确定必须满足三个条件:记录容量、记录速度和可扩展性等。
●高速大缓存的设计。向NandFlash芯片写入数据的时候,有一个编程等待时间。对于带SD控制器的存储芯片而言,其编程等待时间不确定。在编程等待时间内,需要缓存外界输入的数据。为了解决当前已有FIFO深度不够及价格昂贵的问题,高速大缓存用FPGA控制多片SDRAM芯片实现容量达256MB的FIFO功能。
●板内多个闪存控制器(IP核)协调工作;我们选用的NandFlash芯片由SD控制器和存储体两部分组成。外界通过SD控制器访问芯片内部的存储体,为此需要在FPGA内部设计专门的SD控制器(IP核)与NandFlash芯片通信达到读写NandFlash的目的。单个存储模块上数十个NandFlash芯片决定了FPGA内部需要集成多个SD控制器,如何保证它们协调工作是个难点。
●存储模块的板间控制;单芯片容量和单模块的面积限制,导致单个存储模块难以满足***需要。一个记录器包括多个存储模块,如何保证这些模块的协调工作是个难点。
整个记录器的研制围绕这四个关键技术展开,对它们的技术突破是整个高速大容量固态电子记录器能够得以成功实现的关键所在。下面给出四项关键技术的具体实现内容。
1、体系结构
高速大容量固态电子记录器对输入输出端口设计提出了严格要求。一般而言,数据输入输出接口有两种形式:并行接口和高速串行接口。并行接口提高数据传输带宽可以通过增加数据总线的数量或者提高时钟频率来实现。不过当通信带宽提高到一定程度的时候,增加数据总线的数量或者提高时钟频率会减小数据总线的眼图,进一步限制了并行接口的数据传输速率。高速串行接口克服了并行接口的缺点,具有传输速率高(10Gbps)、可靠性高、以及硬件接口简单(一对差分线)等特点。市面上提供的FPGA内部嵌入了多个高速串行收发接口RocketIO。利用这些接口可以在最大程度上简化高速串行接口的设计。高速串行接口将成为今后发展的主流。考虑到目前大多数传感器的数据输出大多采用并行接口,为了兼顾现有的设备,同时考虑今后的发展趋势,采取并行接口和高速串行接口并存的方式。
存取带宽的提高对固态记录器内部的各模块之间的互连提出了非常严格的要求。目前记录器内部普遍采用并行互连方式,各模块通过底板组合在一起。由于物理接插件的针数是固定的。提高传输带宽的方式只能够通过提高时钟频率。通过大量的测试,发现并行总线的时钟能够稳定运行在80MHz频率上。
存储芯片的扩展有并行扩展和串行扩展两种。如图2所示。并行扩展技术是将多个存储芯片组合成为多位宽的存储子模块,它们共用相同的控制信号,包括片选信号、读写信号和芯片的内部地址信号。子模块通常被看成一个整体而进行相同的操作,只是在存储时各个存储芯片加载不同的数据。这样数据存储速率会是单片存储速率的N倍。通过并行扩展,能够提高总线传输带宽。串行扩展技术是将多个存储芯片串联起来,它们使用相同的数据总线,读写信号和芯片的内部地址信号,但是使用不同的片选信号。通过片选信号来决定使用操作哪一片存储芯片。串行扩展能够解决大容量扩展问题。
为了满足高速大容量的要求,本发明采用并行扩展和串行扩展相结合的方式。受电路板尺寸的限制,需要考虑跨板实现存储器件的并行扩展和串行扩展。与此相对应的是存储器阵列的控制复杂度大幅增加,因为它不仅要解决板内存储模块阵列的控制问题,还要解决多个模块协同工作问题。
2、高速大缓存的设计
本发明的高速大容量固态电子记录器,选用的是带SD控制器的NandFlash芯片,与裸片相比较而言,它的优点是内嵌控制器按照一定的算法管理存储器单元,如坏块管理和位翻转管理。另外一个是均衡写,所谓均衡写是保证所有的存储单元被写的次数基本相同,避免某些单元过于频繁的编程而损坏。这种控制器的缺点是编程等待时间不固定,根据SD协议可知,编程时间最长为250ms。在编程等待时间内,禁止向NandFlash芯片中写入数据。
缓存的目的主要为:(1)实现缓存两边数据传输速度之间的匹配;(2)在较长的编程时间内缓存输入数据;(3)组包作用。
缓存的特点决定其非常适合使用FIFO实现。而FIFO的容量是关键。假设编程等待时间为250ms,每个通道的平均存储速度为320MB/s,那么每个通道的FIFO容量需要大于80兆字节,如果两个较长的编程等待时间相隔很近(在实际情况中已经测试到),那么FIFO的容量还要加大。不过市面上提供的FIFO最大容量只有512KB,并且价格非常昂贵,如果要通过级联的方法扩展FIFO的容量,扩展80MB字节需要160片,这显然不现实。经过充分的调研和比较,最终选择SDRAM作为高速大容量缓存,实现超长深度FIFO的功能。选择依据主要为:(1)单片SDRAM的容量比较大,每片可以达到64MB;(2)存取的速率比较高,能够达到133MHz左右;(3)SDRAM价格便宜;(4)SDRAM的控制比DDR SDRAM简单。
本发明选用了4片64MB的SDRAM芯片作为大缓存,用FPGA控制它们的读写。首先将4片SDRAM芯片分为两组:存储器A和存储器B,每组存储器的容量为128MB。两组存储器使用不同的数据总线和控制总线,模拟出FIFO的双端口;FPGA控制SDRAM的示意图如图3所示。数据流控制逻辑将输入的连续数据包存入到SDRAM中进行缓存,并在存储模块空闲时将缓存数据传输给存储模块。对存储器A和存储器B采取乒乓操作的方式保证了数据缓存和传输操作的连续性,克服了SDRAM不能够同时进行读写的问题。
在程序中对SDRAM的乒乓操作由一个状态机来控制,如图4所示。其中对每页数据的读取时要进行判断,首先判断当前哪组SDRAM正在被写入,然后判断另外那组SDRAM是否已经被读空,如果没被读空则从那组SDRAM里读出一页数据;如果已被读空则等待另一组SDRAM写完一包数据后进行SDRAM访问权的切换,随后从这组SDRAM中读出一页数据。
对SDRAM的操作包括芯片初始化、数据写入、数据读取和刷新。其工作流程如图5所示。
数据流输出控制模块用于产生存储板所需要的数据格式,包括PRF和时钟信号,以及每个PRF所对应的4K个连续数据。
2、NandFlash芯片阵列的控制
前面已经介绍本发明选用的是带SD控制器的NandFlash芯片。在一块标准的6U板上一片FPGA要控制128片NandFlash芯片,所以需要实现128个SD控制器IP核。如何实现NandFlash芯片阵列的同步控制,是本发明的核心内容。下面详细介绍其设计思路。
SD协议非常复杂,实现了SD卡的各种控制功能,就数据记录器而言,没有必要实现SD协议的全部内容。通过分析和权衡,最终实现了SD协议的初始化、块擦除、Block连续记录和Block连续回读等功能。
初始化的流程图如图6所示。向芯片发送ACMD41命令的时候,如果芯片始终回传忙状态的信息超过一定时间,就认为该芯片初始化不成功,此时程序必须强行退出,并且标记该芯片为故障芯片,及时上传故障信息,快速实现故障定位。
除了初始化外,上面提到的其他三个功能的状态转换图如图7所示。该图只给出了对于板内同一层存储器件的操作。对于跨层和跨板的操作在下一个部分进行介绍。
为了提高存储的速率,采取对32个NandFlash芯片(128位总线宽度)同时进行存取的策略。输入到存储模块的前级数据(32bits总线宽度)速率为80MHz,FPGA先对输入数据进行缓存,然后一分为四,得到128位总线宽度的20MHz数据流,它们进入CRC校验电路,边校验边发送。将数据包的起始位和数据流发送完成后,紧接着向每根数据线发送实时计算出来的16位CRC码。全部发送完成,检测每一个芯片的DATO数据线的状态码,如果正确,表明芯片已经接收数据,否则向***主控报告当前NandFlash芯片没有接收数据,并且马上停止数据记录。数据存储的流程框图如图8所示。
从NandFlash阵列中读数据是写数据的一个逆过程。FPGA向NandFlash芯片发出读数据命令后,不同的芯片虽然同时接到命令,但是输出的数据却是不同时的。对此先使用32片FIFO分别接收各个NandFlash输出的数据,当全部FIFO中都有数据的时候,用同一个时钟将全部FIFO的数据读出来,从而实现了128位数据流的同步。然后进行MUX,得到80MHz的高速并行数据流,传输给数据分发模块。读数据的工作原理框图如图9所示。
3、存储模块的跨层、跨板间的控制
考虑到FPGA管脚资源的限制,单个存储模块也采取并行扩展和串行扩展相结合的方式。将一个模块上的芯片分成了两组,我们称之为两层。并行扩展和串行扩展并存的方式提高了记录器的容量和速度的同时,增加了设计的难度,这是高速大容量固态电子记录器必须解决的关键技术,下面对记录器的几种操作的设计思路加以说明。
3.1总容量的统计
总容量是记录器的一个基本技术指标。对于单个存储模块而言,这是非常简单的,只需要将单片容量乘以芯片的个数既可以得到。但是对于多个存储模块并存的时候,情况就不同了。本发明的固态记录器在这方面具有智能功能。上电后,每个存储模块首先探测其后一级是否存在级联模块,如果没有,那么将自己标识为最后一个模块。当第一个存储模块收到查询总容量命令的时候,它会将命令通过控制总线一级一级传递下去,直到最后一个模块。最后一个模块收到命令后,不再向下传递命令,而是将自己统计出来的本板的容量(在初始化的过程中能够获取单片NandFlash,而单板的芯片数量是固定的,因此单板的总容量是可以计算出来的。)上传给前一级板,每传一级,都会将本板的容量加到总容量上,这样,第一个存储模块传给控制模块的就是记录器的这个通道的总容量了。在主控端,将四个通道的总容量加起来得到整个记录器的总容量。这个过程如图10所示。
总容量的统计过程中,能够确定:(1)每个通道的模块数目;(2)每个模块的地址范围。
3.2数据记录
存储模块收到记录命令后,它不能够直接将命令下发下去,而是首先需要对记录起始地址进行分析:
●记录地址不位于本板的地址范围时,将记录命令下传,同时本板处于直通模式;
●记录地址位于本板的地址范围时,将记录命令发给NandFlash芯片。在数据记录的时候,如果第一层记满,那就先停止第一层记录,然后启动第二层记录;如果是第二层记满了,那么停止该层的记录,并且向下一级下传记录命令,启动下一个模块的第一层的记录。如果本模块是最后一个模块,那么向***报告记录器已满,不能够再记录。
数据记录的工作原理框图如图11所示。
3.3数据回放(读数据)
存储模块收到数据回放命令后,首先确认回放起始地址和数据量:
●回放的数据段位于第一层,那么将该命令发送第一层,然后将回放出来的数据上传;
●回放的数据段位于第二层,那么将回放命令发送第二层的NandFlash,然后把回放的数据上传;
●回放的数据段跨越了第一和第二层,那么将数据段分成两段,先从第一层读第一段;然后从第二层读第二段,把读出来的数据都上传;
●回放的数据段跨越了第二层和下一个模块,那么同样将它分成两段,先从第二层读出前一段的数据,然后将读第二段数据的命令下传给下一个模块,同时将后一级的输出数据总线在FPGA内部锁存后连到前一级的输入数据总线上,允许后面输出的数据上传;
●回放的数据段位于下一个模块,那么将回放数据命令下传给下一个模块,同时将后一级的输出数据总线在FPGA内部锁存后连到前一级的输入数据总线上,允许后面输出的数据上传。
数据回放的工作原理框图如图12所示。
3.4控制总线
在本发明中,各个模块之间命令和状态的传递都通过控制总线来实现。考虑到整个记录器都使用FPGA来实现,本发明充分利用ISA总线简单的特点,对ISA协议进行裁减,得到自定义的控制总线。使用该总线的读写操作时序分别如图14、图15所示。
本发明的***组成框图如图13所示。从功能上来分,整个***由三个部分组成:通信及控制模块、大容量数据分发模块和存储模块。
控制模块接收***指令,回传状态信息,同时控制各个部分协调工作,实现整个存储设备的智能化管理;数据分发模块主要负责并行数据的接收和分发,回放模式下的数据回传,以及大容量缓存数据。存储模块用来向闪存存取数据,它们是整个存储设备的核心,由多个模块组成,实现板内和极间的并行和串行扩展,以满足大容量和高速的要求。下面对每一个模块的实施情况进行介绍。
1.通信及控制模块
通信及控制模块***组成框图如图16所示。该模块主要由以下几个部分组成:ARM控制器、FPGA、RS422/RS485、SDRAM、NandFlash、NorFlash、EL屏控制接口、ISA控制接口和电源部分等组成。
ARM控制器是整个模块的核心,它负责接收主控传输过来的命令,然后对命令进行进行解码,转换成为操作其余各个模块的功能指令,将其传输给FPGA,由FPGA下发给各个模块;另外它还从FPGA中接收其余各个模块上传的状态信息和其他的信息,整理后安装一定的格式通过控制总线传给主控。最后ARM还将***中一些重要的信息保存下来,以备查询。
FPGA是ARM的一个外设,它充当ARM控制器和其余各个模块之间的桥接器,即协议转换器。它接收ARM控制器传输过来的指令,然后将它们转换成为ISA协议规定的信号格式,通过ISA总线下发给指定的模块;最后它收集指定模块上传的信息,放在当地的存储器中,等待ARM来读取。
RS422/RS485接口是一个协议转换器,它将ARM发出的信号转换成为RS422/RS485信号,实现主控与ARM之间的硬件连接。
SDRAM是ARM的外设,用来存储程序和数据。由于NandFlash的访问速率较慢,而SDRAM的访问速率较高,为了提高ARM的执行效率,上电后ARM的Bootloader控制器将NandFlash中的程序搬移到SDRAM中,然后ARM控制器就在SDRAM中执行程序,运行程序过程中的一些临时变量和缓存区也放在SDRAM中。
NandFlash是通信及控制模块的主要组成部分,与SDRAM相比,NandFlash具有数据掉电不丢失的特征,因此用它保存ARM运行所需要的程序。ARM芯片有专门的NandFlash接口,上电后BootLoader检测到ARM的启动模式为NandFlash启动方式后,通过两次Bootload过程将执行程序从NandFlash芯片导入到SDRAM中。
NorFlash存储器用来随时存储记录指针信息。它与NandFlash相比同为非易失性存储器,但是它的容量相对要小,但是速率高一些,操作比较简单。主要用来作为关键信息保存的重要媒介。
EL屏控制接口比较简单,因为ARM本身携带了一个EL屏控制器,通过设置能够产生EL屏所需要的控制信号。这里的EL屏控制接口主要指信号线的驱动器。
ISA控制接口。高速大容量固态电子记录器所用的ISA总线是自定义的ISA总线,与标准的ISA总线相比,它更简单,时序控制更便于用FPGA来实现。可以认为它是标准的ISA总线的简化版本。它包括地址总线、数据总线、读写控制线和地址使能信号线等。
电源部分:提供该模块所需要的3.3V、1.5V、1.2V、1.8V等电源。
2.大容量数据分发模块
数据分发模块的硬件组成框图如图17所示。它由以下几个部分组成:FPGA控制、数据缓存、ISA控制、电源及复位部分。
FPGA控制:该部分电路是数据分发模块的核心电路。它由一片主FPGA和两片从FPGA组成。主FPGA负责接收外界输入的4路数据并且分发给2个从FPGA;每个从FPGA负责接收主FPGA分发过来的两路数据并且控制SDRAM对数据进行缓存,收到主FPGA发出的约定指令后将数据通过CPCI总线向后一级输出。
数据缓存:为了协调输入数据速率和输出数据速率,在数据输入与数据输出之间加一级数据缓存部分。该部分采用SDRAM实现大容量FIFO的功能,其工作原理图参见图18。
ISA控制:该部分接收控制模块发出的ISA命令,对命令进行解码,同时回传状态信息。
电源及复位部分:产生该模块所需要的+5V、+3.3V和+1.2V等电源;提供硬件复位信号。
3.存储模块
存储模块的硬件组成框图如图19所示。它由FPGA、存储器和电源模块等组成。
FPGA模块主要完成两个功能:
(1)与控制模块以及其他的存储模块通信;
(2)控制一共128片NandFlash芯片正常工作。
每块存储板集成了128个NandFlash芯片,它们使用SD2.0协议存储数据。芯片的扩展采取了并行和串行扩展方式。并行扩展总线为128bits。
电源模块产生存储模块所需要的+5V、+3.3V、+2.5V、+1.8V和+1.5V电源。
Claims (6)
1.一种高速大容量固态电子记录器,包括通信控制模块、数据分发模块、存储模块、底板模块和电源模块;其特征在于,存储介质为NandFlash芯片,包括多数个NandFlash芯片,整个记录器的体系结构采用并行扩展和串行扩展相结合的方式,将多数个NandFlash芯片并行扩展提高存储速度,串行扩展提高存储容量;该NandFlash芯片由SD控制器和存储体两部分组成,外界通过SD控制器访问芯片内部的存储体,为此需要在FPGA内部设计SD控制器与NandFlash芯片通信达到读写NandFlash的目的;
其中,通信控制模块采用ARM9作为微控制单元,通过RS422/RS485总线与上位机通信,使用自定义的ISA总线与存储模块和数据分发模块通信,实现各种控制功能;
数据分发模块充当外界的数据源和存储模块之间的桥接器作用,它接收外界输入的数据流,然后按照存储模块的要求对数据进行组包处理后传输给存储模块;在存储模块处于编程的时候,将输入数据缓存下来,等到存储模块空闲后,再将这些数据快速传输给存储模块;数据分发模块由四个通道组成,每个通道的缓存大小为256MB,这四个通道在FPGA的控制下根据需要实现任意组合;所述数据分发模块用SDRAM作为缓存,采用FPGA控制SDRAM实现FIFO的功能,在一片FPGA内部集成了两个SDRAM控制器;
存储模块将输入的数据存入到NandFlash芯片中,其中多数个NandFlash芯片采用串行扩展和并行扩展相结合的方式组织起来,由一片FPGA实现对多数个NandFlash芯片的控制,一个记录器由若干个存储模块组成;
底板模块在总线布局上采用级联方式,保证当前存储模块是后面存储模块的主控制器,使便于扩展记录器的存储容量,并且不会因为模块的增加而加重控制总线的负担;
电源模块提供整个记录器所需要的全部电源。
2.如权利要求1所述的高速大容量固态电子记录器,其特征在于,所述多数个NandFlash芯片,为128片,并行扩展总线为128bits。
3.如权利要求1所述的高速大容量固态电子记录器,其特征在于,所述一片FPGA内部集成了两个SDRAM控制器,是一个协议转换器;SDRAM控制器提供两个接口:应用接口和SDRAM接口;SDRAM接口具有控制SDRAM所需要的全部控制信号,包括地址和数据总线,产生的时序遵循SDRAM的操作时序,实现了与SDRAM的无缝连接;通过该应用接口,SDRAM控制器获取目的地址和数据内容,然后将它们转换成为SDRAM的控制时序,实现向SDRAM写入或读出数据的目的;
同时,SDRAM控制器在不需要用户介入的情况下实现了对SDRAM的自动刷新,防止数据的丢失;SDRAM控制器对SDRAM进行了协议封装,并且由于其使用硬件描述语言实现,可以在不同类型的FPGA上进行移植和复制。
4.如权利要求1或2所述的高速大容量固态电子记录器,其特征在于,所述NandFlash芯片遵循SD协议,每个芯片的物理接口由一根命令线和四根数据线组成,在FPGA内部集成了64个SD控制器IP核,实现对64片NandFlash芯片的同时操作。
5.如权利要求4所述的高速大容量固态电子记录器,其特征在于,所述FPGA内部集成了64个SD控制器IP核,通过这些IP核,控制程序可以实现对NandFlash芯片内部的存储单元进行读写数据;
SD控制器是一个协议封装器,能够完成对SD卡的初始化、读、写和擦除操作;SD控制器提供两个接口:应用接口和SD卡接口,通过应用接口,SD控制器获取需要操作NandFlash的目的地址和数据内容,然后将它们转换成为遵循SD协议的数据流,发送给NandFlash芯片,实现对数据的存取操作;SD控制器使用硬件描述语言编写,在FPGA内部实现。
6.如权利要求1所述的高速大容量固态电子记录器,其特征在于,其记录速度达到GB/s量级,记录容量达到TB量级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010143077 CN102214482B (zh) | 2010-04-07 | 2010-04-07 | 高速大容量固态电子记录器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010143077 CN102214482B (zh) | 2010-04-07 | 2010-04-07 | 高速大容量固态电子记录器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102214482A CN102214482A (zh) | 2011-10-12 |
CN102214482B true CN102214482B (zh) | 2013-05-01 |
Family
ID=44745758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010143077 Expired - Fee Related CN102214482B (zh) | 2010-04-07 | 2010-04-07 | 高速大容量固态电子记录器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102214482B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622191B (zh) * | 2012-02-24 | 2014-11-19 | 北京经纬恒润科技有限公司 | 一种高速海量存储板 |
CN102930615B (zh) * | 2012-11-02 | 2015-03-11 | 株洲南车时代电气股份有限公司 | 一种列车运行状态数据记录方法、装置及*** |
CN103368966B (zh) * | 2013-07-18 | 2016-08-17 | 北京网鼎芯睿科技有限公司 | 服务器***和数据流的传输方法 |
CN106897033A (zh) * | 2017-05-03 | 2017-06-27 | 北京石竹科技股份有限公司 | 一种基于fpga和固态硬盘的高速采集记录装置 |
TWI714487B (zh) | 2017-12-28 | 2020-12-21 | 慧榮科技股份有限公司 | 記憶卡控制器以及使用於記憶卡控制器的方法 |
US10866746B2 (en) | 2017-12-28 | 2020-12-15 | Silicon Motion Inc. | Memory addressing methods and associated controller, memory device and host |
CN108599860B (zh) * | 2018-07-04 | 2024-03-08 | 百信信息技术有限公司 | 单向传输器 |
CN109753459A (zh) * | 2018-12-07 | 2019-05-14 | 天津津航计算技术研究所 | 一种大容量数据记录器 |
CN110008524A (zh) * | 2019-03-13 | 2019-07-12 | 珠海博雅科技有限公司 | 以单一类型芯片扩展大容量芯片的方法及大容量芯片 |
CN110908467A (zh) * | 2019-11-20 | 2020-03-24 | 天津津航计算技术研究所 | 一种可快速拆卸存储模块 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2791752Y (zh) * | 2005-04-04 | 2006-06-28 | 苏州鹞鹰数据技术有限公司 | 高速数据存储设备 |
DE102005040109B4 (de) * | 2005-08-24 | 2007-12-27 | Qimonda Ag | Halbleiterspeicherchip |
CN101667449A (zh) * | 2009-09-27 | 2010-03-10 | 浪潮电子信息产业股份有限公司 | 一种提高ssd随机写性能的方法 |
-
2010
- 2010-04-07 CN CN 201010143077 patent/CN102214482B/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
BILL_IC.百兆级高速存储T级容量的高端数据记录仪在雷达和飞行器数据记录中的应用.《国防科技论坛》.2010,第1-4页. |
基于arm的固态记录器控制模块的设计;李和平;《测控技术》;20091130;第2009年第28卷;第36页至第38页 * |
李和平.基于arm的固态记录器控制模块的设计.《测控技术》.2009,第2009年第28卷第36页至第38页. |
百兆级高速存储T级容量的高端数据记录仪在雷达和飞行器数据记录中的应用;BILL_IC;《国防科技论坛》;20100130;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102214482A (zh) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102214482B (zh) | 高速大容量固态电子记录器 | |
CN103810113B (zh) | 一种非易失存储器和动态随机存取存储器的融合内存*** | |
CN103366794B (zh) | 用于减少接脚数内存总线接口的装置及方法 | |
CN103946811B (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
JP5453661B2 (ja) | メモリシステムコントローラ | |
CN102169462B (zh) | 基于NAND Flash的数据记录方法与记录控制器 | |
CN101770817A (zh) | 基于fpga的多接口存储器验证*** | |
CN104809075A (zh) | 一种存取实时并行处理的固态记录装置及方法 | |
CN113553277A (zh) | 一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置 | |
CN107924375A (zh) | 用于高速存储器接口的命令仲裁 | |
CN106502934A (zh) | 高速一体化星载数据管理*** | |
US20130329491A1 (en) | Hybrid Memory Module | |
CN108074593A (zh) | 用于非易失性存储器的接口 | |
CN108121503A (zh) | 一种NandFlash地址映射及块管理算法 | |
CN108958638A (zh) | 超高速sar数据记录仪以及数据记录方法 | |
CN105814560A (zh) | 用于实现高吞吐量键-值存储的存储器设置 | |
CN101364346A (zh) | 基于视频流的嵌入式实时智能交通监控*** | |
CN102999453B (zh) | 用于***芯片集成的通用非易失性存储器控制装置 | |
CN107621959A (zh) | 电子装置及其软件训练方法、计算*** | |
CN108228513A (zh) | 一种基于fpga架构的智能串口通讯模块及控制方法 | |
CN107085560A (zh) | 一种emif接口与ahb/apb时序桥接电路及其控制方法 | |
CN105955899B (zh) | 基于全固态半导体存储器阵列的雷达数字信号处理装置 | |
CN105808455A (zh) | 访问内存的方法、存储级内存及计算机*** | |
CN207115383U (zh) | 一种基于fpga+emmc存储阵列的存储*** | |
CN110322914A (zh) | 非易失性文件更新介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130501 Termination date: 20140407 |