NAND NOR FLASH闪存产品概述 随着国内对集成电路,特别是存储芯片的重视,前来咨询我们关于NOR Flash,NAND Flash,SD NAND, eMMC, Raw NAND的客户越来越多了 具备如下特点: 1,免驱动使用;2,可机贴;3,尺寸小巧。 ,NOR,NAND 3类,他们框架如下: 一,E2PROM 容量非常小,目前存在于一些MCU内部,遥控器,电风扇等小家电里。 主流是SPI NOR接口; 主流容量:1Mbit~128Mbit; 封装:SOP-8居多,也有更小的;尺寸也都比较小。 NOR Flash架构决定了它的容量不能做大,而且读取速度比较慢。 3.2 生产工艺 目前主要有2D和3D。主流生产工艺已经升级到3D了。2D和3D区别可以看如下的示意图: 可以理解2D工艺就是老的砖瓦房,3D工艺就是摩天大楼。带来的最大好处就是存储密度N倍的增长。
,NOR,NAND 3类,他们框架如下: 一,E2PROM 容量非常小,目前存在于一些MCU内部,遥控器,电风扇等小家电里。 主流是SPI NOR接口; 主流容量:1Mbit~128Mbit; 封装:SOP-8居多,也有更小的;尺寸也都比较小。 NOR Flash架构决定了它的容量不能做大,而且读取速度比较慢。 3.2 生产工艺 目前主要有2D和3D。主流生产工艺已经升级到3D了。2D和3D区别可以看如下的示意图: 可以理解2D工艺就是老的砖瓦房,3D工艺就是摩天大楼。带来的最大好处就是存储密度N倍的增长。 ,NOR,NAND 3类,他们框架如下: 一,E2PROM 容量非常小,目前存在于一些MCU内部,遥控器,电风扇等小家电里。 主流是SPI NOR接口; 主流容量:1Mbit~128Mbit; 封装:SOP-8居多,也有更小的;尺寸也都比较小。 NOR Flash架构决定了它的容量不能做大,而且读取速度比较慢。
NAND FLASH,NAND为NOT AND(与非)之意,而NOR为NOT OR(或非)之意,该名称的命名是与两种FLAHS的架构有关的,如图所示: 两种Flash的架构对比 NAND FLASH 是把存储单元串行连在位线上,而 NOR FLASH 则是把存储单元并行的连到位线上。 所以 NOR 型的闪存存储器实现按位随机访问,而NAND 只能同时对多个存储单元同时访问。 对于 NOR FLASH,如果任意一个存储单元被相应的字线选中打开,那么对应的位线将变为 0,正是由于这种和 NOR 门电路相似的逻辑关系,使得这种结构的闪存被称为 NOR 型闪存,而 NAND FLASH 需要使一个位线上的所有存储单元都为 1,才能使得位线为 0,和 NAND 门电路相似的逻辑,故称之为NAND型闪存。
背景 支持一款nor flash时,出于性能考虑,一般会查看其nor支持的最高频率以及主控端spi控制器的最高频率,以选择一个合适的运行频率。 主控端的最高频率,可以查看主控的规格书,本文主要说下nor的频率限制。 让我们带着问题出发,假设我们的主控端最高spi clk为100M,那该怎么识别nor的限制,驱动又可以怎么处理? 正确识别频率限制 让我们打开nor的规格书,搜索 "freq", 很容易看到104M, 133M之类的字样 。 看来我应该把标题取成 “震惊,nor flash最慢的一条命令竟然是...” 那下面的fT和fQ标注的84M又是什么意思? 多看几款规格书,我们就可以发现,READ并不孤单,有些nor flash,不止READ跑不到100M,读ID之类的命令也跑不到100M。
擦除操作正好相反,是在衬底加正电压,把电子从浮栅极中吸出来,如图3-2所示: ? 图3-2 左:写原理;右:擦除原理 在2014年的闪存峰会上,浮栅晶体管的发明人施敏(Dr.Simon Sze)被授予终身成就奖,以表彰他发明了浮栅极晶体管。 SLC,MLC,TLC 一个存储单元存储1比特数据的闪存,我们叫它为SLC (Single Level Cell),2比特为MLC (Multiple Level Cell) ,3比特为TLC (Triple 图1-6 TLC电压分布(来源:Inside NAND Flash Memory) 同样面积的一个存储单元,SLC,MLC和TLC,分别可以存储1,2,3 比特的数据,所以在同样面积的DIE上,闪存容量依次变大 下表所示是SLC,MLC和TLC在性能和寿命(Endurance)上的一个直观对比 (不同制程和不同厂家的闪存,参数不尽相同,数据仅供参考): 闪存类型 SLC MLC TLC 每单元比特数 1 2 3
应用程序对NOR芯片操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时指定逻辑块号和块内偏移。 NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据。 由于NOR地址线和数据线分开,所以NOR芯片可以像SRAM一样连在数据线上。 NOR闪存的可靠性要高于NAND闪存,这主要是因为NOR型闪存的接口简单,数据操作少,位交换操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高的地方。 从使用角度来看,NOR闪存与NAND闪存是各有特点的:(1)NOR的存储密度低,所以存储一个字节的成本也较高,而NAND闪存的存储密度和存储容量均比较高; (2)NAND型闪存在擦、写文件(特别是连续的大文件 在NOR闪存上运行代码不需要任何的软件支持,在NAND闪存上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR闪存在进行写入和擦除操作时都需要MTD
下主面要介绍下nor flash写保护,这个是可以在驱动层面做的。 nor写保护 写保护是nor提供的功能,即可以通过配置一些寄存器,将某些区域保护起来。 BP保护 大多数nor flash支持使用BP位来配置写保护,这种保护的特点是其保护的数据是成片的,一般是从flash头部开始的一片数据,或者从flash尾部开始的一片数据。 winbond的这款flash就标注了 [dsqbmb9sln.png] [hulusse508.png] 从规格书可很容易看出,保护的范围是BP bit再结合其他的一些bit 一起决定的,可以保护1/2, 不同厂家的保护bit设置都不太一样,涉及到BP bit,SEC bit, CMP bit等,每适配一款新的nor,都得重新查下规格书才行。 假如A处于flash的中间位置,那么解保护的范围会接近1/2 flash的范围。此时发生解析错误,把A解析成B,那么B落在这片未保护的区域的概率还是比较高的。
中地址线都是从ADDR2中开始连接的,即A0-ADDR2、An- ADDR(n+2)、这是因为ARM是32位处理器所以它一次处理数据都是以32位为单位的,也就是说它读或者写数据时,地址只能为0x0000 ,2,3对应的其实是0地址的内部的不同部分,这部分是是由Memory Controller来控制的,根据0,1,2,3选择0地址内部不同的部分返回给CPU)。 分配map_info结构体 */ s3c_nor_map = kzalloc(sizeof(struct map_info), GFP_KERNEL);; /* 2. ->phys = 0; s3c_nor_map->size = 0x1000000; /* >= NOR的真正大小 */ s3c_nor_map->bankwidth = 2; s3c_nor_map */ add_mtd_partitions(s3c_nor_mtd, s3c_nor_parts, 2); return 0; } static void s3c_nor_exit(void
2. 分类 NOR和NAND是市场上两种主要的非易失闪存技术。 在1984年,东芝公司的发明人舛冈富士雄首先提出了快速闪存存储器(此处简称闪存)的概念。 后来的这种闪存被统称为NOR闪存。它结合EPROM和EEPROM两项技术,并拥有一个SRAM接口。 第二种闪存称为NAND闪存。它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。 NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。NAND的存储单元只有NOR的一半,在更小的存储空间中NAND获得了更好的性能。 3. 可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。 耐用性方面,NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。 2. 特点 接口:标准SD规范2.0版,带有1-I/O和4-I/O。 电源:Vcc=2.7V-3.6V。
上章分析了uboot启动流程后,接下来便来配置新的单板,实现nor、nand启动 ---- 1.首先在uboot里新建单板2440 1.1将2410的单板文件夹拷贝成2440: cd board/samsung 上,测试 烧写测试时,由于新的uboot较大,可以使用nor上的旧uboot,通过DNW烧写新的uboot到nor上面. (B1_PMC)) .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+( 发现无乱码了,表示nor启动成功,其中Flash: *** failed ***表示不支持norflash,因为我们只实现了重定位,并没有对nor实现写擦除等命令。 uboot支持nor flash、nand flash.
它采用的,就是NOR Flash闪存。 1994年,闪迪公司第一个推出CF存储卡(Compact Flash)。当时,这种存储卡基于Nor Flash闪存技术,用于数码相机等产品。 很快,三星开始发售NAND闪存,闪迪推出了采用MLC串行NOR技术的第一张闪存卡。 1997年,手机开始配置闪存。从此,闪存继数码相机之后,又打开了一个巨大的消费级市场。 后来,又有了MiniSD、MicroSD、MS Micro2和Micro SDHC等,相信70后和80后的小伙伴一定非常熟悉。 3D NAND时代的到来 正如之前DRAM那篇文章所说,到了2012年左右,随着2D工艺制程逐渐进入瓶颈,半导体开始进入了3D时代。NAND Flash这边,也是如此。 参考资料: 1、《半导体行业存储芯片研究框架-NOR深度报告》,方正证券; 2、《杂谈闪存二:NOR和NAND Flash》,老狼,知乎; 3、《存储技术发展历程》,谢长生; 4、《闪存技术的50多年发展史
: SPI NOR Framework:这层主要是处理不同厂家的NOR 物理特色差异,初始化SPINOR的工作状态,如工作线宽(1 线、2 线、4 线、8 线)、有效地址位(16M 以上的NOR 需要使用 对应代码目录:drivers/mtd/spi-nor/spi-nor.c M25P80(generic SPI NOR controller driver):这层主要对SPI NOR Framework Flash NOR Flash 是一种非易失闪存技术,是Intel 在1988 年创建 MTD MTD(memory technology device 内存技术设备) 是用于访问memory 设备( spi_sclk = port:PC00<4><0><2><default> spi_cs = port:PC01<4><1><2><default> spi0_mosi = port:PC02<4>< 0><2><default> spi0_miso = port:PC03<4><0><2><default> spi0_wp = port:PC04<4><0><2><default> spi0_hold
闪存介绍 由于 HTTP 协议是无状态的,所以 Laravel 提供了一种用于临时保存用户数据的方法 - 会话(Session),并附带支持多种会话后端驱动,可通过统一的 API 进行使用。 image.png 在控制器中定义闪存: session()->flash('success', '欢迎,您将在这里开启一段新的旅程~'); 之后我们可以使用 session()->get('success
闪存则是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。 2. 分类 NOR和NAND是市场上两种主要的非易失闪存技术。 在1984年,东芝公司的发明人舛冈富士雄首先提出了快速闪存存储器(此处简称闪存)的概念。 後来,Intel发明的这类闪存被统称为NOR闪存。它结合EPROM和EEPROM两项技术,并拥有一个SRAM接口。 第二种闪存称为NAND闪存。 它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。 可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。 耐用性 在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。
最近研究了下nor flash的掉电问题,对nor的掉电有了更多的认识。总结分享如下 擦除从0变1,写入从1变0 nor flash的物理特性是,写入之前需要先进行擦除。 写入过程掉电 对于nor来说,一次写入可以连续写256 bytes,那如果在中途发生了掉电,再次上电后读出来的数据会是什么样的呢? [41f6na3zx0.png] 擦除过程中掉电 从nor flash原厂了解到,erase操作其实在flash内部分成三个步骤: 1)pre-program all "00"; 2)erase; [ris4ygita2.png] 第二步骤:erase 全部写入0之后,就进行擦除,擦除是会将所有的0都变成0xFF,这个是4k的数据并行进行的,在这个过程中掉电,可以看到所有的数据都介于0-0xFF 本文链接:https://www.cnblogs.com/zqb-all/p/12207924.html 公众号:https://sourl.cn/2Cc4jB
但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电 NAND Flash和NOR Flash的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术。 许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。 NOR是现在市场上主要的非易失闪存技术。 NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。 2、接口差别: NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
1.4.4.1 QSPI FlashQSPI Flash(Quad SPI Flash)是一种串行外部闪存,采用了NOR闪存作为其存储介质。 具体来说,QSPI Flash内部包含了一个控制器和一个或多个NOR闪存芯片,控制器通过SPI接口与主机之间进行通信。 1.4.4.2 其他NOR Flash存储器其他使用Nor Flash存储器技术的存储器包括Parallel NOR Flash、SPI NOR Flash和XIP Flash等。 2 磁盘存储介质磁盘存储介质是指采用磁性材料作为存储介质的存储设备,如硬盘、软盘等。将磁性材料分成若干个小的磁区域,通过磁头在磁盘表面的扫描和改变磁区域的磁化方向,实现对数据的读取和写入。 机械硬盘的容量通常较大,常见的容量有1TB、2TB、4TB等。机械硬盘的读写速度通常比软盘快得多,一般能够达到几百MB/s的速度。
SLC颗粒 MLC:双层存储单元MLC = Multi-Level Cell,即2bit/cell,速度一般寿命一般,价格一般,约3000—1万次擦写寿命。
之前有介绍过写保护,这里就不赘述了,可参考:https://www.cnblogs.com/zqb-all/p/12182920.html 但没有谈到开销,今天有同事问起,便记录一下 性能 不考虑写保护的nor
常见的Flash有NAND Flash 、Nor Flash、eMMC等,本文将简单介绍不同Flash的区别及应用场景。图1 瑞萨G2L双核A55核心板1. 图2 并行NAND Flash接口图3 串行NAND Flash接口按照颗粒密度区分,并行NAND Flash可以分为SLC、MLC、TLC、QLC等,其中SLC、MLC颗粒较为常用。 Nor FlashNOR Flash是一种非易失闪存技术,是Intel在1988年创建。是市场上两种主要的非易失闪存技术之一。按照接口区分, Nor Flash也可以分为并行和串行两种。 由于并行Nor Flash易存在兼容性问题,现已逐渐淘汰,目前常用的Nor Flash通常指串行Flash,即SPI Flash,其接口定义和图3一致。 eMMC=Nand flash +闪存控制芯片+标准接口封装,其内部集成的闪存控制器具有读写协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能,极大降低了Nand-flash的使用难度