高速大容量固态电子记录器的制作方法

文档序号:6768860阅读:531来源:国知局
专利名称:高速大容量固态电子记录器的制作方法
技术领域
本发明涉及数据记录器技术领域,特别涉及合成孔径雷达(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)具有非易失性,掉电时数据不丢失,可靠性高;( 功耗低,不加电的情况下可以长期保持数据信息;C3)寿命长,可以在工作的情况下进行写入和擦除,标准擦写次数可达十万次;(4)密度大、成本低,存储单元由一个晶体管构成,具有很高的容量密度,且价格也在不断降低;(5)适应恶劣的空间环境, 具有抗振动、抗冲击、温度适应范围宽等。从当前的发展来看,单片闪存的容量已经超过了单片DRAM的容量。可以预见,以闪存为主的数据存储设备将会成为主流。

发明内容
本发明的目的是公开一种高速大容量固态电子记录器,解决现有技术存在的问题,达到高速海量记录原始数据。为达到上述目的,本发明的技术解决方案是一种高速大容量固态电子记录器,包括通信控制模块、数据分发模块、存储模块、 底板模块和电源模块;其存储介质为NandFlash芯片,包括多数个NandFlash芯片,整个记录器的体系结构采用并行扩展和串行扩展相结合的方式,将多数个NandFlash芯片并行扩展提高存储速度,串行扩展提高存储容量;其中,通信控制模块采用ARM9作为微控制单元,通过RS422/RS485总线与上位机通信,使用自定义的ISA总线与存储模块和数据分发模块通信,实现各种控制功能;数据分发模块充当外界的数据源和存储模块之间的桥接器作用,它接收外界输入的数据流,然后按照存储模块的要求对数据进行组包处理后传输给存储模块;在存储模块处于编程的时候,将输入数据缓存下来,等到存储模块空闲后,再将这些数据快速传输给存储模块;数据分发模块由四个通道组成,每个通道的缓存大小为256MB,这四个通道在FPGA 的控制下根据需要实现任意组合;存储模块将输入的数据存入到NandFlash芯片中,其中多数个NandFlash芯片采用串行扩展和并行扩展相结合的方式组织起来,由一片FPGA实现对多数个NandFlash芯片的控制,一个记录器由若干个存储模块组成;底板模块在总线布局上采用级联方式,保证当前存储模块是后面存储模块的主控制器,使便于扩展记录器的存储容量,并且不会因为模块的增加而加重控制总线的负担;电源模块提供整个记录器所需要的全部电源。
所述的高速大容量固态电子记录器,其所述多数个NandFlash芯片,为1 片,并行扩展总线为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)记录速度彡lGB/s (平均速率);2)存储容量彡 1TB(1024GB);3)三种工作模式记录模式、回放模式、BIT模式;4)四个并行输入输出接口与八个串行输入输出接口并存(默认为串行接口 );并行接口的速率为80MHz (每一个时钟传输4个字节的数据);串行接口的速率为2(ibpS ;5)四个存储通道,它们可以实现动态配置,如果配置成为一个通道,那么最高的记录速率达到lGB/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、体系结构高速大容量固态电子记录器对输入输出端口设计提出了严格要求。一般而言,数据输入输出接口有两种形式并行接口和高速串行接口。并行接口提高数据传输带宽可以通过增加数据总线的数量或者提高时钟频率来实现。不过当通信带宽提高到一定程度的时候,增加数据总线的数量或者提高时钟频率会减小数据总线的眼图,进一步限制了并行接口的数据传输速率。高速串行接口克服了并行接口的缺点,具有传输速率高(IO(^bps)、可靠性高、以及硬件接口简单(一对差分线)等特点。市面上提供的FPGA内部嵌入了多个高速串行收发接口 RocketIO。利用这些接口可以在最大程度上简化高速串行接口的设计。高速串行接口将成为今后发展的主流。考虑到目前大多数传感器的数据输出大多采用并行接口,为了兼顾现有的设备,同时考虑今后的发展趋势,采取并行接口和高速串行接口并存的方式。存取带宽的提高对固态记录器内部的各模块之间的互连提出了非常严格的要求。 目前记录器内部普遍采用并行互连方式,各模块通过底板组合在一起。由于物理接插件的针数是固定的。提高传输带宽的方式只能够通过提高时钟频率。通过大量的测试,发现并行总线的时钟能够稳定运行在80MHz频率上。存储芯片的扩展有并行扩展和串行扩展两种。如图2所示。并行扩展技术是将多个存储芯片组合成为多位宽的存储子模块,它们共用相同的控制信号,包括片选信号、读写信号和芯片的内部地址信号。子模块通常被看成一个整体而进行相同的操作,只是在存储时各个存储芯片加载不同的数据。这样数据存储速率会是单片存储速率的N倍。通过并行扩展,能够提高总线传输带宽。串行扩展技术是将多个存储芯片串联起来,它们使用相同的数据总线,读写信号和芯片的内部地址信号,但是使用不同的片选信号。通过片选信号来决定使用操作哪一片存储芯片。串行扩展能够解决大容量扩展问题。为了满足高速大容量的要求,本发明采用并行扩展和串行扩展相结合的方式。受电路板尺寸的限制,需要考虑跨板实现存储器件的并行扩展和串行扩展。与此相对应的是存储器阵列的控制复杂度大幅增加,因为它不仅要解决板内存储模块阵列的控制问题,还要解决多个模块协同工作问题。2、高速大缓存的设计本发明的高速大容量固态电子记录器,选用的是带SD控制器的NandFlash芯片, 与裸片相比较而言,它的优点是内嵌控制器按照一定的算法管理存储器单元,如坏块管理和位翻转管理。另外一个是均衡写,所谓均衡写是保证所有的存储单元被写的次数基本相同,避免某些单元过于频繁的编程而损坏。这种控制器的缺点是编程等待时间不固定,根据SD协议可知,编程时间最长为250ms。在编程等待时间内,禁止向NandFlash芯片中写入数据。缓存的目的主要为⑴实现缓存两边数据传输速度之间的匹配;(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,每组存储器的容量为U8MB。两组存储器使用不同的数据总线和控制总线,模拟出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要控制1 片NandFlash芯片,所以需要实现1 个SD控制器IP核。如何实现NandFlash芯片阵列的同步控制,是本发明的核心内容。下面详细介绍其设计思路。SD协议非常复杂,实现了 SD卡的各种控制功能,就数据记录器而言,没有必要实现SD协议的全部内容。通过分析和权衡,最终实现了 SD协议的初始化、块擦除、Block连续记录和Block连续回读等功能。初始化的流程图如图6所示。向芯片发送ACMD41命令的时候,如果芯片始终回传忙状态的信息超过一定时间,就认为该芯片初始化不成功,此时程序必须强行退出,并且标记该芯片为故障芯片,及时上传故障信息,快速实现故障定位。除了初始化外,上面提到的其他三个功能的状态转换图如图7所示。该图只给出了对于板内同一层存储器件的操作。对于跨层和跨板的操作在下一个部分进行介绍。为了提高存储的速率,采取对32个NandFlash芯片(1 位总线宽度)同时进行存取的策略。输入到存储模块的前级数据(32bits总线宽度)速率为80MHz,FPGA先对输入数据进行缓存,然后一分为四,得到1 位总线宽度的20MHz数据流,它们进入CRC校验电路,边校验边发送。将数据包的起始位和数据流发送完成后,紧接着向每根数据线发送实时计算出来的16位CRC码。全部发送完成,检测每一个芯片的DATO数据线的状态码,如果正确,表明芯片已经接收数据,否则向系统主控报告当前NandFlash芯片没有接收数据,并且马上停止数据记录。数据存储的流程框图如图8所示。从NandFlash阵列中读数据是写数据的一个逆过程。FPGA向NandFlash芯片发出读数据命令后,不同的芯片虽然同时接到命令,但是输出的数据却是不同时的。对此先使用32片FIFO分别接收各个NandFlash输出的数据,当全部FIFO中都有数据的时候,用同一个时钟将全部FIFO的数据读出来,从而实现了 1 位数据流的同步。然后进行MUX,得到 80MHz的高速并行数据流,传输给数据分发模块。读数据的工作原理框图如图9所示。3、存储模块的跨层、跨板间的控制考虑到FPGA管脚资源的限制,单个存储模块也采取并行扩展和串行扩展相结合的方式。将一个模块上的芯片分成了两组,我们称之为两层。并行扩展和串行扩展并存的方式提高了记录器的容量和速度的同时,增加了设计的难度,这是高速大容量固态电子记录器必须解决的关键技术,下面对记录器的几种操作的设计思路加以说明。3. 1总容量的统计总容量是记录器的一个基本技术指标。对于单个存储模块而言,这是非常简单的, 只需要将单片容量乘以芯片的个数既可以得到。但是对于多个存储模块并存的时候,情况就不同了。本发明的固态记录器在这方面具有智能功能。上电后,每个存储模块首先探测其后一级是否存在级联模块,如果没有,那么将自己标识为最后一个模块。当第一个存储模块收到查询总容量命令的时候,它会将命令通过控制总线一级一级传递下去,直到最后一个模块。最后一个模块收到命令后,不再向下传递命令,而是将自己统计出来的本板的容量 (在初始化的过程中能够获取单片NandFlash,而单板的芯片数量是固定的,因此单板的总容量是可以计算出来的。)上传给前一级板,每传一级,都会将本板的容量加到总容量上,这样,第一个存储模块传给控制模块的就是记录器的这个通道的总容量了。在主控端,将四个通道的总容量加起来得到整个记录器的总容量。这个过程如图10所示。总容量的统计过程中,能够确定(1)每个通道的模块数目;( 每个模块的地址范围。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命令,对命令进行解码,同时回传状态
fn息ο电源及复位部分产生该模块所需要的+5V、+3. 3V和+1. 2V等电源;提供硬件复位信号。3.存储模块存储模块的硬件组成框图如图19所示。它由FPGA、存储器和电源模块等组成。FPGA模块主要完成两个功能(1)与控制模块以及其他的存储模块通信;(2)控制一共1 片NandFlash芯片正常工作。每块存储板集成了 1 个NandFlash芯片,它们使用SD2. O协议存储数据。芯片的扩展采取了并行和串行扩展方式。并行扩展总线为128bits。 电源模块产生存储模块所需要的+5V、+3. 3V、+2. 5V、+1. 8V和+1. 5V电源。
权利要求
1.一种高速大容量固态电子记录器,包括通信控制模块、数据分发模块、存储模块、底板模块和电源模块;其特征在于,存储介质为NandFlash芯片,包括多数个NandFlash芯片, 整个记录器的体系结构采用并行扩展和串行扩展相结合的方式,将多数个NandFlash芯片并行扩展提高存储速度,串行扩展提高存储容量;其中,通信控制模块采用ARM9作为微控制单元,通过RS422/RS485总线与上位机通信, 使用自定义的ISA总线与存储模块和数据分发模块通信,实现各种控制功能;数据分发模块充当外界的数据源和存储模块之间的桥接器作用,它接收外界输入的数据流,然后按照存储模块的要求对数据进行组包处理后传输给存储模块;在存储模块处于编程的时候,将输入数据缓存下来,等到存储模块空闲后,再将这些数据快速传输给存储模块;数据分发模块由四个通道组成,每个通道的缓存大小为256MB,这四个通道在FPGA的控制下根据需要实现任意组合;存储模块将输入的数据存入到NandFlash芯片中,其中多数个NandFlash芯片采用串行扩展和并行扩展相结合的方式组织起来,由一片FPGA实现对多数个NandFlash芯片的控制,一个记录器由若干个存储模块组成;底板模块在总线布局上采用级联方式,保证当前存储模块是后面存储模块的主控制器,使便于扩展记录器的存储容量,并且不会因为模块的增加而加重控制总线的负担;电源模块提供整个记录器所需要的全部电源。
2.如权利要求1所述的高速大容量固态电子记录器,其特征在于,所述多数个 NandFlash芯片,为1 片,并行扩展总线为Um^its。
3.如权利要求1所述的高速大容量固态电子记录器,其特征在于,所述数据分发模块用SDRAM作为缓存,采用FPGA控制SDRAM实现乒乓FIFO的功能,在一片FPGA内部集成了两个SDRAM控制器,极大地节省了成本和功耗,能够很好地满足高速记录器的要求。
4.如权利要求3所述的高速大容量固态电子记录器,其特征在于,所述一片FPGA内部集成了两个SDRAM控制器,是一个协议转换器;SDRAM控制器提供两个接口 应用接口和 SDRAM接口 ;SDRAM接口具有控制SDRAM所需要的全部控制信号,包括地址和数据总线,产生的时序遵循SDRAM的操作时序,实现了与SDRAM的无缝连接;应用接口提供了非常简单的类似于操作SRAM的控制时序,通过该接口,SDRAM控制器获取目的地址和数据内容,然后将它们转换成为SDRAM的控制时序,实现向SDRAM写入或读出数据的目的;同时,SDRAM控制器在不需要用户介入的情况下实现了对SDRAM的自动刷新,防止数据的丢失。SDRAM控制器对SDRAM进行了协议封装,并且由于其使用硬件描述语言实现,可以在不同类型的FPGA上进行移植和复制,极大地简化了对SDRAM的控制,提高了效率。
5.如权利要求1或2所述的高速大容量固态电子记录器,其特征在于,所述NandFlash 芯片遵循SD协议,每个芯片的物理接口由一根命令线和四根数据线组成,在FPGA内部集成了 64个自主研发的SD控制器IP核,实现对64片NandFlash芯片的同时操作。
6.如权利要求5所述的高速大容量固态电子记录器,其特征在于,所述FPGA内部集成了 64个SD控制器IP核,通过这些IP核,控制程序可以实现对NandFlash芯片内部的存储单元进行读写数据;SD控制器是一个协议封装器,它实现了 SD协议规定的内容,能够完成对SD卡的初始化、读、写和擦除操作;SD控制器提供两个接口 应用接口和SD卡接口,通过应用接口,SD控制器获取需要操作NandFlash的目的地址和数据内容,然后将它们转换成为遵循SD协议的数据流,发送给NandFlash芯片,实现对数据的存取操作;SD控制器使用硬件描述语言编写,在FPGA内部实现。
7.如权利要求1所述的高速大容量固态电子记录器,其特征在于,其记录速度达到GB/ s量级,记录容量达到TB量级。
全文摘要
本发明公开了一种高速大容量固态电子记录器,涉及数据记录器技术,其存储模块用NandFlash芯片作存储介质。存储模块将NandFlash芯片阵列以并行和串行扩展相结合的方式组合起来,通过并行扩展提高存储速率,通过串行扩展提高存储容量;FPGA完成NandFlash芯片阵列管理;数据分发模块接收并缓存外界输入数据,在存储模块处于空闲时,将数据组包后传输给存储模块;控制模块受控于上位机,它控制数据分发模块和存储模块,共同完成记录器的全部功能;底板模块实现各模块的电气和机械连接,用来传输电源、命令和数据。本发明体系结构合理,使得记录器整体性能得到了大幅提高记录速度达到GB/s量级,容量达到TB量级。
文档编号G11C11/4063GK102214482SQ20101014307
公开日2011年10月12日 申请日期2010年4月7日 优先权日2010年4月7日
发明者张弛, 张琦, 李先楚, 李和平, 董海 申请人:中国科学院电子学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1