延长Flash存储器使用寿命的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
延长Flash存储器使用寿命的研究

延长Flash存储器使用寿命的研究 信息来源: 维库开发网 发布时间:2009年12月15日   引 言   随着嵌入式系统在数码相机、数字摄像机、移动电话、MP3音乐播放器等移动设备中越来越广泛的应用,FLASH存储器已经逐步取代其他半导体存储元件,成为嵌入式系统中主要数据和程序载体。FLASH存储器又称闪存,是一种可在线多次擦除的非易失性存储器NVM Non-Volatile Memo-ry ,即掉电后数据不会丢失。FLASH存储器还具有体积小、功耗低、抗振性强等优点,是嵌入式系统的首选存储设备。   世面上常用的FLASH存储设备有两种:NOR FLASH和NAND FLASH。根据存储容量,NOR一般为1~16 MB,而NAND为8~512 MB,现在的大容量NAND已经可以达到4 GB;读取速度NOR较NAND快,写入速度NOR比NAND慢一些;擦除速度NOR需要2~5 s,而NAND仅仅需要2~5 ms;NAND的价格比NOR低很多。由于种种原因,较常用的是NAND FLASH。但是由于NANDFLASH的工艺不能保证NAND的存储阵列 memory ar-ray 在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。其表现是:当编程/擦除这个块时,不能将某些位拉高,这会造成页编程 page program 和块擦除 block erase 操作时的错误;相应地,反映到状态寄存器 status register 的相应位。   总体上,坏块可以分为两大类:第一类为固有坏块,这是生产过程中产生的坏块,一般芯片原厂都会在出厂时将坏块第一个页的扩展区域 Spare Area 的第6个字节标记为不等于0xff的值;第二类为使用坏块,这是在NANDFLASH使用过程中,如果块擦除或者页编程错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和固有坏块信息保持一致,将新发现坏块的第一个页的扩展区域的第6个字节标记为非0xff的值。由于FLASH写入数据的时候是先擦除块,这样这个块里面的数据将全部变成0xff,写入1时,该位不变;写入0时,该位由1变为0。如果将扩展区域的第6个字节标记为非0xff之后,将不可能再恢复为0xff,除非格式化有可能恢复。   我们已经了解到,坏了的块是无法擦除和写人数据的,而在嵌入式系统中,启动的第一步就是将FLASH里面的前4KB数据自动复制到SRAM里面去运行。如果仅仅FLASH的第一块坏了,而导致引导程序无法下载进去,那么这个块不是不能读取数据,而是读不出我们想再要放入的数据,这样这个FLASH设备就报废了。本文就这个问题作了深入的讨论,用一种基于FLASH的地址重映射的方法解决这个问题。本文采用三星 Samscrag 公司的S3C2440 ARM处理器和NAND FLASH存储设备K9F1208UOM讨论地址重映射的思想。   1 S3C2440使用NAND FLASH引导系统的方法   自动启动模式顺序:   复位完成;   当设置为自动启动模式,NAND FLASH的开始4 KB被拷贝到Steppingstone的4 KB内部缓冲器;   Steppingstone映射到nGCS0;   CPU开始在Steppingstone执行启动代码程序。   由系统引导顺序看出,如果FLASH的第一块坏了,那么读出的数据不一定是引导程序,这样,系统将无法启动。而在这种情况下,就只能换一块完好的FLASH了,这样就造成了很大的浪费。   2 FLASH存储器的内部结构   K9F1208UOM型FLASH芯片内部存储器结构如图1所示。   典型的NAND FLASH由4 096块组成,每一个块包含32页,而每页是512+16 528字节。对于一个页,0~511字节为主存储区,即通常所说的用户可设定地址区,用来存储数据;512~527共16字节为扩展存储区,用来存储页的信息。扩展区的16字节用于描述主存储区的512字节。而对于坏块,也仅仅是将这16字节的第6字节设置为不等于0xff,来标示坏块。   在NANDFLASH使用过程中可能会出现这样的问题:产生坏块或坏页、由此引发的数据丢失、对一些扇区或块的过分磨损导致NANDFLASH寿命缩短等。为了能更好地使用NAND FLASH,在其损坏时使损失最小化,需要一种方法,使用相同的地址可以屏蔽掉坏了的块,而指针指向好块。即使第一块坏了,还可以使用O地址去操作一个好块。   3 FLASH存储器的读取方法   K9F11208UOM型FLASH芯片内部与外部引脚关系如图2所示。对于每一个块的访问,都需要一个固定的物理地址,基于这个固定的物理地址来操作FLASH存储器,在对块进行操作的时候,一个块地址对应一个块,

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档