什么是NAND Flash位翻转?如何解决其带来的启动异常等问题?
位翻转特性。
大家是否遇到过设备运行一段时间后无法开机,程序运行异常,但重烧固件后问题又神奇消失了的情况。如果你使用的存储是NAND Flash,那么或许位翻转现象是你需要关注的重点问题。
NAND Flash工作原理与数据绝缘储存有关,当需要写入数据时施加电压会形成电场,使电子能够穿越绝缘体进入存储单元完成数据写入。当需要删除存储单元的数据时同时也是需要施加电压的,以引导电子穿越绝缘层使其离开存储单元。
然而问题的关键在于什么是位翻转?位翻转是指在NAND Flash存储单元中由于长期使用电压变化、物理效应等因素,存储单元内的电子状态发生意外变化的现象。举个例子,本应储存为0的状态可能被意外变成了1或者反之,这种变化可能导致数据的读取错误,进而引发设备异常运行、启动问题等。
位翻转的出现通常源于漂移效应、频繁对某一区域的读写操作以及存储单元寿命耗尽等原因。要解决这个问题一种很常见的方法是引入ECC校验机制,这个机制能够检验所读取数据的正确性并在一定范围内纠正错误。
为了应对NAND Flash位翻转可能带来启动异常等问题,致远电子M3352核心板提供了有力的解决方案。通过在U-Boot支持8位ECC校验算法,它可以纠正小于8位的位翻转的问题。而对于超过8位的数据位翻转,系统将从备份分区启动并恢复坏区,从而保障系统不会因NAND Flash位翻转而导致启动问题。
NAND和NOR Flash 完全学习笔记(基础篇)
本文要点:1. NAND FLASH与NOR FLASH 的技术对比;2. 最详细的存储单元对比详解;3. NAND FLASH与NOR FLASH 的最新市场份额及应用;4. NAND FLASH与NOR FLASH 的基础原理分析。
目前,NOR FLASH和NAND FLASH是市场上主要的非易失性闪存技术,但是据我了解,还是有很多工程师分不清NAND FLASH与NOR FLASH。首先,来一个直观的图片。
然后,我从权威的网站上找到了最新的NAND FLASH收益以及市场份额表,根据最新的表单,我们可以知道谁是这个市场的老大,做的比较好一些,一方面让工程师时刻知道市场的动向,另一方面可以在之后的器件选型等方面提供重要的参考。
一般来说,快闪记忆体可分为两大规格,一个是NAND, 一个是NOR。简单来说,NAND一般以存储数据为主,晶片容量大,容量可以达到2Gb甚至更大,NAND的读取是以一次读取一块的形式来进行的,通常一次读取512个字节,采用这种技术的Flash比较廉价;NOR一般以存储程序代码为主,又称为Code Flash,所以可让微处理器直接读取,但晶片容量较低,主流容量512Mb,NOR采用内存的随机读取技术。如果利用闪存只是用来存储少量的代码,这是NOR Flash更合适一些。用户不能直接运行NAND Flash上的代码,因此很多使用NAND Flash的Demo Board除了使用NAND Flash以外,还加上一块小的NOR Flash来运行启动代码。通过下表我比较了几乎所有关于NAND FLASH以及NOR FLASH的全部重要特性。
然后,对于Flash三个重要概念的理解:
1. Flash属于非易失性存储设备,内部存储单元是MOSFET,里面有一个悬浮门(Floating Gate), 是存储数据的单元。与此对应的,易失性存储设备就是断电后,数据就丢失了,例如常用的内存,不论是之前的SDRAM,还是现在通用的DDR3以及DDR4,都是断电后,数据就没有了。
2. SLC和MLC的区别:NAND FLASH的内存单元可以分为两类,存储一位数据,也就是SLC(Single Level Cell); 对应的,存储多位数据的就是MLC(Multi Level Cell),比如两位,或者四位。
3. 大多数的写入操作需要先进行擦除操作。
到此,对于NAND FLASH以及NOR FLASH 我们有了一个基本的认识。我对知识的学习一个重要的方法是对比,通过图表的对比更能看出各自的差异化,从而达到加深知识的效果,因此我做了下图来比较目前还算所有存储器的最小单元结构图,便于学习与理解。
原理分析 要说明此原理,需要一些基本的量子物理学,我认为以下这种论述是比较适合理解的,也很有趣:经典物理学认为,物体越过势垒,有一定的阈值能量;所以,粒子能量小于此阈值能量的不能越过,能量大于此阈值能量的可以越过。举例来说,我们骑自行车过坡道,如果先用力骑,因此有一定初入能量,坡道不高的话,即使不蹬自行车也可以依靠惯性过去;但是,如果坡道很高,不蹬自行车,可能车到了一半,可能就退回来了。而量子力学则认为,即便是粒子能量小于阈值能量,同时很多粒子冲向势垒,虽然也有一部分粒子会反弹,但是还会有一些粒子可以越过去,好像有一个隧道,因此称为量子隧道。
对比二者的差异发现,宏观上的确定性在微观上常常就具有不确定性。因为隧穿几率极小,因此通常情况下,隧道效应并不影响经典的宏观效应,但是某些特殊条件下也会出现。当微电子器件进一步微型化是必须要考虑量子效应。NAND FLASH的擦写均是基于隧道效应,电流穿过浮置栅极与硅基层之间的绝缘层,对浮置栅极进行充电(写数据)或放电(擦除数据);另外,NOR FLASH擦除数据也是基于隧道效应(电流从浮置栅极到硅基层),但在写入数据时则是采用热电子注入方式(电流从浮置栅极到源极)。对于FLASH闪存单元来说,它是为三端器件,与场效应管有相同的名称:源极、漏极和栅极。栅极与硅衬底之间有二氧化硅绝缘层,用来保护浮置栅极中的电荷不会泄漏。采用这种结构,使得存储单元具有了电荷保持能力。举个栗子,就像是装进瓶子里的水,当你倒入水后,水位就一直保持在那里,除非你再次倒入或倒出,所以闪存具有记忆能力。
绝缘浮置栅极是NAND存储数据的核心
相关问答
arm CPU集群 如何 启动 ?启动方式(1)norflash:2MB,从norflash的0地址处开始运行第一条代码,所以代码一定要放在norflash的最前端(2)nandflash:128MB,但是nandflash没有参...
ubootmlospl是什么东西?当选择从nandflash启动时,spl为第一阶段,copy前4K到iram,然后完成初始化ddr后,重定位,跳转到ddr,copy剩余uboot到ddr,开始启动第二阶段。当选择从nandfl...
如何编写 nandflash 驱动?实际上与其他嵌入式系统一样。给没有操作系统的手机写驱动:查看datasheet,一点一点写吧;有操作系统的,先学习操作系统提供的API接口,再学习操作系统提供给...
请问电子行业中 NAND FLASH 的中文怎么翻译? - 懂得NAND闪存NANDFLASH的中文翻译为nand闪存。
怎么把固态硬盘设置为第一 启动 系统?设置方法1、首先如果您的SSD还没有安装系统可以下载一个启动U盘的启动制作工具,安装一个系统;然后进入电脑开机的BIOS中,开机的时候,按住DEL键就可以进入BIO...
如何编写Linux下 NandFlash 驱动?实现ubifs相对简单,框架都搭好了,根据nandflash控制器写mtd接口就好了。主要关注pagelayout,硬ECC能力是否与nand要求匹配,ECC最好有纠错比特数预警,以实...
Nandflash 和norflash的区别?nandflash和norflash的区别如下:1、开发的公司不同:NORflash是intel公司1988年开发出了NORflash技术。NOR的特点是芯片内执行(XIP,eXecute...
bib文件是什么意思[回答]nboot是从NANDflash读image到内存并执行,eboot是从以太网(用tftp)下载image到内存并执行。将nboot.nb0烧到第0块,将eboot.nb0烧到第2块。启动时nbo....
NAND Flash 和Nor Flash 到底有什么区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%...
天行计划是什么?1:++天行计划是一个健康管理计划。1.天行计划的目标是通过科学的健康管理方法,帮助个人提高身体健康水平。它包括制定合理的饮食计划、定期进行体检、参加适...