完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在SSD(固态硬盘),移动电话和消费类设备中使用的NAND Flash芯片,通常针对速度和每比特位数进行优化,因此,它们必须使用专用逻辑或应用处理器来处理优化带来的复杂性。但是,对于NAND Flash连接到MCU的嵌入式系统,其约束是完全不同的。了解这些差异将帮助开发人员避免代价高昂且耗时的错误。 明确需求 为了在面对NAND Flash的细微差别时,做出良好的设计决策,开发人员必须仔细确定系统需求。首先需要考虑的事项是: •设备的使用寿命? •需要的存储空间? •数据保留时间? •读/写数据的速度? •数据组织方式? •是否需要故障安全? •可以容忍的设备故障率? 需求明确后,你就可以寻找满足这些要求的方法,在产品设计中集成合适的NAND Flash。 NAND Flash基础知识 NAND Flash以页(page)为组成单位,每个页除数据区域外,还包含一个额外的、小的备用区域(spare area),可以用来存储管理信息。页组成块(block)。Flash以块为单位擦除,以页为单位写入。一些设备允许部分页编程,但不允许字节写入。Flash块中的页必须以递增地方式顺序写入,按page0,page1,page2….顺序。某些设备需要先写入一定数量的页,然后才能擦除块。 Flash的备用区用于存储元数据(meta-data),包括坏块标记和错误纠正码(ECC),NAND组织的简单示例,请参见图1。不同的NAND Flash其组织结构会有变化,详细信息请阅读设备的参考手册或数据表,了解所选设备的具体行为。 如何选择NAND设备和接口类型 对于MCU开发人员而言,大多数NAND设备过于复杂而无法集成-主要是由于其纠错要求。通常,SLC(single-level Cell,每个存储单元存放1位数据)Flash需要进行1位校正位,而MLC(Multi Level Cell,单个存储单元可以存储多个位,如2位,4位等)需要进行多位校正位。 MCU开发人员可以从以下三类中选择NAND设备: 1、具有内置ECC计算引擎的Flash,MCU不需要处理ECC,大多数SPI NAND器件包含此功能。 2、Flash需要的1位ECC校正可以通过软件完成。 3、MCU集成了带ECC引擎的NAND控制器,能够匹配所选NAND Flash。通常,MCU集成的NAND控制器只能管理少量位错误(1-8),而应用处理器可能具有更为复杂的ECC引擎。 NAND Flash与MCU的连接有两种方式。传统方法是使用地址与数据复用的8位数据总线。另一种方式是SPI接口,其优点是与MCU的接口简单,且大多数SPI接口的NAND Flash设备包含ECC引擎,可以减轻MCU的处理负担。 关注NAND固有特性 使用NAND Flash的复杂性是许多细微差别导致的,这些差别是这种存储介质不可或缺的一部分。通常,Flash密度越高,使用越复杂。以下是需要注意的事项: 出厂坏块信息:出厂时,设备中的某些块即不可用。在设备生产时,将对每个块进行测试,并将测试失败的块标记为坏块。 ECC校验:所有NAND Flash使用过程中,一些位会变得粘滞或状态翻转。Flash密度越大越不稳定。为了满足设备参数,制造商需要指定所需的纠错级别。ECC存储在每个页的备用区域中。ECC需要大量的计算,纠错的位数越多,工作量越大。 数据保持:使用指定的ECC纠错时,数据可以保持稳定状态的时间。 擦写次数:当指定的ECC不能保护数据之前,每个块可以写入和擦除的次数。 读干扰:对页的读取或写入操作可能会干扰另一页面的内容。 NAND Flash还有许多微妙之处,但并未全部标注在文档中。制造商还对使用场景做出假设,这些并没有记录在案。使用故障安全的软件(如SafeFAT)是最可靠的方法。 通常,给出的错误纠正、数据保持等数字是基于概率计算的,它们倾向于使用“典型”一词,而很少使用“保证”一词。不同的属性也会相互影响–例如,通常,块的擦除次数越多,数据保持率就越低。但此类信息无法从产品数据表中获得。此外,环境条件也会影响这些数字以及Flash使用的寿命。设计产品时,你应该确保设备在指定的参数范围内运行良好。 如果使用场景接近使用的NAND Flash部件的限制,建议您采取两种措施: 1、为您的应用场景建模设备的寿命 2、插入大量错误测试 无需畏惧软件管理 NAND Flash的管理使用Flash转换层(FTL)。FTL对应用程序(或文件系统)隐藏Flash的操作细节,仅处理一组扇区,下图所示。 |
|
相关推荐
|
|
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 02:55 , Processed in 0.330233 second(s), Total 34, Slave 25 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号