基于FPGA的数据记录仪NAND FLASH读写模块研制

13
发热板
科技创新导报 Science and Technology Innovation Herald 研 究 报 告
1  概述
随着各种应用对存储容量的要求不断增加,N AND  F LAS H作为一种新兴的半导体存储器件,以其高密度、大容量、高速存储速率以及更多的擦除次数等特点得到了迅猛发展,并广泛应用于各个领域。但是由于工艺和使用环境等问题,N AN D F LA SH 存储器的读写特点,以及必不可少的会出现坏块,因此导致了该存储器的使用方法和其他存储器有着很大的区别。本文讨论了一种基于F P G A 的数据记录仪N A N D FLA SH接口模块的设计,利用FPGA构建读写FIFO缓存、硬件擦除和读写以及坏块屏蔽,外部C PU 以FI FO 接口时序方式来读写NA ND F LASH ,从而方便数据记录仪领域
的N A N D  F L A S H 数据存储。
2 参数记录仪数据存储方案
对于参数记录仪而言,为了保证采集数据的完整性,在数据存储期间,数据序列顺序保存,不需要进行数据修改。最后数据一次性的读出转存。本文参数记录仪数据存储方案结构框图如图1所示。
方案系统结构框图中,左边为外部C P U 信号线接口,中间是F P G A 芯片,右边为F L A S H 芯片。在F P G A 芯片中,建立两个独立的输入和输出缓冲区,实现整个逻辑控制功能和FLA SH的块搜索、读写以及擦除操作。
图1中,Control Signal有4个状态,分别
基于F P G A 的数据记录仪N A N D  F L A S H
读写模块研制①
黄辉
(台州科技职业学院  浙江台州  318012)
摘 要:随着船舶、航空电子技术的发展,大容量参数记录系统成为设备中必备的部分。文章介绍一种在参数记录仪中应用的基于F P G A 的NAND FLASH读写模块,采用固态存储芯片NAND FLASH作为存储介质,FPGA作为存储器的控制核心,使用FPGA内部存储器构建FIFO 输入和输出缓冲区,引入坏块自动屏蔽技术,在系统中FIFO作为NAND FLASH的读写端口,简化了外部CPU进行数据存储。实验结果表明,该模块能快速的嵌入到记录仪系统中。关键词:FIFO缓存  坏块管理  闪存中图分类号:T N 91文献标识码:A 文章编号:1674-098X(2012)04(c)-0013-02
是读、写、擦除和初始化,因此需要2根时钟同步控制信号线。Status Signal输出当前F L A S H 状态,分别是F L A S H 空、F L A S H 满、系统工作状态,因此需要3根信号线。本系统中使用的 FLASH为K9K8G08U0M,其页容量为2048byte,而FLASH以页方式进行读和写数据操作,因此,FIFO Data In和FIFO Data Out数据缓冲可以设置为4096byte。
很多文献提出了各种建立坏块映射表的N A N D  F L A S H 的坏块管理方法,文献1提出了扇区映射方法,文献2中提到块映射方法,文献3提出了高效和节省R A M 资源的S T A F F 块管理方法。上述方法在N A N D FLA SH中建立文件系统转译层FT L非常有效。文献4提出在数据记录仪中用FPG A内部建立屏蔽坏块函数的方法屏蔽坏块。该方法在写两个页数据的时间间隔中查下一个可用块的物理块地址。本方案在Block Search模块的实现中将对文献4的方法进行改进。Erase\Read\Write 模块用于底层F L A S H 操作接口。
3 具体实现方法
系统以Altera公司FPGA EP2C20Q240C8作为控制核心。将外部CPU读写FLASH 数据接口转换成三组信号线:一、FIFO接口信号,分别为F I F O _W R 、F I F O _R D 、F IF O _F U LL 、F IF O _EM E P TY 、F IF O_D AT A [7:0]、FIFO_CLK;二、命令信号线,分别是读、写、擦除和初始化;三、状态信号线,分别是F L AS H 空、F L A S H 满、系统工作状态。3.1输入输出FIFO 实现
防盗螺母
调用Quartus II 中的SCFIFO,配置为8位宽度,4096深度。3.2坏块信息表存储方式
在系统接收到擦除F L A S H 命令后,读取FLASH中的固有的坏块信息并且对好块进行两次擦除操作,同时建立逻辑块地址和好坏块标识表,擦除操作完毕后,将该表同时写入到FLASH前3块有效块中。防止因某一块的损坏而使坏块信息丢失,不能正确判断出有效块,从而导致存储数据出错。这样在每次上电过程中将3块中的好坏块标识信息都读出并对比,如有某一块存储坏块信息不正确,则立即将信息表转存到有效块中,做好备份工作。K9K8G08U0M芯片总共有8192个块,每个块有64页,每页有效数据区有2048字节。为了减少RA M的使
①基金项目:浙江省财政厅支助项目(2011R461002)
页内字节地址
一个字节8位数据 0 B 0 B 1 B 2 B 3 B 4 B 5 B 6
B 7 1 B 8 B 9 B 10 B 11 B 12 B 13 B 14 B 15 2 B 15 B 16 …      ...
1023      B 8190 B 8191 1024 (2047)
表1 其中一个块的信息表存储方法
一页总共页内地址2048个;B0……B8191表示8192个块,如果Bi为0,则表示第i块为坏
块,反之为好块。
图1 参数记录仪数据存储方案结构框图
. All Rights Reserved.
14
科技创新导报 Science and Technology Innovation Herald
用量,块有效信息表以位的方式进行存储,8192块需要用1024字节表示。并且在对应的spare区第二字节写入0x1F作为信息表的特征标识。信息表在FL AS H中的存储方式如表1所示。
3.3Block Search模块实现
本文在文献4的坏块屏蔽方法
的基础上进行改进,
操作流程如图2所示。上电时首先将坏块信息表从Flash的3个块中读出,
图3 实验平台
图2 Block Search 模块操作流程图
进行对比后并存入F P G A 内建的R A M 存储区中。RAM的容量始终为1024字节。(如图2)3.4结论
在图3研制的实验平台上对上述硬件模块和程序进行了反复擦除、读写验证,能够可靠实现连续读写累加数据。(如图3)
4 结语
同步相量测量装置
Flash以其大容量和高速存储特点近年
gis地图制作来得到迅猛的发展,已经大量应用于参数记录系统中。但始终受到坏块问题和特有的读写方式的制约,因此,使用上带来不便。本文方法成功解决了参数记录系统中简单使用F L A S H 问题。
参考文献
[1]Amir Ban. Flash file system[S], 1995.
United States Patent, no.5,404,485.[2]Takayuki Shinohara. Flash memory
card with block memory address arrangement, 1999.United States Patent [S],no.5,905,993.
[3]Tae-Sun Chung.A flash driver algo-rithm minimizing block erasures.Journal of Systems Architecture[J].53(2007)889-901.
[4]张胜勇.基于FPGA的NAND Flash坏块
处理方法[J].计算机工程.1000-3428(2010)06-0239-02.
稿件要求:
樱桃去核机
1、稿件应具有科学性、先进性和实用性,论点明确、论据可靠、数据准确、逻辑严谨、文字通顺。
2、计量单位以国家法定计量单位为准;统计学符号须按国家标准《统计学名词及符号》的规定书写。
3、所有文章标题字符数在20字以内。
4、参考文献按引用的先后顺序列于文末。6、正确使用标点符号,表格设计要合理,推荐使用三线表。
7、图片要清晰,注明图号。
投稿说明:1、来稿一律使用Word排版且具有一定的学术水平,以2700字左右为宜,并保证文章版权的独立性,严禁抄袭,文责自负,请勿一稿多投,欢迎投稿。
2、本刊已加入《中国学术期刊(光盘版)》、《中文科技期刊数据库》、《万方数据数字化期刊》等网络媒体,本刊发表的文章将在网络媒体上全文发布。
3、本刊编辑部对来稿有修改权,不愿改动者请事先说明。自收稿之日起1个月内未收到刊用通知,作者可自行处理。
4、来稿请注明作者姓名、单位、通讯地址、邮编、及。
频偏
5、本刊发表周期为10天,出刊后5天内邮寄样刊。
6、如有一稿多投、剽窃或抄袭行为者,一切后果由作者本人负责。
《科技创新导报》稿件要求及投稿说明
. All Rights Reserved.

本文发布于:2024-09-22 20:26:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/270516.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   坏块   读写   方法
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议