安全移动存储设备控制芯片Nand闪存驱动固件程序设计与实现.ppt

安全移动存储设备控制芯片Nand闪存驱动固件程序设计与实现.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安全移动存储设备控制芯片Nand闪存驱动固件程序设计与实现

安全移动存储设备控制芯片Nand闪存驱动固件程序设计与实现 1.Nand Flash简介 Nand Flash是采用Nand结构技术的非易失存储器,Nand Flash芯片设计成了页阵列,可使芯片读取速度更快。典型的Nand Flash芯片中的每一页拥有2048字节的数据区和64字节的备用区的容量,由32页构成一个块。备用区用于存储ECC(Error Checking and Correcting)编码、坏块信息等参数。 1.1 Nand Flash物理结构 典型Nand存储结构如图所示: Nand Flash以页为基本单元进行存储,以块为基本单元进行擦除。Nand Flash都有与页大小相同的页寄存器,用于数据缓存。在命令锁存使能引脚为高电平时,发给芯片的读/写/擦除命令就可以通过写命令写进芯片,当地址锁存使能引脚为高电平时,就可以通过写命令给出地址。Nand Flash的I/O接口可用于控制命令和地址的输入,也可用于数据的输入和输出。当读数据时,先从Nand Flash内存单元把数据读到页寄存器,外部通过访问Nand Flash I/O端口获得页寄存器中数据(地址自动累加);当写数据时,外部通过Nand Flash I/O端口输人的数据首先缓存在页寄存器,写命令发出后才写入到内存单元中。Nand Flash页的最小串行读操作典型时间是25ns,页编程的典型时间是200us,块擦除的典型时间是1. 5ms。片内数据可以保存10年。Nand Flash器件在进行写入和擦除操作时需要内存技术设备(Memory Technology Device, 简称MTD)驱动支持。 和Nor Flash相同,Nand Flash也是一种“先擦除再写入”的存储介质,即要写入闪存的某页,须先擦除整个块。 1.2 Nand/Nor Flash比较 1) 闪存芯片读写的基本单位不同 应用程序对Nor芯片操作以“字”为基本单位。为了方便对大容量Nor闪存的管理,通常将Nor闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时指定逻辑块号和块内偏移。应用程序对N AN D芯片操作是以“块”为基本单位。Nand闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。要修改Nand芯片中一个字节,必须重写整个数据块。 2)Nor闪存是随机存储介质,用于数据量较小的场合;N AND闪存是连续存储介质,适合存放大的数据。 3) 由于Nor地址线和数据线分开,所以Nor芯片可以像SRAM一样连在数据线上。Nor芯片的使用也类似于通常的内存芯片,它的传输效率很高,可执行程序可以在芯片内执行( XI P, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。由于Nor的这个特点,嵌入式系统中经常将Nor芯片做启动芯片使用。而Nand共用地址和数据总线,需要额外联结一些控制的输入输出,所以直接将Nand芯片做启动芯片比较难。 4) Nand闪存芯片因为共用地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零操作;而Nor芯片可以对字进行操作。所以在处理小数据量的I/O操作的时候的速度要快与Nand的速度。比如一块Nor芯片通常写一个字需要10微秒,那么在32位总线上写512字节需要1280毫秒;而Nand闪存写512字节需要的时间包括:512×每字节50纳秒+10微秒的寻页时间+200微秒的片擦写时间=234微秒。 5)Nand闪存的容量比较大,目前最大容量己经达到8G字节。为了方便管理,Nand的存储空间使用了块和页两级存储体系,也就是说闪存的存储空间是二维的,比如K9F5608UOA闪存块的大小为16K,每页的大小是512字节,每页还16字节空闲区用来存放错误校验码空间(有时也称为out-of-band,OOB空间);在进行写操作的时候Nand闪存每次将一个字节的数据放入内部的缓存区,然后再发出“写指令”进行写操作。由于对Nand闪存的操作都是以块和页为单位的,所以在向Nand闪存进行大量数据的读写时,Nand的速度要快于Nor闪存。 6)Nor闪存的可靠性要高于Nand闪存,这主要是因为Nor型闪存的接口简单,数据操作少,位交换操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高的地方。相反的,Nand型闪存接口和操作均相对复杂,位交换操作也很多,关键性数据更是需安错误探测/错误更正〔EDC/ECC)算法来确保数据的完整性,因此出现问题的几率要大得多,坏区块也是不可避免的,而且由于坏区块是随机分布的,连纠错也无法做到。 7)Nand F

您可能关注的文档

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档