第7期 马培娇等.高速大容量存储系统的关键技术实现 高速大容量存储系统的关键技术实现 马培娇 张宇光 姚永兴 徐鹏飞 焦新泉 任勇峰 (中北大学a.电子测试技术重点实验室;b.仪器科学与动态测试教育部重点实验室,太原030051) 摘要介绍了一种高速大容量存储系统的实现方案,该系统以75MB/s的速度实时存储容量为64 GB 的图像数据,并可通过扩展Flash阵列满足更高速度和更大容量的存储要求。 关键词 高速大容量存储器 无效块管理 固态存储 中图分类号TP277 文献标识码 A 文章编号 1000-3932(2011)07-0869-04 目前高速存储系统在雷达、图像处理、语音识 页的写入时间为(200+50) s一(700+50) s,写 别、声纳和通信等领域应用得非常广泛。随着雷 人速度为5.4~16.4MB/s。因此可以看出影响 达成像技术的成熟,采样率和分辨率都有大幅度 写入速度的最大因素就是编程时间,而时下流行 的提高,这就要求能实时保存下海量的数据信息。 的多级流水线和双平面同时编程技术可有效地避 此时,高速大容量的存储系统就显得尤为重要。 开编程时间,明显地提升其存储速度。 NAND型FLASH芯片的记忆载体为半导体,比传 1.2 Flash阵列并行 统的存储设备具备更高的可靠性,更小的体积及 本设计采用4×4 Flash阵列的形式,以每4 重量,日渐成为了主流存储器。但Flash存储器 片K9WBG08U1M组成一个8位宽的闪存子模 也有十分明显的缺点:写入速度慢,单片容量小, 块。它们共用相同的控制命令,因此可以将这子 制约了数据的写入速度和容量。 模块看作一个整体。整个阵列可看做由4个存储 现需要设计一双通道高速大容量的固态存储 容量为16GByte的闪存组成,该技术为实现大容 器,要求能实时存储速度为75MB/s的I、Q两路 量存储提供了可能。 图像数据,且单路存储容量要达到64GB,而现有 1.3流水线 的Flash存储器达不到以上要求。笔者将探讨用 通过对Flash页面编程工作原理的研究,发 以克服Flash存储器缺点的一些关键技术,并将 现芯片内部的自动编程过程由芯片自动完成。尽 给出该存储器的具体实现方案。 管这段时间不能接收新的写入命令,但也不需要 1 关键技术 外部干预。于是就可以利用这一段空闲的时间, 1.1 存储器 借鉴流水线技术,使多片Flash读写操作进行流 存储系统的一个重要指标就是存储组件的访 水线运作 J。这样在任一时间片上,总有若干操 问速度。目前主流闪存分为NOR和NAND两种 作在同时进行,实现了时间在片上的复用,从而整 架构类型,NAND型闪存写入和擦除速度比NOR 体读写Flash的速度得到了很大的提高。 型快,单元存储容量大,且成本比NOR型低,因此 1.4双平面同时编程 NAND型闪存在大容量高速图像数据存储上比 对于有些新出的Nand Flash,支持同时对多 NOR型更具有优势¨ 。 个平面(Plane)进行编程。K9WBG08U1M支持同 SAMSUMG公司 NAND 闪存芯片 时对2个Plane进行编程。本设计采用的这种编 K9WBGO8U1M由16 384个Block组成,每个 Block分为64Page,每Page有4 096B写人区和 程技术为待两页的数据都写入到Flash的缓存区 后,再同时将缓存区的数据编程存入到Flash里。 128B备用区,单片芯片容量仅为4GB,达不到该 存储器的容量要求。采用Flash阵列总线并行技 可以看出,每写入两页的数据,就可以节省出一个 术,可有效地解决这一矛盾。而该闪存芯片的典 型编程时间为200ixs,最大编程时间为7001xs,最 收稿15t期:2011-04-l5(修改稿) 基金项目:国家自然科学基金——微小型高速运动体的激光 快页寄存器写入时间为501xs。由此可以算出一 主动制导与探测技术研究(60871041) 87O 化工自动化及仪表 第38卷 编程时间,极大地提高了写入的速度。不过要注 意的是,只能对Plane0和Planel或者Plane2和 接口控制、Fifo缓存、Flash控制和无效块信息管 理4个模块。整个FPGA会根据上位机给出的命 令,对外部的Flash阵列进行读、写及擦除等相应 的操作。 Plane3同时编程,而不支持Plane0和Plane2同时 编程。 1.5坏块信息列表 Nand Flash中,一个块中含有1个或多个位 是坏的,就称其为坏块。坏块的稳定性是无法保 证的,不能保证写入的数据是对的,或者写入对 了,读出来也不一定对。而正常的块,肯定是写入 读出都是正常的。考虑到要保证存储数据的完整 和正确,而识别出坏块并且跳过坏块来进行读写 擦除操作就非常必要。为了提高存储速度,在 FPGA内部建立RAM来专门用于存储校验出来 的坏块的地址列表。在进行读写擦除操作时只需 将当前块地址与RAM内部的地址信息进行对比, 如果相同就跳过该块。这样就能大大提高效率。 2系统方案设计 2.1 系统原理 根据该存储器的设计要求,要求实现对图1 中所示的I、Q两路图像数据能以75MB/s的写入 速度存人记录器,并且每路的存储容量为64GB。 基于以上提出的关键技术,设计了该存储系统的 原理图。从图1看出,本设计采用了32片 K9WBG08U1M搭建成2个4×4的Flash阵列,来 分别存储两路图像数据。在每个Flash阵列里, 每4片组成一组8位宽的闪存子模块,它们共用 相同的控制命令,而在4组子模块之间又采用4 级流水来完成流水线操作。 图1 系统原理 图2为FPGA内部原理的一个示意图,包含 口 控籼 图2 FPGA内部原理 2.2接口控制模块 该模块主要是控制FPGA外部的Ds92LVI8 芯片,将其输入的18位数据转换成16位,并存人 缓存Fifo;或是将从缓存Fifo里读出来的8位数 据转换成18位的数据输出给外部的DS92LV18 芯片。另外,该模块还对从外部进入FPGA的控 制命令,如擦除命令和读写命令等信号进行消抖, 再将消抖后的控制信号发送给Flash控制模块, 以避免Flash出现误操作现象。与此同时,接口 控制模块会产生一个计数信号来控制4组Flash 进行有条不紊的流水线操作。 2.3 nf0缓存模块 该模块由8个异步Fifo缓存组成。图2中, 每个Flash控制模块各对应一个深度为2KB和 4KB的Fifo缓存。其中4KB的Fifo用于缓存写 入Flash的数据信息,位宽为16位;而位宽为8 位、深度为2KB的Fifo则作为读取Flash的数据 缓存。该模块配合接口控制模块能实现对高速数 据进行分流降速,为流水线操作Flash阵列做好 了准备。 2.4 Flash控制模块 Flash控制模块主要实现功能:存储器一上 电,该模块内部就开始检查对应Flash的无效块, 并建立无效块地址信息列表。在接收到由接口控 制模块发出的读、写和擦除Flash控制命令后,通 过运行该模块内相应的进程,实现对Flash的操 作。该模块内部状态的具体流程可详见图3。 第7期 马培娇等.高速大容量存储系统的关键技术实现 87l 图3 Flash控制模块内部状态流程 2.5无效块信息管理模块 K9WBG08U1 M芯片一页由4 096B的主区间 本设计中采用RAM来存取Flash的无效块 及128B的备用区间构成。如果把两页的数据写 地址信息列表,如图2所示。该模块由4个1KB 入一组Flash,则需要的时间是8 192B÷/18.75 大小的RAM构成,并且各对应一组Flash。在每 MB/s=436.91Ixs。那4组Flash写完一遍的时 次设备上电时,先进行无效块校验,并将无效块的 间就为436.91×4=1 747.64pts,远远大于最大的 块地址信息存入该组Flash对应的RAM。在擦 的页编程时间700/xs,也就是说在4组Flash写完 除、读和写Flash时,先将当前块地址与RAM中 一遍后,第一组的自动编程已经完成,可以持续不 的无效块地址进行比对,如果地址一样,则跳到下 断地进行下一轮存储。 一块,再将RAM中的下一个地址与之进行比对, 3实验结果及分析 如果不一样,则对该块进行读、写或擦除等相应操 图4是采用ISE7.1中Chipscope获取的硬件 作。采用这个方法,不仅能有效地避开无效块,而 且可以大大缩短各种操作的时间,从而提高整体 实际运行结果的截图。图中有4个信号,其中信 的工作效率。 号LVDSDATA对应从高速数据总线进入FPGA1 2.6对方案的可行性分析 的I路数据,而wrclk是I路数据的时钟信号,频 该方案主要实现的目标是完成将两路75 率为44MHz;信号FLASHDATA对应为LVDSDA— MB/s的图像数据顺利地写入Flash。由于采取了 TA在4级流水分流降速后写入阵列中某组Flash 4 X 4的Flash阵列和4级流水的操作模式,因此 的数据,rdclk则是FLASHDATA的匹配时钟信 写入每组Flash的速度就分流降速到18.75MB/s。 号,频率为11MHz。从图中可以看出,每来一个 但从前面可以知道,如果用普通的页编程方式,写 wrclk时钟信号,就从高速数据总线进入FPGA1 一入速度最高只能达到16.40MB/s,无法满足需要。 个字的图像数据,即写入速度达到了88MB/s。 方案中采取了双平面的编程方式,即连续写入两 同理,图中阵列里某组Flash的写入速度也达到 页数据才进行一次真正的页编程,这样就可以节 了22MB/s。测试结果表明,该系统能很好地满足 约一次的编程时间(200~700p ̄s)。 本设计的要求。 872 化工自动化及仪表 第38卷 嬲燃 魈 %;藕 《螽女《 女藏 4结束语 I I e ii I_ 0 0 } , .} j} l ・ j 』 】 J 笔者所采用的方案实现了对Flash写入速度 ………… …… 蹦瞰■ 的技术突破和存储容量的扩展,以及对无效块的 【L..一 .. L __L..__ -- 管理,实现了对高速图像数据的存储,现已成功应 m i M m I 用于某高速大容量固态存储装置。 晰 厂-]_-1厂_1 n r_]厂_]n r-1 ■厂 自】 I 参考文献 Ⅵ 1 一r]厂] 厂 WI嘲 I [1] 高怡祯.基于闪存的星载大容量存储器的研究和实 埘 辩 ●-_●_●H_-●-_-_______●●●--___—— 现[J].电子技术应用,2003,29(8):75—78. m I 蚰t*I 4 [2]Fishell W G.Solid State Memory in Recce System[C]. ‘ SPIE,1995,2555:183~194. I I ㈣l k U lI [3] 韩茜,罗丰,吴顺君.高速大容量固态存储系统的设 t 蕊 r㈣ 计[J].雷达科学与技术,2005,3(2):110—114. 图4 系统实际运行结果示意图 H igh Speed and Large Storage System MA Pei-jiao ,ZHANG Yu—guang ,YAO Yong—xing ,XU Peng-fei , JIAO Xin-quan。,REN Yong-feng fa.National Key Laboratoryfor Electronic Measurement Technology;b.Key aLboratory of[nstrumentatoin Science and Dynamic Measurement ofMinistry foEducation,North University foChian,Taiyuan 030051,Chian) Abstract The development of high-speed large storage system was introduced,including the storage of 64GB images at a 75 MB/s speed.The storage at higher speed and with larger capacity can be met by extending the Flash array. Key words Flash memory,invalid block management,solid state storage (上接第868页) 作员和技术工程师的操作权限。 少了施工工作量,降低了工程投资。 3结束语 C.提高了系统的扩展性。通过交换机和总 该污水处理厂于2010年5月投产运行,试运 线可方便地连接随设备配套的控制系统,或增加 行两个月后各项指标达到国家有关标准,并通过 新设备的控制,更适合中小型污水处理厂的需要。 了2011年1月份国家环保部组织的核查。其中 该工程中的配药和加药系统,就是把设备厂配套 自控系统为生产的稳定运行提供了可靠保障,控 的PLC就近接人鼓风机房系统的交换机,实现了 制效果显著,达到了设计要求。由于该套自控系 集中监控。 统具有设计简单、投资少、控制效果好及易维护等 d.开放性。可通过中控室连接,进行远 优点,受到用户及其主管部门的好评。另外,该套 程控制。 自控系统很适于在同类中小型污水处理厂工程中 e.分级控制。通过网络权限设定,以确定操 推广应用。 Automatic ControI System Design for Sewage Works RU Rong-jiao .CAI Lu.xiu .XIA Chen (1.NOR1NDAR International,Shiifazhuang 050011,China;2.SINOSTEEL Engineering Design Institute,Shiifazhuang 050021,China;3.Hebei College foIdnustry and Technology,Shijiazhuang 050091,Chian) Abstract The design of an automatic control system for sewage works was proposed,including the details of its e. 1ectrical control,the supporting instruments and PLC system,and the analysis of its superiorities for similar projects. Key words sewage treatment.PLC,industrial Ethemet