分享nandflash排雷攻略

电子说

1.3w人已加入

描述

在Nandflash广泛应用的今天,其高性价比和极大烧录不良率几乎时刻共存,那么 Nandflash究竟有何特性导致其频发烧录事故?今天就和大家分享nandflash排雷攻略。

Nandflash芯片以其高性价比,大存储容量在电子产品中广泛应用。但是,在此量大质优的应用领域,很多客户却痛苦于批量质量问题:专用工具无法满足量产,量产工具却可能出现极大的不良品率,那么究竟要如何解决呢?

其根本原因在于:目前大部分用户并不是很了解Nandflash烧录的复杂性。

用户常采用很直接的方法,即用一颗能正常运行的NandFlash芯片作为母片,在连接编程器之后,点击烧录软件上的“读取”按钮,把数据从芯片里面完整读取出来,再找几颗空芯片,把数据重复写进去。本以为可达到量产的目的,但实际上生产出来的产品却达不到品质的要求,往往会出现批量的产品异常开机或启动的状况!

1

原因分析

原因究竟在哪里呢,在分析之前,那就先得了解一下Nandflash基本的工艺特性:

首先,我们来看NandFlash存储结构,它由多个Block组成,每一个Block又由多个Page组成,每个Page又包含主区(Main Area)和备用区(Spare Area)两个域。其次NandFlash是有坏块的,由于NandFlash的工艺不能保证Nand的Memory Array在其生命周期中保持性能的可靠。

因此在Nand的生产中及使用过程中会产生坏块的。

1

坏块的影响

因为坏块影响了数据的存放地址,用户就不能按常用方法那样,把母片的数据全部读取出来,然后再把数据原原本本拷贝到其他芯片上了,也就产生了传统拷贝机无法量产Nandflash的问题!

既然NandFlash有坏块是无法避免的问题,那就要想办法避开那些坏块;最简单、最有效、最常用的方法就是:跳过!

使用“跳过坏块”,我们很好地解决了NandFlash的坏块问题,原本写到坏块的数据,我们也安全转移到下一个块里面!

2

地址变化

跳过是一种常用而有效的方法,但是实际上,根本问题还依然存在,细心的人会发现,数据存放的地址也发生了变化!

mcu

实际应用中,很多用户会把多个文件数据同时存储到NandFlash上(比如uboot、uImage、Logo、rootfs等烧录文件),并给每个文件在NandFlash存储单元中划分了一定大小的存储空间区域,指定了每个文件存储的起始物理地址块;如果某个区域出现了坏块,为了避开它,势必需要把数据安全往下一块转移,而引起的后果就是后续烧录文件的起始物理地址也随着发生了偏移,这将会导致主控MCU无法通过固定的地址,准确、完整地获取到每个文件的数据,最终造成的结果就是产品异常启动。

2

解决建议

解决建议:分区烧录

分区烧录,用户提前设置好每个文件烧录的起始块地址,无论坏块出现在哪个空间区域,都可以确保每个文件起始块地址都不会发生偏移变化,数据也将根据客户预设方案存放在NandFlash存储区域内,主控MCU也能准确完整读取到每个文件的数据,那么产品就正常跑起来了!

mcu

3

解决方案参考

ZLG立功科技·致远电子的P800系列编程器支持按分区烧录(并可支持多种分区格式),可按照每个用户方案需求,设置每个文件的起始块地址和烧录块长度,即可达到高效率烧录,又可提高芯片烧录良品率!

同时,P800系列搭载独立操作系统,还可满足工厂全脱机,一键批量的烧录要求。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分