烧录器读写SPI Nor Flash要点剖析及烧录速度对比
烧录器烧录NANDFlash注意事项
烧录器烧录NANDFlash注意事项烧录器烧录NAND Flash注意事项摘要:母片的数据读取出来,然后再把数据原原本本拷贝到其他芯片上,却无法正常运行呢?因为客户忽略了NAND flash里面是有坏块!芯片里面的坏块,就好像埋在芯片的“地雷”。
有效的“排雷”方法有哪些呢?日常工作场景:技术支持电话叮铃铃响了,客户在电话用非常紧急的语气说:“使用SmartPRO系列编程器,烧录某款NAND Flash,烧录成功之后,贴板却跑不起来,请紧急帮忙分析原因!”然后呢?…..然后就没有了…………耐心寻找疑点:通常遇到这种情况下,我们都会首先详细询问:“请将您的操作流程详细描述一下。
”发现问题的来源:客户的一五一十的说,他使用了最原始的办法:使用一颗能正常运行的NAND芯片作为母片,连接编程器之后,点击烧录软件上的“读取”按钮,把数据从芯片里面拷贝出来,然后再找几颗空白芯片,把数据拷贝进去。
从客户的描述当中,我们初步找到了原因:原来客户把NAND Flash当作普通Nor Flash 使用了!为了让读者更加愉快地阅读下文,先请本文的主角NAND Flash自我介绍一下1、Nand Flash有自我的存储结构:Nand Flash存储器由多个Block组成,每一个Block又由多个Page组成,每个Page 又包含主区(Main Area)和备用区(Spare Area)两个域;2、NAND Flash是有坏块的:由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND的生产中及使用过程中会产生坏块的。
3、NAND Flash有专用的ECC算法:由于NAND Flash本身工艺的特性,在读取或者校验的时候,会出现一个或者多个bit 的出错;为了应对这种情况,NAND Flash引用一种比较专用的校验方法----ECC(Error Correcting Code);4、NAND Flash容易出现位翻转:由于NAND Flash本身硬件的内在特性,在对Flash操作过程中,会偶尔地出现位反转的现象;所谓的位反转(bit flip)指的是原先NAND Flash中的某个位(bit),发生了变化,要么从1变成0了,要么从0变成1了;基于Nand Flash上述1、2、3、4点特性,我们还继续把它当作普通Nor Flash使用吗?NO!重新追溯问题的源头:为什么客户把母片的数据读取出来,然后再把数据原原本本拷贝到其他芯片上,却无法正常运行呢?因为客户忽略了NAND flash里面是有坏块!芯片里面的坏块,就好像埋在芯片的“地雷”,那么我们在读取数据的时候,会把母片里面的“地雷”当成数据!给出排除、解决方案:既然芯片里的“地雷”这么危险,那我们就想办法去躲开它吧,最简单最有效的方法就是:跳过!跳过“地雷”就真的能彻底解决问题了吗?NO!“地雷”是给被我们绕开了,原本写到“地雷”位置的数据,我们也安全转移到下一个块里,但是细心的人也会发现,数据存放的地址也发生了变化!用一个图来描述更清楚一点:很多客户使用NAND Flash来存储大量数据,而这些数据又是由多个文件分别组成,比如uboot、uImage、Logo、rootfs等烧录文件,每个文件在NAND Flash又给分配一定的存储区域,并且指定了每个文件存储的起始物理地址块;如果“地雷”出现在数据区域,为了避开它,势必需要把数据安全往下转移,引起的后果是后续烧录文件的起始物理地址也随着发生偏移了,这将会导致主控MCU无法准确完整地获取每个文件的数据,最终造成的结果是芯片无法跑起来!这样的话,就真的是没办法解决了吗?按分区烧录,完美解决问题按分区烧录,无论“地雷”出现在哪个地方,分区文件都是按照规则,来安排数据的存放的,很好的避开了“地雷”,也将根据客户预设方案存放在NAND Flash存储区内了。
SPI NOR FLASH存储器的原理与常见问题分析
SPI NOR FLASH存储器的原理与常见问题分析1.前言FLASH闪存,一般简称为“FLASH”,它属于内存器件的一种,是一种非易失性(Non-Volatile)内存。
FLASH因其特殊的浮栅结构得以在掉电后长久地保存数据,这使得Flash成为各类便携型数字设备的存储介质。
本文主要介绍了SPI NOR FLASH存储器的基本原理以及常见的问题,可以帮助读者进一步了解和应对产品中的FLASH相关问题。
2.SPI NOR FLASH存储器的原理介绍1.FLASH的基础介绍FLASH是使用浮栅场效应管(Floating Gate FET)作为基本存储单元来存储数据的,图一(a)的模型中可以看出,与普通的MOSFET相比,区别仅在于浮栅,FLASH就是利用浮栅中是否存储电荷来表征数字0和1的。
对NPN的场效应管来说,在栅极和源极之间加一个VTH电压后,MOS管就可以导通,但如果在图示的浮栅中增加了一些电子,这些电子抵消了VTH的部分电压,原先的VTH可能就无法使MOS管导通,通过判断MOS管是否导通可以判断浮栅当中有无电子,即可以对应状态0和1。
图一、FLASH基础单元原理而FLASH就是由如上的存储单元组成,通常的FLASH可以按单元结构分为NOR和NAND FLASH,其主要区别在于单独存储单元的排列上,如图二所示,NOR FLASH的每个CELL之间是并联的关系,其中漏极一同连接到位线(Bit line)上,栅极接到字线(Word line)上,而NAND FLASH的每个CELL之间是串联的关系,其中源极和漏极CELL之间互连,栅极接到字线上。
这部分是FLASH存储单元的结构区分。
图二、FLASH单元结构区分如果要对FLASH内部的数据进行操作,还需要控制器去控制擦除、编程、读取的电压,根据控制器与外部通信的总线,可以分为Parallel(CFI)和SPI两种类型。
并口的FLASH数据位宽大,可以满足大量数据快速读取的需求,但管脚多也反映着其占用面积大;SPI FLASH使用SPI总线通信,只需要4根线即可通信,较为便捷,适用于一些小型化的设备中。
对Nand flash读操作的分析
前几天大致分析了u-boot针对smdk2410的源码,了解了启动的流程,但是对板上许多硬件的驱动过程还不太清楚。
smdk2410源码中有针对Nor Flash的初始化和读取,但源码中没有对Nand Flash的操作,虽然针对其他型号的板子应该有Nand的源码,但方便起见,我查阅了vivi的源码,它支持从Nand Flash启动,自然有我需要的东西。
下面我就自己的分析和总结列出来,中间当然也从google上得到不少前人留下的宝贵资料:)。
我先摘录一段对Nor和Nand flash区别的几条总结:NOR flash采用位读写,因为它具有sram的接口,有足够的引脚来寻址,可以很容易的存取其内部的每一个字节。
NAND flash使用复杂的I/O口来串行地存取数据。
8个引脚用来传送控制、地址和数据信息(复用)。
NAND的读和写单位为512Byte的页,擦写单位为32页的块。
●NOR的读速度比NAND稍快一些。
●NAND的写入速度比NOR快很多。
●NAND的4ms擦除速度远比NOR的5s快。
●大多数写入操作需要先进行擦除操作。
●NAND的擦除单元更小,相应的擦除电路更少。
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。
再来看看Nand flash自身的特点(部分摘自August0703的文章):Nand Flash的数据是以bit的方式保存在memory cell中,一般来说,一个cell 中只能存储一个bit。
这些cell 以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。
多个line(多个位宽大小的数据)会再组成Page。
我使用的Nand flash是三星的K9F1208U0M,从datesheet上得知,此flash每页528Bytes(512byte的Main Area + 16byte的Spare Area),每32个page形成一个Block(32*528B)。
Flash闪速存储器--(NAND和NOR比较)
Flash闪速存储器--(NAND和NOR比较)Flash闪速存储器--(NAND和NOR比较)一、闪速存储器的特点闪速存储器(FlashMemory)是一类非易失性存储器NVM(Non-VolatileMemory)即使在供电电源关闭后仍能保持片内信息;而诸如DRAM、SRAM这类易失性存储器,当供电电源关闭时片内信息随即丢失。
FlashMemory集其它类非易失性存储器的特点:与EPROM相比较,闪速存储器具有明显的优势——在系统电可擦除和可重复编程,而不需要特殊的高电压(某些第一代闪速存储器也要求高电压来完成擦除和/或编程操作);与EEPROM相比较,闪速存储器具有成本低、密度大的特点。
其独特的性能使其广泛地运用于各个领域,包括嵌入式系统,如PC及外设、电信交换机、蜂窝电话、网络互联设备、仪器仪表和汽车器件,同时还包括新兴的语音、图像、数据存储类产品,如数字相机、数字录音机和个人数字助理(PDA)。
Flash的技术特点如下:(1)区块存储单元:在物理结构上分成若干个被称为区块的存储单元,不同区块之间相互独立,每个区块几KB~几十KB。
(2)先擦后写:任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
(3)位交换:有时一个比特位会发生反转,就是位交换。
(4)区块损坏:使用过程中,某些区块可能会被损坏,区块损坏后就不可修复。
二、闪速存储器的技术分类全球闪速存储器的主要供应商有AMD、ATMEL、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、SHARP、TOSHIBA,由于各自技术架构的不同,分为几大阵营。
1 NOR技术NOR技术(亦称为Linear技术)闪速存储器是最早出现的FlashMemory,目前仍是多数供应商支持的技术架构。
它源于传统的EPROM器件,与其它FlashMemory技术相比,具有可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,如PC 的BIOS固件、移动电话、硬盘驱动器的控制存储器等。
SPI Flash在线烧录方案
SPI Flash在线烧录方案Flash涨价风波持续发酵,不少厂家选择使用更具性价比的NOR Flash芯片。
NOR Flash 具备可靠性强、读取速度快等特性,是中低容量闪存芯片市场的主要产品,但烧录时间长、效率低是一直以来让生产方头疼的问题,该如何提升生产效率呢?随着高科技电子技术的发展,各类电子产品中对存储器的容量也要求越来越大,从最初的256byte容量到现在128Mbyte,而容量越大意味着使用过程中擦除、烧录时间也越长。
那么问题来了,在使用SPI Flash时,我们都采用什么烧录方式的呢?一般情况,我们都采用烧录工具(如编程器),将待烧录文件烧写到芯片中,再贴板运行。
但对于在调试阶段,或者一些需要先贴板后烧录工序的产线,又应该如何烧录?在调试阶段,对小容量来说,我们可以通过主控芯片编写驱动程序,直接将二进制代码写到Flash上调试,或者将芯片焊下,通过第三方工具烧录后再贴板运行,两种方式效率都不高。
ISP(In System Programming)在系统可编程,指电路板上的空白器件可以变成写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
这一技术对处于研发阶段的优势在于,为工程师提供一种无需焊取芯片即可对Flash 里的数据更新、调试,节省流程和时间,也有利于保护芯片和电路板;在量产阶段,对于一些需要先“贴板后烧录“流程的产品,用户只需要在电路板上留下相应的编程接口,ISP在线烧录就可以对贴板后的器件进行烧录和更新。
这不仅极大的方便客户产线需求,也能省下烧录夹具的成本。
目前,绝大多数的MCU厂家都提供在线烧录工具,如我们非常熟悉的STC-ISP,J-link 等。
图STC-ISP烧录工具但对于SPI Flash,却少有工具支持,在使用SPI Flash在线烧录时,用户都需要自己制作烧录工具,这样对项目的二次开发无疑给研发工程师更大的压力,也难以满足产线对烧录工具的严格要求。
eeprom和flash的区别
eeprom和flash的区别
EEPROM和Flash都是非易失性存储器,它们都可以在掉电后保留数据。
但它们在很多方面存在一些差异,具体区别如下:
1.擦写方式:EEPROM的擦写是以字节为单位进行的,而Flash 通常需要按块进行擦写。
也就是说,在Flash中,要擦除一个数据,通常需要先擦除一整个块,然后再将该块中需要保留的数据重新写入。
因此,Flash的擦写操作相对EEPROM更为复杂。
2.写入方式:EEPROM的写入方式也是按字节进行,而Flash
的写入方式通常是按块进行。
这意味着,在Flash中,要写入一个数据,需要先将整个块擦除,然后再将新数据写入该块。
3.擦写速度:EEPROM的擦写速度通常比Flash慢得多,这可能会影响到系统的性能。
4.存储密度:EEPROM和Flash的存储密度都很高,可以存储大量的数据。
5.使用场景:EEPROM通常用于存储掉电后不希望丢失的数据,如配置参数等。
而Flash则更多地用于存储程序代码或大量数据。
6.可靠性:Flash的可靠性通常比EEPROM更高,因为它具有更高的擦写次数和更长的使用寿命。
7.价格:一般来说,Flash的价格比EEPROM要便宜一些。
综上所述,EEPROM和Flash在擦写方式、写入方式、擦写速度、存储密度、使用场景、可靠性和价格等方面都存在差异。
在选择使用哪种存储器时,需要根据具体的应用需求和系统要求来决定。
NorFlash与NandFlash
NorFlash与NandFlash(2008-10-31 10:19:46)FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。
在实际开发中,设计者可以根据产品需求来进行闪存的合理选择。
1、接口对比NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。
NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
如uboot中的ro段可以直接在NorFlash上运行,只需要把rw和zi段拷贝到RAM中运行即可。
NandFlash器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。
由于时序较为复杂,所以一般CPU最好集成NAND控制器。
另外由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能,如s3c2410在被选择为NandFlash启动方式时会在上电时自动读取NandFlash的4k数据到地址0的SRAM中。
如果CPU不具备这种特殊功能,用户不能直接运行NandFlash上的代码,那可以采取其他方式,比如好多使用NandFlash的开发板除了使用NandFlash以外,还用上了一块小的NorFlash来运行启动代码。
2、容量和成本对比相比起NandFlash来说,NorFlash的容量要小,一般在1~16MByte左右,一些新工艺采用了芯片叠加技术可以把NorFlash的容量做得大一些。
在价格方面,NorFlash相比NandFlash 来说较高,如目前市场上一片4Mbyte的AM29lv320 NorFlash零售价在20元左右,而一片128MByte的k9f1g08 NandFlash零售价在30元左右。
NOR FLASH和 NAND FLASH的比较
FLASH存储器主要用于存储固化的启动代码,文件系统,操作系统内核和初始化参数,它具有掉电保护功能。
较为常见的主流FLASH有NOR FLASH和NAND FLASH。
两种存储器最大的区别在于其数据读取和存储性能的差异。
目前较为常见的设计方式为较小容量的NOR FLASH 和较大容量的NAND FLASH搭配设计。
这是因为NOR FLASH支持内存随机访问,它和SDRAM一样,可以直接执行存储在FLASH中的程序,不同的是NAND FLASH它是整块内存访问方式,因此不能执行存储于其中的程序代码,必须将其拷贝到SDRAM中执行。
从存储性能上看,NAND FLASH具有得天独厚的优势,它的存储密度很高,价格比NOR FLASH系统便宜,并且写入擦写的速度比NOR系统高,一般NOR 系统FLASH存储小代码量的BOOTLOADER引导程序,在NAND系统FLASH 中存储代码量较大的内核和文件系统。
SDRAM存储器数据读取速度大大高于FLASH,但是其不具有掉电保护功能,这是因为SDRAM存储单元相当于一个电容,总是倾向于放电,为了避免数据丢失,总是不断刷新,对其充电,一旦掉电,数据全部丢失。
鉴于SDRAM高数据读写速度,通常用于程序运行突然间,数据区和堆栈区等临时数据读取和存放。
一般情况下,CPU启动时从复位地址开始读取启动代码,同时将系统和堆栈等都放入SDRAM。
记一次norflash固件烧录速度优化
记⼀次norflash 固件烧录速度优化背景某个⽅案使⽤的是spinor 作为存储介质,每次烧录新固件都耗时数分钟,为了提⾼效率,需要对其进⾏优化。
分析流程基本流程当前烧录流程,有⼀个可选步骤,全盘擦除,这个步骤耗时达数分钟。
不过这是可选的。
接下来必经的步骤,就是从PC 端接收数据写⼊flash 了。
已有优化⽬前倒是已经有⼀个优化,在收到数据需要写⼊时,会先读出flash 中的数据跟这笔要写⼊的数据进⾏⽐较,如果数据相同就直接跳过,数据不同,才进⾏擦除和写⼊。
这个优化的依据是,相对于⼀次擦除和写⼊的耗时来说,读出和⽐较的耗时很少,⼀旦命中就可节省掉这次写的开销。
在平时调试的时候,两次烧录的固件可能有些数据是完全⼀样的,这种场景下此处的优化就能发挥作⽤了。
优化点初步分析,从流程上看没什么问题,最⼤的耗时在擦除上,但毕竟nor 的物理特性就是需要先擦除再写⼊的。
但仔细分析,其实还是有优化空间的,这个空间还就在于nor 的擦除上。
nor 拥有多条擦除的命令,可以擦除4k,32k,64k 或者整⽚擦除。
这些命令的耗时是不同的。
⽅案上由于分区规划设置了最⼩为4k 的分区,所以nor 就被配置为4k sector ,则nor 驱动使⽤的擦除命令就是对应的4k 擦除的命令。
⽽这是效率最低的⼀种擦除⽅式。
当前⽅案在全盘擦除时,是使⽤循环调⽤4k 擦除实现的,在后续写⼊数据时也都是以4k 为单位进⾏擦除和写⼊,在擦除上耗费了⼤量时间。
nor 的⼏种擦除命令这⼏种擦除⽅式,差异到底有多⼤呢?找两款16M 的norflash 规格书看看。
⽐较表格:擦除⼤⼩(Kbytes)擦除时间(ms)每4k 擦除耗时(ms)以4k 为基准的耗时⽐例47070100%3215018.7526%6420012.517%16 * 102435000.85 1.2%另⼀款:⽐较表格:擦除⼤⼩(Kbytes)擦除时间(ms)每4k 擦除耗时(ms)以4k 为基准的耗时⽐例42525100%3214017.570%6425015.6262%16 * 102426000.63 2.5%#########从以上统计结果看,⼀次擦除的空间越⼤,平均速度就越快。
nor flash读写速度计算方法详解
nor flash读写速度计算方法详解下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!NOR Flash 存储器在现代电子设备中扮演着至关重要的角色,其读写速度直接影响着设备的性能和响应速度。
norflash读写原理
norflash读写原理
NorFlash是一种基于NOR门的闪存存储器,常用于嵌入式系统和移
动设备中。
NorFlash读写原理详细如下:
1. NorFlash的存储单元是基于NOR门的,NOR门是一种由两个并
联的晶体管构成的门电路。
这意味着每个存储单元都需要两个晶体管
来读取或写入数据。
2. 由于它使用的是NOR门,Norflash的读操作是直接的。
读操作的
时候,将地址放置于地址总线上,然后该地址将直接映射到存储器单元。
当地址被选中时,数据被从存储单元读取到存储器的输出引脚。
读操作不会影响存储器单元的数据。
3. NorFlash的写操作比读操作复杂。
它需要进行多个步骤,例如擦除,编程和校验。
擦除操作将存储器中的数据全部清除为1。
编程操作将操作码和数据写入存储器中的指定地址。
校验操作用于验证编程操作是
否成功。
4. NorFlash的写操作需要一个称为“写使能控制器”的特殊控制器。
写使能控制器向存储器发出一个信号,告诉存储器将数据写入指定的
地址。
写使能控制器还确保编程操作在操作码和数据被成功编程之后,
存储器单元返回正确的状态值。
总之,NorFlash的读写原理是基于NOR门,并且需要进行多个步骤来完成写操作。
了解NorFlash的读写原理可以帮助我们更好地理解如何在嵌入式系统或移动设备中储存和读取数据。
SPI flash是什么,关于SPI FLASH的读写问题
SPI flash是什么,关于SPI FLASH的读写问题本文主要是关于SPI flash的相关介绍,并着重对SPI flash的原理及其读写进行了相近的阐述。
SPI flashSPI一种通信接口。
那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。
但现在大部分情况默认下人们说的SPI Flash指的是SPI NorFlash。
早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。
但是后来发现不同容量的Norflash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所以后来逐渐被SPI(串行接口)Norflash 所取代。
同时不同容量的SPI Norflash管脚也兼容封装也更小。
,至于现在很多人说起NOR flash直接都以SPI flash来代称。
NorFlash根据数据传输的位数可以分为并行(Parallel,即地址线和数据线直接和处理器相连)NorFlash和串行(SPI,即通过SPI接口和处理器相连)NorFlash;区别主要就是:1、SPI NorFlash每次传输一bit位的数据,parallel连接的NorFlash每次传输多个bit位的数据(有x8和x16bit两种);2、SPI NorFlash比parallel便宜,接口简单点,但速度慢。
NandFlash是地址数据线复用的方式,接口标准统一(x8bit和x16bit),所以不同容量再兼容性上基本没什么问题。
但是目前对产品的需求越来越小型化以及成本要求也越来越高,所以SPI NandFlash渐渐成为主流,并且采用SPI NANDFlash方案,主控也可以不需要传统NAND控制器,只需要有SPI接口接口操作访问,从而降低成本。
另外SPI NandFlash 封装比传统的封装也小很多,故节省了PCB板的空间。
SPI Flash在线烧录方案
SPI Flash在线烧录方案Flash涨价风波持续发酵,不少厂家选择使用更具性价比的NOR Flash芯片。
NOR Flash 具备可靠性强、读取速度快等特性,是中低容量闪存芯片市场的主要产品,但烧录时间长、效率低是一直以来让生产方头疼的问题,该如何提升生产效率呢?随着高科技电子技术的发展,各类电子产品中对存储器的容量也要求越来越大,从最初的256byte容量到现在128Mbyte,而容量越大意味着使用过程中擦除、烧录时间也越长。
那么问题来了,在使用SPI Flash时,我们都采用什么烧录方式的呢?一般情况,我们都采用烧录工具(如编程器),将待烧录文件烧写到芯片中,再贴板运行。
但对于在调试阶段,或者一些需要先贴板后烧录工序的产线,又应该如何烧录?在调试阶段,对小容量来说,我们可以通过主控芯片编写驱动程序,直接将二进制代码写到Flash上调试,或者将芯片焊下,通过第三方工具烧录后再贴板运行,两种方式效率都不高。
ISP(In System Programming)在系统可编程,指电路板上的空白器件可以变成写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
这一技术对处于研发阶段的优势在于,为工程师提供一种无需焊取芯片即可对Flash 里的数据更新、调试,节省流程和时间,也有利于保护芯片和电路板;在量产阶段,对于一些需要先“贴板后烧录“流程的产品,用户只需要在电路板上留下相应的编程接口,ISP在线烧录就可以对贴板后的器件进行烧录和更新。
这不仅极大的方便客户产线需求,也能省下烧录夹具的成本。
目前,绝大多数的MCU厂家都提供在线烧录工具,如我们非常熟悉的STC-ISP,J-link 等。
图STC-ISP烧录工具但对于SPI Flash,却少有工具支持,在使用SPI Flash在线烧录时,用户都需要自己制作烧录工具,这样对项目的二次开发无疑给研发工程师更大的压力,也难以满足产线对烧录工具的严格要求。
NANDflash和NORflash地区别详解
NAND flash和NOR flash的区别详解ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM 通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDRRAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
NAND flash和NOR flash的区别详解
NAND flash和NOR flash的区别详解ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDRRAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
研究报告NANDflash和NORflash区别(最详细)
NAND flash和NOR flash详解NOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
相“flash存储器”经常可以与相“NOR存储器”互换使用。
许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。
而NAND则是高数据存储密度的理想解决方案。
NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM中。
NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
应用NAND的困难在于flash的管理和需要特殊的系统接口。
1. 性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。
任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。
NandFlash,NorFlash,CFIFlash,SPIFlash之间的关系
NandFlash,NorFlash,CFIFlash,SPIFlash之间的关系前言:在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解。
下面细说一下标题中的中Flash中的关系一,Flash的内存存储结构flash按照内部存储结构不同,分为两种:nor flash和nand flash。
NorFLASH使用方便,易于连接,可以在芯片上直接运行代码,稳定性出色,传输速率高,在小容量时有很高的性价比,这使其很适合应于嵌入式系统中作为 FLASH ROM。
相对于NorFLASH,NandFLASH强调更高的性能,更低的成本,更小的体积,更长的使用寿命。
这使NandFLASH很擅于存储纯资料或数据等,在嵌入式系统中用来支持文件系统。
1,Nand Flash在工艺制程方面分NAND flash有两种类型:MLC和SLC。
MLC 和SLC属于两种不同类型的NAND FLASH存储器。
SLC全称是Single-Level Cell,即单层单元闪存,而MLC全称则是Multi-Level Cell,即为多层单元闪存。
它们之间的区别,在于SLC每一个单元,只能存储一位数据,MLC每一个单元可以存储两位数据,MLC的数据密度要比SLC 大一倍。
在页面容量方面分NAND也有两种类型:大页面NAND flash (如:HY27UF082G2B)和小页面NAND flash(如:K9F1G08U0A)。
这两种类型在页面容量,命令序列、地址序列、页内访问、坏块标识方面都有很大的不同,并遵循不同的约定所以在移植驱动时要特别注意。
2,Nor Flash在通信方式上Nor Flash 分为两种类型:CFI Flash和SPI Flash。
a,CFI Flash英文全称是common flash interface,也就是公共闪存接口,是由存储芯片工业界定义的一种获取闪存芯片物理参数和结构参数的操作规程和标准。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SPI Nor Flash
读写要点剖析及烧录速度对比
摘要:看似复杂的Flash 读写时序图,其实就是一连串0和1的组合,看懂这些组合的规律,轻松掌握Flash 读写关键。
主控器和存储器的组合,是任何嵌入式系统的最简单构成,就像电脑的CPU 和硬盘一
样。
在嵌入式系统平常运行过程中,主控器和存储器之间的通信是非常频繁的,要想产品稳定,掌握存储器的读写规范最为基本也最为重要,一旦数据出错,会让主控器产生错误的判断,而导致系统紊乱。
下面以SPI Flash 为例,从编程器设计者的角度,把如何更好的运用存储器的几个关键点做一些剖析,供大家在设计的时候参考:
一、 封装:
芯片的所有使用细节都会在它的官方器件手册有具体说明(除了有些厂商芯片资料不公开)。
所以使用一个芯片之前,第一件事就是要学会把它的器件手册上有用的内容进行提取。
封装一般是关注的第一点,它涉及到电路板的整体布线,通常SPI NorFlash 都是采用SOP8这种封装。
二、 读写时序
主控器连接的脚位是否都用来编程呢?不是,在此,通过CS#、SCLK 、SI 这三个重要管脚重点介绍一下写操作,芯片操作时序图如下:
CS : 片选信号; SO : 串行数据输出; SI : 串行数据输入; SCLK : 时钟信号; GND : 地; VCC : 电源。
①当我们要写指令字,需要把CS置为“0”,然后将数据送到数据输入脚SI,给一个8 位时钟。
②当我们要写入数据字,需要把CS置为“0”,然后发一个地址,将数据送到数据输
入
脚SI,同样,也是给一个8位时钟。
③注意时间轴,如果没有标明,那么从左往右为时间正向轴,上图分为2部分,上面一部分是接着下面一部分。
④需要释放注意的是,时序图里各个引脚的电平变化,基于的时间紧轴是一致的。
一定要严格按照时间轴的增长方向来仔细地观察时序图,要让主控器的控制口线严格遵守时序图的变化。
所有的主控器都需遵循芯片本身的时序规则,不然就无法对芯片进行读写操作。
当然编程器也必须符合这种规律,但编程器的读写速度肯定比嵌入式主控器效率要高。
下面一组图是SmartPRO 6000F-PLUS编程器与嵌入式主控器对Flash的读写效率对比,实测了两款比较大容量的SPI Flash芯片进行比较,结果见下图。
烧录器速度快就是因为他有专门的口线来产生时序,完全满足芯片的时序。
而嵌入式系统的总线总是很繁忙,总线的资源没有全部利用来产生读写时序,读写速度肯定慢下来了。
两种方法,都是把数据准确无误的写入到芯片当中,只是效率不同而已。
题图用如下:
最后面的广告,放SmartPRO 6000F-PLUS。
采用全新Smart-FPS 架构的SmartPRO 6000 编程器,内含专为编程应用优化的 4 核高性能处理器,配合蓝电引擎(BlueThunder), 实现200MByte/s 的理论数据传输带宽, 芯片能写多快,我们就能编多快。