(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf_第1页
(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf_第2页
(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf_第3页
(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf_第4页
(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(电路与系统专业论文)基于多层单元nand闪存的嵌入式存储管理系统的实现.pdf.pdf 免费下载

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

文档简介

r e a l i z a t i o no fe m be d d e d s t o r a g em a n a g e m e n ts y s t e m b a s e do nm l cn a n df l a s h at h e s i ss u b m i t t e dt o s o u t h e a s tu n i v e r s i t y f o rt h ea c a d e m i cd e g r e eo fm a s t e ro fe n g i n e e r i n g b y z h a n g j i - y a h s u p e r v i s e dbybupervlsedb y p r o f z h a n gm e n g s c h o o lo fe l e c t r o n i cs c i e n c ea n de n g i n e e r i n g s o u t h e a s tu n i v e r s i t y m a r 2 0 1 0 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究- t 作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:丞丝垫日期:垄丝! 垒仝 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相 一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括以电子信息形式刊登) 论文的全部内容或中、英文摘要等部分内容。论文的公布( 包括以电子信息形式刊登) 授权东南大 学研究生院办理。 研究生签名:缁磁翩签名:邋日驴f ! :竺! 留 摘要 摘要 n a n d 闪存( f i s h ) 是一种非易失性存储器,作为嵌入式系统中的主要外部存储设备,n a n d 闪存有两种主要类型:单层单元( s l c ) 和多层单元( m l c ) ,多层单元n a n d 闪存具有存储密度 较高、成本较低的特点,被广泛应片j 于各种嵌入式消费类电子产品中。 论文以w i n d o w sc e6 0 操作系统为软件平台,实现针对m l cn a n d 闪存的嵌入式存储管理系 统。该系统由三部分组成:文件管理层、闪存管理层和块设备驱动层。在文件管理层分析了主要的 文件操作处理过程。重点实现了闪存管理层,实现的功能包括:地址映射、坏块管理、垃圾回收、 空闲页管理及磨损均衡等。地址映射采片j 了动态地址映射的方式;坏块管理避免对坏块的使用;垃 圾同收中通过采用冷热数据交换的方法,实现磨损均衡控制;空闲页管理采用冷热数据分离存储的 方法,减少垃圾回收的系统消耗。驱动初始化时通过对闪存管理信息的集中扫描,实现驱动加载时 间的减少。在块设备驱动层实现了n a n d 闪存的读、写、擦除等操作,并在读操作和写操作过程中 实现4 位e c c 校验,保证数据的可靠性。所实现的m l cn a n d 闪存存储管理系统在三星$ 3 c 6 4 1 0 处理器平台上,进行了可靠性、读写速度、磨损均衡程度及驱动加载时间四个方面的性能测试。 测试结果表明:本论文所实现的m l cn a n d 闪存存储系统性能稳定可靠;在n a n df i s h 控制 器工作频率为3 3 3 5 m h z 的情况下,文件写速度为l o 5 m b s ,文件读速度为4 1 3 m b s ,可以满足大 多数格式的媒体播放的要求;在静态数据存在的情况下,各块的擦除次数术出现极端情况,做剑了 较好的磨损均衡;n a n d 闪存中存储文件的总容量为9 6 0 m b 时,驱动加载的时间由优化前的5 2 s 减少到5 s ,减少了9 0 4 。 关键词:m l cn a n d 闪存,闪存管理,垃圾回收,磨损均衡,e x f a t 文件系统 o nw i n d o w sc e6 0o p e r a t i n gs y s t e m m l cn a n df l a s hs t o r a g es y s t e mc o n s i s t so ft h r e el a y e r s :f i l e m a n a g e m e n tl a v e lf l a s hm a n a g e m e n tl a y e ra n d b l o c kd e v i c ed r i v e rl a y e r t h ep r o c e s so fm a i nf i l e o p e r a t i o ni sa n a l y z e di nf i l em a n a g e m e n tl a y e r f l a s hm a n a g e m e n tl a y e ri sr e a l i z e dp r i m a r i l y , t h ef u n c t i o n s i n c l u d i n ga d d r e s sm a p p i n g ,b a db l o c km a n a g e m e n t ,g a r b a g ec o l l e c t i o n ,f r e ep a g em a n a g e m e n ta n d w e a r - l e v e l i n g d y n a m i ca d d r e s sm a p p i n gi sr e a l i z e di na d d r e s sm a p p i n g t h eu s eo fb a db l o c ki sa v o i d e d b yb a db l o c km a n a g e m e n t i ng a r b a g ec o l l e c t i o n ,t h ec o l dd a t aa n dh o td a t ae x c h a n g em e t h o di sa d o p t e dt o c o n t r o lw e a rl e v e l i n g 1 nf l e eb l o c km a n a g e m e n t t h es e p a r a t i o ns t o r a g eo fc o l dd a t aa n dh o td a t am e t h o di s a d o p t e dt oi m p r o v ew e a r - l e v e l i n g c e n t r a l i z e ds c a n n i n gi nd r i v e ri n i t i a l i z a t i o ni sa d o p t e dt or e d u c et h e d r i v e rl o a dt i m e i nt h eb l o c kd e v i c ed r i v e rl a y e r , r e a d i n go p e r a t i o n w r i t i n go p e r a t i o na n de r a s i n go p e r a t i o n a r er e a l i z e d t h e4b i te r r o rc o r r e c t i n gc o d ef o rm l cn a n df l a s hi nt h ep r o c e s so fr e a d i n go p e r a t i o na n d w r i t i n go p e r a t i o ni sr e a l i z e dt oe n s u r ed a t ar e l i a b i l i t y t h ep e r f o r m a n c eo fm l cn a n df l a s hs t o r a g e m a n a g e m e n ts y s t e mi st e s t e do ns a m s u n g $ 3 c 6 4 10p r o c e s s o rp l a t f o r m r e l i a b i l i 劬r e a d i n gs p e e d ,w r i t i n g s p e e d w e a rl e v e l i n ge f f e c ta n dn a n df l a s hd r i v e ri o a d t i m ea r et e s t e d t h er e s u l t so ft h ee x p e r i m e n t ss h o wt h a tt h em l cn a n df l a s hs t o r a g es y s t e mw o r k ss t a b l ya n d r e l i a b l y t e s t i n gd a t as h o wt h a tw h e nt h ew o r kf r e q u e n c yo fn a n df l a s hc o n t r o l l e ri s3 3 3 5 m h z t h ef i l e w r i t i n gr a t ei s 1o 5 m b s 。t h ef i l er e a d i n gr a t ei s41 3 m b s 。w h i c hc a nm e e tt h er e q u i r e m e n t so ft h em o s t m e d i ap l a y e r w h e ns t a t i cd a t ae x i s t s 。a i lb l o c k so fn a n df l a s hw e a rl e v e l i n gv e r yw e l l w h e nt h et o t a l c a p a c i t yo ff i l e ss t o r e di nn a n df l a s hi s9 6 0 m b t h ed r i v e rl o a dt i m er e d u c e sf r o m5 2s e c o n d st o 5 s e c o n d s k e yw o r d s :m l c n a n df l a s h ,f l a s hm a n a g e m e n t ,g a r b a g ec o l l e c t i o n ,w e a r - l e v e l i n g ,e x f a tf i l es y s t e m 同 摘要 a b s t r a c t 目录 第一章绪论。 目 i i 1 1 1 研究背景与意义一1 1 2 论文研究t 作1 1 3 论文组织结构2 第二章n a n d 闪存技术与文件系统综述 2 1n a n d 闪存技术3 2 2n a n d 闪存文件系统7 2 3 本章小结1 0 第三章m l cn a n d 闪存存储管理系统的设计。 3 1 操作系统平台11 3 2m l cn a n d 闪存存储管理系统的方案设计1 3 3 3 本章小结1 7 第四章m l cn a n d 闪存管理系统的实现。1 8 4 1 闪存管理流程18 4 2 地址映射2 0 4 3 坏块管理2 2 4 4 垃圾回收2 4 4 5 磨损均衡的实现2 6 4 6 闪存管理层的启动与调用2 8 4 7 闪存管理层中驱动快速加载的实现3 5 4 8 本章小结3 9 第五章m l cn a n d 闪存存储管理系统的测试 5 1m l cn a n d 闪存存储系统的测试环境4 0 5 2 测试软件设计4 2 5 3 系统配置和编译4 4 5 4m l cn a n d 闪存存储系统的功能测试4 4 5 5m l c n a n d 闪存存储系统的性能测试4 6 5 6 本章小结5 0 总结与展望 致谢 参考文献 5 3 l 付j i 之! ;! ; 在学期间发表论文清单 第一章绪论 1 1 研究背景与意义 第一章绪论 嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁剪,适应应用系统对功能、 可靠性、成本、体积、功耗有严格要求的专用计算机系貅1 1 1 。随着嵌入式计算机技术的飞速发展, 嵌入式系统在无线通信、工业控制、国防设备、消费类电子产品等领域的应用日益广泛,如常见的 掌上电脑、智能手机、手持式医疗仪器等都是嵌入式系统的典型应用。近几年来以软硬件组成为显 著特征、以消费类电子产品为主导的智能设备以超乎人们想象的速度获得了前所未有的发展【2 l 。 嵌入式系统作为一个小型计算机系统,存储设备是其重要组成部分。从物理特性上,存储设备 可以分为易失性存储器和非易失性存储器1 3 j ,其典型代表分别为同步动态随机访问存储器 ( s y n c h r o n o u sd y n a m i cr a n d o ma c c e s sm e m o r y ,s d r a m ) 和闪存( f l a s hm e m o r y ) ,它们分别用来 存放系统运行时的数据和需要永久保存的程序和数据。闪存具有功耗低、读写速度快、成本低、容 量人、抗震性好等优点f 4 】,在嵌入式系统中得到广泛应用。现在市场上两种主要的闪存底层技术有 n o r 和n a n d 两种。n o rf l a s h 较早为业界采用,但其成本较高且写入速度较慢,仅在注重执行速 度或少量数据存储的地方使用。n a n d 结构强调降低每比特的成本,及更高的性能,是高密度数据 存储的理想解决方案,被大量应用于移动存储设备、移动媒体设备等嵌入式存储设各中。 随着n a n d 闪存技术的发展,出现了多种型号的n a n d 闪存,最初出现的是s l c ( s i n g l e l e v e l c e l l ) n a n d 闪存,根据容量的不同又分为两种:小容量n a n d 闪存和大容量n a n d 闪存,一般小 容量n a n d 闪存中每页主存储区数据有5 1 2 字节,冗余信息区有1 6 字节,而大容量n a n d 闪存中 每页数据有2 k 字节,冗余信息区有6 4 字节。后来英特尔公司在1 9 9 7 年最先提出m l c ( m u l t i l e v e l c e l l ) n a n d 闪存的概念1 5 1 ,使n a n d 闪存的存储容量更大。m l cn a n d 闪存每个存储单元可以存 储两个位( b i t ) 或多个位( b i t ) ,相对于s l cn a n d 闪存存储密度更大。 n a n d 闪存本身具有特定的特剧6 1 7 】:n a n d 闪存的读操作和写操作以页为单位,而擦除操作 以块为单位进行,擦除操作时间相对较长;写操作的方式不是覆盖,而是只能在空白块或已擦除的 块内写入;数据的读、写、擦除等操作是通过专门的控制器进行控制的,数据通过8 位或1 6 位宽度 的i o 总线串行传输,命令、地址、数据线复用;n a n d 闪存的使用寿命是有限的,对于s l cn a n d 闪存来说,每个n a n d 闪存块的可擦除次数人约为1 0 万次,而对于m l cn a n d 闪存来说,每个 块的可擦除次数仅为5 千到1 万次;n a n d 闪存本身存在坏块,而且在使用过程中也会出现新的坏 块;n a n d 闪存在使用过程中会出现位翻转,m l cn a n d 闪存出现位翻转的概率更大。 鉴于以上n a n d 闪存的特点,嵌入式系统中针对n a n d 闪存的管理有多种方案,如专门针对 n a n d 闪存的y a f f s ( y e t a n o t h e rf l a s hf i l es y s t e m ) 文件系统、最新的兼容m l cn a n d 闪存的无 排序区块图像文件系统( u n s o r t e db l o c ki m a g ef i l es y s t e m ,u b i f s ) 等,它们对文件的组织和管理过 程中都充分考虑并合理利用了n a n d 闪存的具体特点。 本论文在充分了解m l cn a n d 闪存特点的基础之上,实现适应于m l cn a n d 闪存特点的存储 管理系统,通过软件方式改善m l cn a n d 闪存存储系统的性能,如通过磨损均衡方式提高其使用 寿命,通过坏块管理避免对坏块的使用,通过多位数据校验的方式确保数据的可靠性等。 1 2 论文研究工作 本论文的主要工作是基于w i n d o w sc e6 0 操作系统,实现针对m l cn a n d 存的嵌入式存储管 l 东南人学硕士学位论文 理系统,并在三星$ 3 c 6 4 1 0 处理器平台上对所实现的存储管理系统进行功能和性能验证。论文的具 体工作如下: -预研准备:收集并分析论文所涉及的m l cn a n d 闪存的相关资料和技术文档,调研嵌入式系 统中n a n d 闪存的应用方案;研究和学习w i n d o w sc e6 0 操作系统的i t 作机制及其存储管理 器的工作原理,分析w i n d o w sc e6 0 提供的n a n d 闪存抽象层源代码;分析f a t 文件系统的 组织原理,学习y a f f s 及u b i f s 的闪存管理机制;通过对所收集的资料的总结,确定本论文 的实现方案。 - 功能实现:分析文件系统层的主要操作及对闪存管理层的调用;实现针对m l cn a n d 闪存的 管理,包括地址映射、坏块管理、垃圾回收及磨损均衡等机制,并在垃圾回收中利片j 冷热数据 交换的方法改善磨损均衡效果,在空闲页管理中通过冷热数据分离存储的方式改善磨损均衡效 果;实现m l cn a n d 闪存的驱动,包括读、写、擦除等操作,并在读操作和写操作过程中实 现数据的4 位e c c 校验;利用闪存管理信息集中存放的方法,n a n d 闪存驱动初始化时通过扫 描固定的区域,以减少驱动的加载时间。 测试平台搭建:熟悉w i n d o w sc e6 0 块设备驱动和文件系统的的加载流程,熟悉工程实现时的 注册表、源文件等相关配置;熟悉三星$ 3 c 6 4 1 0 处理器的t 作原理和配置方式,熟悉n a n d 闪 存控制器的配置方式;通过系统配置,完成软硬件平台的搭建。 功能和性能测试:编写测试软件,实现e x f a t 文件系统下驱动程序读、写、擦除等基本功能的 验证;对读速度和写速度进行测试;对冷热数据交换方法使用前后n a n d 闪存的磨损均衡效果 进行测试;对闪存管理信息集中存放的方法使用前后n a n d 闪存驱动加载的时间进行测试。 1 3 论文组织结构 根据论文所涉及的主要研究t 作,将论文结构安排如下: 第一章,绪论。简要介绍了论文的研究背景、主要研究上作和论文的章节安排。 第二章,n a n d 闪存技术与文件系统综述。阐述了n a n d 闪存的存储原理、组织结构和操作方式, 对m l cn a n d 闪存与s l cn a n d 闪存进行对比,分析了m l cn a n d 使用过程中需要注 意的问题;对儿种主要的文件系统:f a t f s 、y a f f s 和u b i f s 进行了分析。 第三章,m l cn a n d 闪存存储管理系统的设计。分析了w i n d o w sc e6 0 操作系统的特点及存储管 理器的工作原理,基于w i n d o w sc e6 0 的系统框架对m l cn a n d 闪存存储管理系统进行 了总体设计。 第四章,m l cn a n d 闪存管理系统的实现。首先介绍了闪存管理层中闪存管理对象状态的转换及信 息区功能的划分,然后详细介绍了地址映射、垃圾回收、坏块管理等功能的实现,最后介 绍n a n d 闪存驱动及文件系统的加载过程,并实现m l cn a n d 闪存驱动加载时间的减少。 第五章,m l cn a n d 闪存存储管理系统的测试。包括:硬件测试环境及系统调试环境的介绍,测试 软件的设计,w i n d o w sc e6 0 下的重要系统配置,测试内容包括基本功能测试和系统可靠 性、读写速度、磨损均衡效果及n a n d 闪存驱动加载时间四个方面的性能测试。 2 第二章n a n d 闪存技术i j 文件系统综述 第二章n a n d 闪存技术与文件系统综述 本章将阐述n a n d 闪存的技术特点及n a n d 闪存的主要分类;对f a t 文件系统的组织方式及 专用n a n d 闪存文件系统( y a f f s ) 和无排序区块图像文件系统( u b i f s ) 中的闪存管理方式进行 分析。 2 1n a n d 闪存技术 闪存( f l a s h ) 是从电可擦除只读存储器( e l e c t r i c a l l ye r a s a b l ep r o g r a m m a b l er e a do n l ym e m o r y , e e p r o m ) 发展而来的,与e e p r o m 不同的是,闪存以块为单位而不是以字节为单位擦除数据【8 】。 闪存最早于1 9 8 4 年由日本东芝公司的f u j i om a s u o k a 博+ 发明,i n t e l 于1 9 8 8 年推出了第一款商业 n o r 型闪存芯片,是可以芯片内执行( e x e c u t ei np l a c e ,x i p ) 的闪存,程序可以直接在n o r 闪存内运 彳亍【引。东芝公司于1 9 8 9 年在国际固态电路学会上推出了第一款n a n d 型闪存芯片,具有较快的擦除 速度、单位面积较大的容量、更高的性价比,接口结构发生了完全的变化,以页为数据读写单位。 n o r 闪存因为先天设计特点等方面的原冈,在读取速度上比n a n d 闪存更快,但是擦除和写入速 度却不如n a n d 闪存,并且由于单元尺寸较火,耗电比n a n d 闪存多、成本高,主要用于手机内建 存储装置等领域。而n a n d 闪存单元尺寸较小,容量上占有绝对的优势,相对成本低、耗电少,目 前不仅以裸片的形式作为嵌入式系统的外同存储设备,也广泛应用r 丁各种存储卡、u 盘等移动存储 装备中l 川。 2 1 1n a n d 闪存的技术特点 本论文以主流n a n d 闪存芯片供应商三星的k 9 g 8 g 0 8 u o mm l c 型n a n d 闪存为例,介绍 n a n d 闪存的主要技术特点。 ( 1 ) n a n d 闪存的组织结构 n a n d 闪存结构采用块页组织方式,如图2 1 所示。k 9 g 8 g 0 8 u o mm l cn a n d 闪存包括4 0 9 6 块,每块包括1 2 8 页,每页包括2 k 字节的数据存储区( u s e ra r e a ) 和6 4 字节的冗余信息区( s p a r e a r e a ) ,存储容量为8 4 4 8 m b i t ,存储阵列为5 2 4 2 8 8 行( r o w ) 2 11 2 列( c o l u m n ) 的组织结构,冗 余的6 4 列( c o l u m n ) 分布在2 0 4 8 2 1 1 1 的范围内。数据存储区用于存放用户数据,信息区用于存放 n a n df l a s h 存储器 ; 虿 百 品 善 薏 ib l o c k ,最小擦除单元 1p a g e ,最小读写单元 图2 1n a n df l a s h 的组织结构 3 东南大学硕十学位论文 坏块标记、e c c ( e r r o rc o r r e c tc o d e ) 校验值及闪存管理层记录的关丁该页的信息,如逻辑地址、擦 除次数等。n a n d 闪存芯片的存储单元与i o 缓冲区之间有2 1 1 2 字节的数据寄存器。 ( 2 ) n a n d 闪存对外引脚及命令 对芯片的读、编程、擦除等操作是通过向命令寄存器写入特定的命令来控制的,命令、地址和 数据通过将w e 和c e 置低被写到i o 端口,它们都是在w e 的上升沿被写入,c l e 和a l e 分别用于 命令和地址复用i 0 管脚,c l e 用于命令锁存,a l e 用于地址锁存。复位命令、读状态命令是单级 命令,在发送单字节的命令后即可进行复位、获取状态等;页读、页编程和块擦除的命令均是两级 命令,发送第一级命令表示要进行相应的读、编程或擦除等操作,之后输入对应地址,表示要进行 读、编程或擦除的目标地址,输入二级命令之后才真止开始对存储阵列进行相应的操作。n a n d 闪 存的对外引脚及功能如表2 1 所示,常用的命令如表2 2 所示。 表2 1n a n d 闪存的引脚定义 引脚名称 一 。引脚功能 。一 ,。,? j i 0 0 i 0 7 用于输入命令、地址、数据,读操作时输出数据 c l e 命令锁存使能,高电平时在丽的上升沿将命令传送到命令寄存器 a l e 地址锁存使能,高电平时在丽的上升沿将地址传送到地址寄存器 c e芯片使能,用于芯片选择控制 r e读使能,在下降沿将选中地址中的数据发送到i o 总线 w e 写使能,在上升沿将命令、地址、数据顺序发送剑i o 总线 w p写保护,在电平转换期间对n a n d 闪存进行数据保护 r b r e a d y b u s y 状态标志,低电平表示处于忙碌状态,高电平表示空闲状态 表2 2n a n d 闪存的命令 “ 功能 ”+ 第一周期第二周期 读命令 0 0 h3 0 h 读l d 9 0 h 复位 f f h 页编程 8 0 h1 0 h 两片页编程 8 0 h 1 1 h8 1 h 一1 0 h 块擦除 6 0 h d o h 两片块擦除 6 0 h 6 0 h d 0 h 随机数据输入 8 5 h 读命令 0 0 h3 0 h ( 3 ) n a n d 闪存的主要操作 n a n d 闪存的最基本操作是读操作、编程操作( 即写操作) 和擦除操作,读操作和写操作以页 为单位,而擦除操作以块为单位,n a n d 闪存在写操作之前必须进行擦除操作才能将数据写入。编 程操作将存储单元的位由“l ”写为“0 ”,擦除操作将存储单元的位由0 写为“1 ”。另外辅助基本操作正 常实现的其它操作还有:复位操作,读i d 操作和读状态的操作等,除基本操作之外,n a n d 闪存 还支持有助于加快编程速度和加快擦除速度的操作:两片编程操作和两片擦除操作。 两片编程操作 k 9 g 8 g 0 8n a n d 闪存每个芯片由两个存储片组成,每个存储片具有一个2 1 1 2 字节的页数据寄 存器,激活这两个页数据寄存器可以进行两片同步编程。两片编程的命令为8 0 h ll h 8 1 h 1 0 h ,在 4 第一二章n a n d 闪1 竽技术与文件系统综述 写入2 1 1 2 字节的数据剑第一个存储片的数据寄存器之后,输入伪编程命令1 1 h ,由于没有开始真正 的编程过程,r b 保持b u s y 状态一段时间( 人约0 5 9 s ) ,输入8 l h 命令和地址序列之后,输入要编 程到第二个存储片的2 1 1 2 字节的数据到其数据寄存器,当序列数据输入结束之后,真正的编程命令 1 0 h 输入,两片数据寄存器中的数据同时写入对应的地址中。两片编程的两页中只要有一页编程失 败就会将状态位i o o 设置为1 ,表示编程欠败,只有两页都编程成功时状态位才能置0 。 需要注意的是,两片编程仅允许两片内具有相同行地址的页进行同步编程,而不允许两片内任 意两页同时编程。如图2 2 所示,第o 片内的块全为偶数块,第一片内的块全为奇数块,仅能2 n 块 与2 n + l 块内的页进行同步编程。对块内编程的页没有具体限制,为了便于管理,一般是将块内页偏 移地址相同的页进行同步编程。 图2 2 两片编程结构示意图 两片擦除操作 两片擦除操作是与两片编程操作相对应的,两片块擦除的命令为6 0 h 6 0 h d 0 h ,输入第一个擦 除命令6 0 h 之后输入第一片的块擦除地址,输入第二个擦除命令之后输入第二片的块擦除地址,在 d 0 h 确认命令之后,开始两片同时擦除的操作。 2 1 2n a n i ) 闪存的分类 n a n d 闪存有三种架构:单层单元( s i n g l e l e v e lc e l l 。s l c ) 、多层单元( m u l t i l e v e lc e l l ,m l c ) 和多位单元( m u l t i b i tc e l l ,m b c ) 。其中m b c 以氮化物只读存储器( n i t r i d er e a do n l ym e m o r y , n r o m ) 技术为基础,由英飞凌科技公司与赛凡半导体公司合作开发,但该项架构技术并不成剿1 0 】。 s l c 是基本的n a n d 闪存技术,其工作原理是在源极和漏极之间电流单向传导的y 导体上形成 储存电子的浮动栅,数据是0 或1 取决于浮动栅中是否有电荷,有电荷为0 ,无电荷为1 。写入时只 有数据为0 时才进行写入,写入方式是向栅极和漏极施加高电压,增加在源极和漏极之间传导的电 s i ,c1 b “ f l o a t i n gg a t e s t o r a g el a y e r s o u r c e f l o a t i n gg a t e s t o r a g el a y e r s o u r c e m l c2 b i t 图2 3s l c 和m l c 的结构和工作原理 5 东南大学颂- :学位论文 荷能量,使电荷突破氧化膜绝缘体,进入浮动栅。读取数据时,向栅极施加一定的电压,电流大为 l ,小电流则为0 【5 1 。s l c 和m l c 的结构和丁作原理示意图如图2 - 3 所示。 m l c 是在一个单元中存储2 位( b i t ) 或更多位的数据,存储密度更高,能明显的提升闪存的容 量。m l c 一个单元存储2 位的数据时,在一次读写中有0 0 、0 1 、1 0 、1 1 四个状态,丁作时通过内 存储存的电压控制精准读写来控制不同电位的电荷。其原理是将两个位的信息存入一个浮动栅,然 后利用不同电位的电荷,透过储存格的电压控制精准读写,以控制浮动栅上的电荷数量,使其呈现 出4 种不同的存储状态1 5 1 。 由于结构的不同,m l c 架构的n a n d 闪存与s l c 架构的n a n d 闪存性能存在一定差异,为明 确m l cn a n d 闪存与s l cn a n d 闪存之间的性能区别,对三星相同容量不同型号两个n a n d 闪存 芯片( s l c 架构的k 9 k 8 g 0 8 t 6 1 与m l c 架构的k 9 g 8 g 0 8 1 7 】) 的主要不同点进行对比,如表2 3 所示。 表2 3m l cn a n df l a s h 与s l cn a n df l a s h 的比较 区别 s l c ( k 9 k 8 g 0 8 ) m l c ( k 9 g 8 g 0 8 ) , 存储单元 1b i t c e l l2 b i t s c e l l 顺序读时间 2 5 n s ( m i n ) 3 0 n s ( m i n ) 随机读时间 2 5 9 s ( m a x )6 0 9 s ( m a x ) 页编程时间 2 0 0 i t s ( t y p )8 0 0 9 s ( t y p ) 块擦除时间 1 5 m s ( t y p ) 1 5 m s ( t y p ) 可擦写次数1 0 万次5 千次 需e c c 校验的位数 i b i t 5 1 2 b y t e 4 b i t 512 b y t e 部分页编程次数4 次1 次 每块第一页或第二页每块的最后一页 出厂坏块标记位置 s p a r ea r e a 的第一字节s p a r ea r e a 的第一字节 通过对k 9 k 8 g 0 8 与k 9 g 8 g 0 8 的对比可以看出: ( 1 ) m l cn a n d 闪存的顺序读速度及擦除速度与s l cn a n d 闪存的速度差别不人; ( 2 ) m l cn a n d 闪存页编程速度为s l cn a n d 闪存编程速度的四分之一; ( 3 ) m l cn a n d 闪存的使用寿命仅为s l cn a n d 闪存使用寿命的二十分之一; ( 4 ) m l cn a n d 闪存位翻转概率较大,需要较多位数的e c c 校验。 综上可知,m l cn a n d 闪存总体性能明显处于劣势。但s l cn a n d 闪存相同面积容量比较小, 而且s l c 技术受限于低硅效率的问题,要想大幅度提高制程技术就必须采用更先进的流程强化技术, 意味着厂商必须更换现有的设备,成本将更高;而m l c 架构一次可以存储4 个以上的充电值,拥 有比较好的存储密度,并且可以利用现有的设备来提高产品容量,厂商即享有生产成本上的优势同 时产品良率义得到了保证。m l cn a n d 技术正在不断改进与完善,m l cn a n d 相对于s l cn a n d 具有较好的发展前景1 5 1 。 2 1 3m l cn a n d 闪存使用需注意的问题 n a n d 闪存中数据的存储通过电压控制,在使用过程中容易出现位翻转,而m l cn a n d 闪存 每个单元有四个电压水平,比s l cn a n d 闪存更容易出现位翻转。为保证数据的可靠性,需要在数 据写和读的过程中对写入和读出的数据进行e c c ( e r r o r c o r r e c t c o d e ) 校验。通常对s l c n a n d 闪 存采用一位的e c c 校验,一般用海明码( h a m m i n gc o d e ) 实现;而对m l cn a n d 闪存采用四位的 e c c 校验,一般用b c h ( b o s e ,r a y c h a u d h u r i ,h o c q u e n g h e m 三个人名的缩写) 码实现。e c c 校验可以用软件方式实现也可以用硬件方式实现,硬件方式实现的效率较高。 n a n d 闪存在出厂时就会存在坏块,并且在使用过程中也会产生新的坏块,而某块一旦变为坏 6 箜三兰型垒型里塑堡垫查皇茎堡至竺堡垄 块就不能再次使用。上层软什需要对坏块进行管理,使用之前扫描各块,建立坏块表,使用过程中 要维护坏块表。 n a n d 闪存每块可擦写的次数有限,某一块因过度使用会变成坏块,当n a n d 闪存的坏块个数 超过一定数目时将不能使用,通过磨损均衡的方式,机会均等的选择各块使用,可以延长n a n d 闪 存的使用寿命。 s l cn a n d 闪存每块被擦除之后,可以允许其中的每页通过部分编程的方式编程四次,通常f a t 文件系统中使用扇区的概念,一般一个扇区规定为5 1 2 字节,s l cn a n d 闪存可以通过部分编程的 方式在一页中存放4 个扇区的内容。而m l cn a n d 闪存每块被擦除之后,仅允许每页进行部分编 程1 次,冈此m l cn a n d 闪存每页仅能存放一个扇区的内容,而f a t 文件系统的扇区大小是可以 设置的,因此为了提高存储效率,本文的m l cn a n d 闪存存储系统中将扇区的容量设置为页的容 量( 如2 k b ) 。 大容量n a n d 闪存同一块内的不同页编程时,仅允许按页号从, b 至- u 人的顺序使用各页,而不允 许按页的随机顺序使用。m l cn a n d 闪存两片编程时,仅允许两片中行地址相同的两页进行两片编 程操作。 2 2n a n d 闪存文件系统 n a n d 闪存作为嵌入式系统中存储数据和代码的主要存储器,由于自身的物理特性,如必须以 块作为擦除单位,以页作为写入单位,可擦写次数有限,容易出现坏块等,决定了通常适用于磁盘 的f a t 文件系统不能完全适用于闪存】,因此需要特定的方式来管理n a n d 闪存。现在通用的管理 方式有:通过通用块设备文件系统和闪存转译层( f l a s ht r a n s l a t i o nl a y e r ,f t l ) i i 副对n a n d 闪存 的使用进行管理;通过专门针对n a n d 闪存文件系统( y e t a n o t h e rf l a s hf i l es y s t e m ,y a f f s ) 、无排 序区块图像文件系统( u n s o r t e db l o c ki m a g ef i l es y s t e m ,u b i f s ) 等,对n a n d 闪存的使用进行管 理。 2 2 1f a t 文件系统 ( 1 ) f a t 文件系统组织 文件分配表( f i l ea l l o c a t i o nt a b l e ,f a t ) 文件系统是8 0 年代初微软片j 于支持d o s 操作系统的文 件系统【13 1 ,f a t 文件系统的分区主要由以下四个部分组成【1 4 】,它们的分布结构如图2 - 4 所示。 - 保留区( r e s e r v e dr e g i o n ) -f a t 表区( f a tr e g i o n ) _根目录区( r o o td i r e c t o r yr e g i o n ) - 文件和目录数据区( f i l ea n dd i r e c t o r yr e g i o n ) 广 目录数据区 l 引导保留 f a t lf a t 2 根目录文件和其它目录 剩余扇 i 扇区扇区 区 l 扇区3 l 扇区由总簇数决定 同f a t i占首簇开始簇编号( 以2 开始)剩余扇区 图2 4f a t 3 2 文件系统组织结构图 f a t 文件系统以扇区为最小操作单位,对文件和数据的操作以簇为单位,一个簇由若干个扇区 组成。由于在数据区域之后存在扇区的个数不足一簇的情况,形成了位于分区末尾的剩余扇区。 _ 保留区( r e s e r v e dr e g i o n ) 7 东南人学硕士学位论文 f a t l 6 和f a t 3 2 的起始位置都是一个扇区的引导扇区,不同的是f a t 3 2 的引导扇区之后还有3 1 个扇区的保留扇区,第二扇区或第0 x c 扇区用作操作系统引导代码扩展部分,第6 扇区用作第0 扇 区的备份,其余扇区保副1 4 l 。引导扇区( d o sb o o tr e c o r d ,d b r ) 共5 1 2 字节,主要包括跳转指令、 厂商标志、操作系统版本号、b i o s ( b a s i ci np u t a n do u tp u t ) 参数块( b i o sp a r a m e t e rb l o c k , b p b ) 、 引导程序代码和两个字节的结束标志( 5 5 a a ) 组成。b p b 是f a t 文件系统的一个重要数据结构, 它记录了本分区的相关重要参数:每扇区的字节数( 只能是5 1 2 、1 k 、2 k 、4 k ) 、每簇扇区数( 必 须为2 的整数次方,不超过3 2 k ) 、总扇区数、磁盘介质描述符、根目录大小、f a t 个数等。第0 扇 区的5 1 0 、5 1 1 字节的内容一定是0 x 5 5 、0 x a a ,作为引导扇区的有效标志l l 4 | 。 文作分配表区 操作系统分配磁盘空间是按簇来分配的,文件占用磁盘空间时,基本单位不是字节而是簇。每 个簇在f a t 表中占据着一个表项。对于大文什,需要分配多个簇来存放,同一个文件数据不一定存 放在磁盘的一个连续区域内,往往会分成若干段,像链子一样存放,这种存储方式称为文件的链式 存储。为了实现文件的链式存储,文件系统必须准确的

温馨提示

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

评论

0/150

提交评论