新增NAND写入算法:跳过坏块并重建坏块表
宝剑锋从磨砺出,梅花香自苦寒来;
博观而约取,厚积而薄发。
有心的小伙伴可能在最新的软件版本里会看到,写入NAND时增加了一个新的算法:跳过坏块并重建坏块表 。
以海信5079板,MSD6A801芯片方案为例,先给大家演示RT809H写入NAND新算法。
先找一片坏块较多的Nand芯片,按方向放入RT809H编程器,锁好锁紧座。
点智能识别,选择NAND Falsh,稍等会自动识别到相同ID的芯片型号。
识别出两个芯片型号,选择跟芯片型号一致的K9K8G08U0D@TSOP48。
我们先点一下坏块检测,看看此芯片的坏块分布(坏块检测会破坏NAND芯片内数据,谨慎使用)。
检测到23个坏块,严格来说,基本算是残次品。
点设置,出现三个选项,硬拷贝;跳过坏块并重组数据;跳过坏块并重建坏块表。此板请选择“跳过坏块并重建坏块表 ”。
点写入,选择备份文件,开始自动写入。
可以看到界面上已经显示算法为“跳过坏块并重建坏块表”。
开始写入,耐心等待。。。
写入完成,接下来对写入后的NAND芯片进行验证,先把NAND芯片装回电视板卡。
连接上串口,同时监控打印信息。
通电,看到正常进入系统。同时监控显示画面,直到启动完成。
操作遥控,各项功能正常!
由于NAND使用领域的多样性和NAND自身的特殊性,坏块管理都不尽相同,就拿电视主板来说,我们通过大量板卡测试,和大量时间做了深入研究,发现不同的电视厂家,使用的坏块管理算法都不同,我们特此汇总了三种不同的算法,经过测试已经解决了目前在中国能够见到的电视主板NAND写入问题 。
NAND_AUTO读写芯片时,符合ONFI标准的芯片,读写成功率较高,比如海力士、镁光、ST、华邦等,而三星、东芝等厂商未加入此标准化组织,所以有可能参数识别错误导致读写后不能用,请提交NAND_AUTO读取得到的ID给我们,添加对应的芯片型号即可解决问题 。
国外用户如果遇到NAND读写问题,请提供好的板卡给我们测试。
没有哪种算法可以解决所有NAND复制问题,只能是遇到问题再研究新算法来解决问题。iFix爱修一直致力于为维修行业解决难题。
最近发现大家都在问一个比较实际的问题:RT809H以后会不会想其他编程器厂家一样,相同封装、不同型号的NAND芯片,使用不同的转接座?转接座的写入次数是多少?
这里是正式回答:RT809H编程器写入所有TSOP48封装的NAND芯片,只需要TSOP48通用座就可以了,永远不会限制写入次数!
视频演示,腾讯视频网址: https://v.qq.com/x/page/h0737szc7xu.html
学习课程已更新,欢迎大家进入学习。
入口:公众号首页-精选-案例直播;
目前课程观看已使用专属APP,
支持苹果、安卓手机以及电脑,
微信授权登录即可,
详见微信及QQ通知。
杂谈闪存二:NOR和NAND Flash
三星终于从爆炸门中走了出来,受到来自DRAM 与NAND 价格上涨带动,三星把Intel从盘踞了14年的半导体王座上赶了下来,风光可谓一时无两。虽然下半年市况预料将会修正,但今年整体DRAM 仍可较去年成长39%,NAND 则成长25%,而这两项恰恰曾经帮助过Intel走向巅峰,真是成也萧何,败也萧何啊。说起NAND Flash,他和他的哥哥NOR Flash可谓是20世纪最重要的发明之一,他的诞生和发展很是曲折,生于日本,长于美国,如今却在韩国大放异彩。今天的历史故事要从他的发明人桀冈富士雄(Fujio Masuoka)和他的狗血东家说起。
历史
Intel很早就发明了EPROM,这是一种可以用紫外线擦除的存储器。相较于ROM,它的内容可以更新而且可以保持10~20年,老式电脑的BIOS都存储于此。
(Intel 1702)
它的顶部必须被覆盖住,以防被阳光里的紫外线擦除。后来Intel在其基础上于1978年发明了电可擦除的升级版叫做EEPROM。不需要阳光的帮忙,方便多了,可是读取和擦除速度却非常缓慢。
这时我们的主人公富士雄出场了,他于1971年加入了东芝公司。受到了EEPROM的启发,他开始利用自己夜晚和周末的时间钻研一种能快速擦除的EERPOM。他在1980年取得突破,申请了一个叫做simultaneously erasable EEPROM的专利。然而,日本大公司的论资排辈却让这项划时代的发明石沉大海,直到4年之后。
“我终于被提拔了,可以不要批准就去工厂,让工人们帮忙做出样品了”,富士雄说。当他拿着他的样品参加当年的IEEE大会的时候,NOR Flash引起了轰动,以至于当他回到日本后,他的老板总是被Intel打来的要样品电话骚扰。他被奖励了几个人手帮忙,而这些人却是part-time的。而在大洋的另一边,Intel在收到样品后,立刻派出300多个工程师全力研发自己的版本。由于新发明的这种EEPROM擦除速度飞快,富士雄的同事建议他把这种技术取名Flash,暗合相机的闪光灯飞快闪烁之意。
东芝公司并没有把NOR flash技术当作宝贝,只是不想要别人插手而已。所以不停的起诉任何希望染指的公司,如TI公司。而富士雄却并没有停止他的追求,在1986年发明了NAND Flash,大大降低了制造成本。由于他的贡献,东芝奖励了他一笔几百美金的奖金和一个位置很高却悠闲的职位。做为一个工程师,他忍受不了这种待遇,不得不辞职进入大学继续科研。
东芝公司的短视很快招来了市场的惩罚。Flash市场迅速扩张,在90年代末期就达到数百亿美金的市场规模,Intel是这个市场的霸主,而东芝公司只享有很小的份额(NAND,NOR几乎没有)。在很长一段时间,东芝公司甚至不承认NOR flash是他发明的,说是Intel发明的。直到IEEE在1997年颁给富士雄特殊贡献奖后才改口。
富士雄觉得自己的贡献被东芝公司抹杀了,他愤然于2006年起诉了公司,并索要10亿日元的补偿。最后他和东芝公司达成和解,得到8700万日元(合758,000美元)。富士雄没有依旧停止自己的脚步,在获得进200个专利后,他还在向着下一个big thing进发。
无疑富士雄是个英雄,有人说应该颁给他诺贝儿奖,他也是我还可以记得名字的发明人之一,而其他的很多技术发明人却泯然众人矣。从这个故事中也可以折射出日本大公司的官僚主义和大公司病。
NOR VS NAND
那么什么是NOR Flash和NAND Flash?我们先来看看他们芯片的样子:
(左边是NAND,右边是NOR)
他们的电气原理我就不讲了,感兴趣的人也不多。我们这里主要聚焦在他们的共性和特性上。
1。共性
A. 都是非易失存储介质。即掉电都不会丢失内容。
B. 在写入前都需要擦除。实际上NOR Flash的一个bit可以从1变成0,而要从0变1就要擦除整块。NAND flash都需要擦除。
2。特性
特性是决定使用哪种Flash的根据,我这里总结出一张表:
如果以美光(Micron)自己的NAND和NOR对比的话,详细速度数据如下:
(数据来源Micron)
如果我们单独看随机读取速度:
(数据来源Micron)
如果用现在流行的关系图看是这样:
(数据来源Toshiba)
应用场景
在PC和手机上我们都可以找到NOR和NAND Flash的身影。
1。NOR Flash
NOR Flash和普通的内存比较像的一点是他们都可以支持随机访问,这使它也具有支持XIP(eXecute In Place)的特性,可以像普通ROM一样执行程序。这点让它成为BIOS等开机就要执行的代码的绝佳载体。
NOR Flash 根据与 Host 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。
Parallel NOR Flash 可以接入到 Host 的控制器 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问。NOR Flash在BIOS中最早就是这种接口,叫做FWH(Firmware HUB),由于其接是并行接口,速度缓慢,现在基本已经被淘汰。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 也就是PCH相连。
现在几乎所有的BIOS和一些机顶盒上都是使用NOR Flash,它的大小一般在1MB到32MB之间,价格昂贵。
2。NAND Flash
NAND Flash广泛应用在各种存储卡,U盘,SSD,eMMC等等大容量设备中。它的颗粒根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。
NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。
现在高端SSD会选取MLC甚至SLC,低端SSD则选取TLC。SD卡一般选取TLC。
3。其他
1. 最早的手机等设备之中既有NOR Flash也有NAND Flash。NOR Flash很小,因为支持XIP,所以负责初始化系统并提供NAND Flash的驱动,类似Bootloader。而NAND Flash则存储数据和OS镜像。三星最早提出Norless的概念,在它的CPU on die ROM中固话了NAND Flash的驱动,会把NAND flash的开始一小段拷贝到内存低端作为bootloader,这样昂贵的NOR Flash就被节省下来了,降低了手机主板成本和复杂度。渐渐NOR Flash在手机中慢慢消失了。
2. NOR Flash最大的问题是擦写慢和可擦写次数少,但是很少会因为这个原因造成BIOS速度降低和损坏,你知道是为什么吗?
尾声
NAND Flash相对NOR Flash更可能发生比特翻转,就必须采用错误探测/错误更正(EDC/ECC)算法,同时NAND Flash随着使用会渐渐产生坏块;我们在使用NAND Flash的SD卡上经常使用FAT文件系统,如果大家度过前面的文章(传送门:FAT文件系统与UEFI - 知乎专栏)就会知道,文件分配表会被频繁改写,而每块的擦写次数是NAND Flash寿命的决定性因素。如何才能平衡各块的擦写和为可能的坏块寻找替换呢?通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类:
最早大家都是使用raw Flash,FTL全由驱动程序实现。后来发展到SD和eMMC等,则由设备固件实现抽象。
FTL的原理是我们下一篇的主要内容。
相关问答
NandFlash烧录时 坏块 是如何处理的?WinCE或Linux系统通常存储于NandFlash中,而NandFlash频繁擦写易出现坏块,坏块影响系统正常工作,严重时会导致系统无法启动。M3352核心板、M283核心板、M287核...
nandflashnorflashmcpflash的区别?norflash的存储区是连续的支持连续烧录,nand不支持连续烧录,其存储区不是连续的。nor出厂可以保证是好的,不存在坏块;nand可能存在坏块。其他的区别网上可查...
三星固态硬盘为什么有120G和128G?选购SSD时是,大家很容易就发现怎么有些品牌标着128G,有些品牌标着120G呢?那8G的容量差跑哪去了?为什么系统显示的硬盘容量仅为119G?其实这与SSD中OP(Over-provisi...
三星也被告了,ZeniMax是不是耍流氓?首2016年,内存、闪存的缺货涨价势头持续上扬,闪存价格一路飙升到2015年年初水平,可见去年一整年闪存的缺货有多严重。在缺货的大背景下,终端厂商被迫做出...在缺...
固态硬盘能用多久?..而对于很多小厂的固态硬盘,做工、用料非常一般,质量一般,即使没有达到理论最大写入量,很容易发生故障。选择大厂的固态硬盘,仅作为系统和软件盘使用,不用...
固态硬盘SSD真的安全吗?执行加密块擦除后,映射数据完全丢失,SSD数据完全不可恢复。(2)加密块和物理块擦除:除了进行加密块擦除外,还对所有的NANDFlashBlock执行Erase操作,保证...目...
固态硬盘到底能用几年?一般认为,固态硬盘的寿命应该在5年以上。通常情况下,固态硬盘的使用寿命取决于以下几个因素:1.NAND闪存的耐用性:固态硬盘的大部分存储空间由NAND闪存组...
SSD固态硬盘的flash肿么辨别是MLC还是SLC?-ZOL问答国外有过极限测试,3000PE的MLCSSD,能实际写到6000PE以上才用光坏块重映射。至于速度,因为MLC价格便宜,可以用更多的NAND,通道数上去速度可能反而比SLC更高。...
用了两年的固态,掉速严重,上网卡顿,怎么才能恢复原来的速度?其实现在SSD基本都支持TRIM和GC功能,所以用久后会掉速的可能性已经比较少会发生了,其实更大的可能性是最初安装SSD时就有些地方没注意到,用久之后才发现问题的...
SSD性能足够强悍的时候,比如5Gb/s,内存还有存在的必要性吗?由于传送带实际是电流,所以传送带的速度是光速。而当数据往仓库里存的气候,就必须有一个库管员(文件系统),把数据进行编号,按照一定规则放到货架上。然后取...