大容量NAND Flash在多媒体手机中的应用_第1页
大容量NAND Flash在多媒体手机中的应用_第2页
大容量NAND Flash在多媒体手机中的应用_第3页
大容量NAND Flash在多媒体手机中的应用_第4页
大容量NAND Flash在多媒体手机中的应用_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1引言随着手机市场竞争的日趋激烈,多媒体手机逐渐成为市场的宠儿。因为有大量的多媒体数据,因此大容量存储是多媒体手机所要解决的首要问题。N O R 和N A N D 是现在市场上两种主要的非易失闪存技术。N O R 的特点是芯片内执行(XIP,eXecuteInPlace,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统R A M 中。N O R 的传输效率很高,在14M B 的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。N A N D 结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,是大数据量存储的最佳选择。在选择存储方案的

2、时候,设计师必须综合考虑以下因素:(1N O R 的读速度比N A N D 稍快一些。(2N A N D 的写入速度比N O R 快很多(3N A N D 的4ms 擦除速度远比N O R 的5s快。(4大多数写入操作需要先进行擦除操作。(5N A N D 的擦除单元更小,相应的擦除电路更少。(6N A N D 闪存中每个块的最大擦写次数是一百万次,而N O R 的擦写次数是十万次。此外,N A N D 的使用比N O R 的使用复杂的多。在N O R 器件上运行代码不需要任何的软件支持,在N A N D 器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(M T D ,N A N

3、 D 和N O R 器件在进行写入和擦除操作时都需要M T D 。使用N O R 器件时所需要的M T D 要相对少一些,许多厂商都提供用于N O R 器件的更高级软件,这其中包括M -S y s t e m 的T r u e F F S 驱动,该驱动被W i n d R i v e r S y s t e m 、M i c r o s o f t 、Q N X S o f t w a r e System、Symbian 和Intel 等厂商所采用。2TC58DDM82A1XBJ5在多媒体手机中的应用在多媒体手机中,T C 58D D M 82A 1X B J 5主要用来存储图片、声音文件等

4、数据量较大的文件。TC58DDM82A1XBJ5是Toshiba 公司生产的256M b i t s N A N D E E P R O M 。工作电压为2.7V 3.6V 或者1.65V 1.95V。存储结构为528bytes ×32pages ×2048blocks。Page 的大小为528B y t e s ,B l o c k 的大小为(16K +512B y t e s 。2.1引脚排列和功能N A N D F l a s h 采用高度复用的访问接口,该接口既作地址总线,又作数据总线和指令输入接口。NANDFlash 的的接口引脚主要分三类:数据引脚,控制引脚,状

5、态引脚。T C 58D D M 82A 1X B J 5的数据引脚为8位,即I /O 1I /O 8,用来输入/输出地址,数据和指令。有一个状态引脚(R Y /B Y 用来表示芯片的状态,当芯片进行数据写入、擦除、随机读取的时候,其输出电平为高,表明芯片正忙,否则输出低电平。/W P 引脚用来禁止获允许对芯片进行写入操作。当其为低电平时禁止写操作,反之允许写操作。控制引脚有6个,见引脚定义。2.2TC58DDM82A1与AD6528的连接AD6528是AnalogDevicesInc.生产的H e r m e s 系列G S M /G P R S 处理器。A D 6528采用D S P +M

6、C U 的双核结构,其中M C U 采用的是A R M 7,D S P 部分选用了A D I 自己的A D S P -218x D S P 核。2.3TC58DDM82A1的操作方式T C 58D D M 82A 1的地址输入、命令输入、数据输入输出都是通过C L E 、A L E 、C E 、W E 、R E 、R S T 、P R E 1/P R E 2引脚控制。控制逻辑如表1所示:*1:/W P =0,则禁止T C 58D D M 82A 1的Program 和Erase 操作T C 58D D M 82A 1的各种工作模式,如读、复位、编程等,都是通过命令字来进行控制的。2.4TC58

7、DDM82A1的时序分析及驱动程序可知,第一个周期,C L E 信号有效时通过IO 口向命令寄存器发送命令00H。此时N A N D F l a s h 处于写状态,因此W E 有效,RE 无效。发送命令后,接着发送要读的地址,该操作将占用WE 的3个周期。注意,此时发送的是地址信息,因此CLE 为低,而A L E 为高电平。当信息发送完毕后,不能立刻读取数据,因为芯片此时处于BUSY(忙状态,需要等待220m s 。之后,才能开始真正的数据读取。此时WE 为高电平而处于无效状态,同时CE 片选信号也始终为低以表明选中该芯片。完成ReadMode(1的伪码如下:ReadMode1_Func(C

8、md,AddrR E =1;A L E =0;C L E =1;W E =0;C E =0;SendCmd(Cmd;/向NAND 发送操作大容量NANDFlash在多媒体手机中的应用杨玲袁光涛(山东省烟台第一职业中等专科学校264000摘要:以T C 58D D M 82A 1X B J 5为例,对比了N A N D 和N O R F l a s h 的区别,介绍了N A N D F l a s h 的基本结构,时序,驱动程序以及它在多媒体手机的中的应用。关键词:NANDFlashNORFlash多媒体手机TC58DDM82A1XBJ5中图分类号:T P 38文 献 标 识 码:A 文章编号:

9、1673-0534(200701(a-0022-02表1逻辑表(下转24页片,虚拟内存地址的修正量达256M B。R A N D K S T A C K:此模块负责为程序核心栈引入随机性。每个程序都会拥有大小为两个内存页的核心栈,在发生系统调用、硬件中断和CPU异常的时候,系统会从用户态切换到核心态,这些内存页供核心在此时使用。在这些处理结束的时候,系统会从核心态切换回用户态,正常情况下,这时的核心栈是空的。这就使得在每次使用核心栈之前可以为它分配一个新的地址,而不是像用户栈那样在整个程序执行期间地址保持不变。因为系统调用是潜在的攻击目标,每次进行系统调用时,核心栈的地址都是不同的就成为一个重

10、要的优点。R A N D K S T A C K 为核心栈引入的随机修正量为128个字节。R A N D M M A P:此模块为所有的文件映射和匿名映射建立随机性,包括系统调用brk(和mmap(、堆空间的管理、装入可执行文件或者库。这些内存映射由核心的d o_m m a p(接口来完成,所以R A N D M M A P 模块就“挂钩”在这个接口上。L i u n x核心在分配堆空间的时候,总是从未使用的物理空间的最低端开始寻找第一个足够大而又未使用的区域分配出去(即首次拟和算法。R A N D M M A P在这个过程中增加了两个随机量:搜寻物理空间的起点不再是从最低端开始,而是加上了4

11、K的随机修正量;而虚拟内存地址也具有的256MB的修正量。在把文件映射到内存的时候者仅为虚拟内存地址提供了256M B的修正量。只有E T_D Y N格式的E L F文件的映射是由R A N D M M A P管理的,而E F_E X E C格式的E L F文件由R A N D E X E C来管理。R A N D E X E C:在编译器链接E F_E X E C格式的E L F文件的时候,假设这种文件只会在固定的地址上执行,所以不需要过多的重定位信息,这就导致为这种文件的内存映射建立随机性是比较困难的。解决的办法是为EF_EXEC文件在内存中建立两个完全相同的映射区,第一个在它的原始地址上

12、,另一个在一个随机地址上,而第一个映射区被标记为“不可执行”。如果试图执行第一个映射区中的代码,就会产生“页出错”异常,在异常处理程序中会把页面“重定向”到“随机区”去。自动的“重定向”功能会使随机性的引入失去意义,所以要在“重定向”之前进行各种检查;例如如果有人利用“重定向”功能发动攻击,就会在用户栈中留有相应的信息,这时R A N D E X E C就会终止“重定向”功能。4PaX的防护效果和未来根据文献1,按攻击的目标分类,缓冲区溢出攻击方法共有20种,PaX对各种攻击方法都有很好的保护。N O E X E C模块会阻止程序执行不安全的代码;A S L R模块可以阻止那些必须利用预先知道

13、内存地址的弱点才能发动的攻击。有很多人研究过怎样突破P a X的防护,但很少有成功的。在上面列出的三种必须阻止的程序异常行为中,N O E X E C模块会阻止情况(1的出现,A S L R模块仅能以一定的概率阻止情况(2和(3的出现。完全阻止后两种情况的出现是要付出很大的性能代价,所以P a X的未来研究目标就是怎样在安全性和性能之间做出合理的折中。5结语本文详细描述和分析了Linux系统缓冲区溢出的核心防卫方法。由于该攻击方式目前很常见,难以在短期之内彻底解决,并在未来的多年一直困扰着计算机安全,因而目前该问题的研究工作仍具有实际意义。参考文献1JohnWilander,MariamKam

14、kar.AComparsionofPubliclyAvailableToolsf o rD y n a m i cB u f f e rO v e r f l o wPrevention.NetworkandDistributedSystemSecuritySymposiumConfer-enceProceedings:2003.2CrispinCowan,PerryWagleBuffer.Overflows:AttacksandDefensefortheVulnerablityoftheDecade./Xplore/Toclogin.jspu

15、rl=/iel5/6658/17794/00821514.pdf3陈莉君.Linux操作系统内核分析.北京:人民邮电出版社,2000.4RuslingDA.Linux编程白皮书.北京:机械工业出版社,2000.命令,此例中应该是00HW E=1;/N A N D取走命令C E=1;CLE=0;/发送命令结束ALE=1;/开始发送起始地址for(i=0;i<3;i+W E=0;C E=0;SendAddr(Addr;W E=1;/取走指令C E=1;/发送完所有地址C E=1;W E=1;A L E=0;Delay(2;while(BUSYWait;/判断等待状态是否结束R E=0;C E

16、=0;ReadData(Buf;/读取数据到buffer2.5NANDFlashDiver的特殊功能NANDFlash的访问是串行的,比较类似硬盘的存储方式。N A N DF l a s h必须有Driver的支持才能在手机使用。Driver除了提供对NANDFlash的Read,Program,E r a s e外,还应该提供以下基本的功能:BadBlockManagementWearLevelingTreatmentECC(ErrorCorrectCodeNANDFlash是通过Driver分配的逻辑地址来进行访问的。BadBlockManage-ment对坏块不分配逻辑地址,这样会形成连续的逻辑地址。WearLevelingTreatment避免对某一区域进行大量的读写操作,这样就会延长N A N DF l a s h的使用时间。E C C主要完成读写过程中的纠错,但是ECC只能对1bit的数据进行纠错。3结语在多媒体手机中NANDFlash主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论