arm 中的nor flash 和 nand flash

存储器的分类整理(SRAM/DRAM/NOR FLASH/Nand FLASH) 1 概述 存储器主要分为ROM和RAM,根据图1先来讲讲RAM和ROM,两者相比,的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。 图 1 存储器系统分类 2 RAM RAM:随机访问存储器(Random Access Memory),易失性。是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。它的作用是当开机后系统运行占一部分外,剩余的运行内存越大,手机速度越快,运行的程序越多,剩余 阅读详情
) 闪存芯片读写的基本单位不同
 
 应用程序对NOR芯片操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时指定逻辑块号和块内偏移。应用程序对NAND芯片操作是以“块”为基本单位。NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。要修改NAND芯片中一个字节,必须重写整个数据块。
 
 2)NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据。
 
 3) 由于NOR地址线和数据线分开,所以NOR芯片可以像SRAM一样连在数据线上。NOR芯片的使用也类似于通常的内存芯片,它的传输效率很高,可执行程序可以在芯片内执行( XI P, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码 读到系统RAM中。由于NOR的这个特点,嵌入式系统中经常将NOR芯片做启动芯片使用。而NAND共用地址和数据总线,需要额外联结一些控制的输入输出,所以直接将NAND芯片做启动芯片比较难。
 
 4) N AN D闪存芯片因为共用地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零操作;而NOR芯片可以对字进行操作。所以在处理小数据量的I/O操作的时候的速度要快与NAND的速度。比如一块NOR芯片通 常写一个字需要10微秒,那么在32位总线上写512字节需要1280毫秒;而NAND闪存写512字节需要的时间包括:512×每字节50纳秒+10微秒的寻页时间+200微秒的片擦写时间=234微秒。
 
 5)NAND闪存的容量比较大,目前最大容量己经达到8G字节。为了方便管理,NAND的存储空间使用了块和页两级存储体系,也就是说闪存的存储空间是二维的,比如K9F5608UOA闪存块的大小为16K,每页的大小是512字节,每页还16字节空闲区用来存放错误校验码空间(有时也称为out-of-band,OOB空间);在进行写操作的时候NAND闪存每次将一个字节的数据放入内部的缓存区,然后再发出“写指令”进行写操作。由于对NAND闪存的操作都是以块和页为单位的,所以在向NAND闪存进行大量数据的读写时,NAND的速度要快于NOR闪存。
 
 6)NOR闪存的可靠性要高于NAND闪存,这主要是因为NOR型闪存的接口简单,数据操作少,位交换操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高的地方。相反的,NAND型闪存接口和操作均相对复杂,位交换操作也很多,关键性数据更是需安错误探测/错误更正〔EDC/ECC)算法来确保数据的完整性,因此出现问题的几率要大得多,坏区块也是不可避免的,而且由于坏区块是随机分布的,连纠错也无法做到。
 
 7)NAND Flash一般地址线和数据线共用,对读写速度有一定影响;而NOR Flash闪存数据线和地址线分开,所以相对而言读写速度快一些。
 
 NAND和NOR芯片的共性首先表现在向芯片中写数据必须先将芯片中对应的内容清空,然后再写入,也就是通常说的“先擦后写”。只不过NOR芯片只用擦写一个字,而NAND需要擦写整个块。其次,闪存擦写的次数都是有限的.当闪存的使用接近使用寿命的时候,经常会出现写操作失败;到达使用寿命时,闪存内部存放的数据虽然可以读,但是不能再进行写操作了所以为了防止上面问题的发生,不能对某个特定的区域反复进行写操作。通常NAND的可擦写次数高于NOR芯片,但是由于NAND通常是整块擦写,块内的页面中如果有一位失效整个块就会失效,而且由于擦写过程复杂,失败的概率相对较高,所以从整体上来说NOR的寿命较长。
 
 另一个共性是闪存的读写操作不仅仅是一个物理操作,实际上在闪存上存放数据必须使用算法实现,这个模块一般在驱动程序的MTD' (Memory Technology Drivers)模块中或者在FTLZ (Flash Translation Layer)层内实现,具体算法和芯片的生产厂商以及芯片型号有关系。

从使用角度来看,NOR闪存与NAND闪存是各有特点的:(1)NOR的存储密度低,所以存储一个字节的成本也较高,而NAND闪存的存储密度和存储容量均比较高;(2)NAND型闪存在擦、写文件(特别是连续的大文件)时速度非常快,非常适用于顺序读取的场合,而NOR的读取速度很快,在随机存取的应用中有良好的表现。               NOR与NAND各有所长,但两种优势无法在一个芯片上得到体现。所以,设计人员在选用芯片时,只能趋其利而避其害,依照使用目的和主要功能在两者之间进行适当的选择。

 


NAND与NOR技术的比较

 

       一般的原则是:在大容量的多媒体应用中选用NAND型闪存,而在数据/程序存贮应用中选用NOR型闪存。根据这一原则,设计人员也可以把两种闪存芯片结合起来使用,用NOR芯片存储程序,用NAND芯片存储数据,使两种闪存的优势互补。事实上,这种聪明的设计早已普遍应用于手机、PocketPC、PDA及电子词典等设备中了。

      在选择存储解决方案时,设计师必须在多种因素之间进行权衡,以获得较高的性价比。以手机为例,采用支持XIP技术的NOR闪存能够直接运行OS,速度很快,既简化了设计,又降低了成本,所以许多手机都采用NOR+RAM的设计。NOR闪存的不足之处是存储密度较低,所以也有采用NAND+RAM的设计。对于这两种方案,很难说哪一种更好,因为我们不能离开具体的产品而从某一个方面单纯地去评价。追求小巧优雅的手机将需要NOR闪存支持;追求大存储容量的手机则将更多地选择NAND闪存;而同时追求功能和速度的手机则会采用NOR+NAND+RAM的设计,这种取长补短的设计能够发挥NOR和NAND各自的优势。

        除了速度、存储密度的因素,设计师在选择闪存芯片时,还需要考虑接口设计、即插即用设计和驱动程序等诸多问题,因为两种类型的闪存在上述几个方面也有很多的不同。譬如在驱动程序方面,NOR器件运行代码不需要任何的软件支持,而在NAND器件上进行同样操作时就需要存储技术驱动程序(MTD)的支持。虽然NAND和NOR器件在进行写入和擦除操作时都需要MTD,但对于NAND来说驱动程序的开发难度更大,因为NAND闪存的纠错和坏块处理功能都需要通过驱动程序来实现。

使用性差异

在使用性上体现出的差异也是与NOR和NAND自身的架构设计分不开的,首先在接口方面,NOR的设计有明显的传统闪存的特征,因此实际应用起来相对于NAND全新的复杂I/O设计要容易得多。而且,在使用NAND闪存时,必须先写入驱动程序,才能继续执行其他操作。

其次,在可重复擦写的能力方面,NAND的每块可擦写次数在10万至100万次之间,NOR则只是它的1/10,而且NAND的每个擦除块的容量也只有NOR的1/8至1/2,这就表明,每个块的擦写的频率要少于NOR闪存,从而有助于延长使用寿命。在数据的保存时间上,两者都差不多,为10年的水平。

不过,由于串联的架构,NAND的晶体管之间更容易造成影响,使逻辑0变成逻辑1,并且也很难发现出问题的晶体管,这种现象可称为位翻转(Bit-Flipping),这就需要动用EDC/ECC(错误检测码/错误修正码)来进行校正,这方面的问题NOR则较少出现。

另外,NAND在使用中还存在着坏块管理的问题,在NAND闪存中,由于坏块是随机分布的,因此需要进行扫描并将坏块打上标记,就像对付硬盘中的坏扇区一样。目前的产品中,可最多允许出现80个坏块。坏块的存在使得向NAND闪存写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND闪存上自始至终都必须进行虚拟映射。

在软件支持程度方面,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

在NOR闪存上运行代码不需要任何的软件支持,在NAND闪存上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR闪存在进行写入和擦除操作时都需要MTD。

使用NOR闪存时所需要的MTD要相对少一些,许多厂商都提供用于NOR闪存的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。

本文引用通告地址:http://jinren1010.spaces.eepw.com.cn/articles/trackback/item/15556


Nand Flash介绍和Nand Flash控制器使用 一、Flash介绍     常用的flash类型有NOR Flash 和Nand Flash 两种;     (1)Nor Flash     1、Nor Flash的接口和RAM完全相同,可以随机访问任意地址的数据,在其上进行读操作的效率非常高,但是擦除和写操作的效率很低,另外,Nor Flash的容量一般比较小,通常,Nor Flash用于存储程序;     2、Nor Flash的块 阅读详情

相关推荐

基于ARM的嵌入式最小系统架构研究

<br />嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。对于一个典型的嵌入式最小系统,以ARM处理器为例,其构成模块及其各部分功能如图1所示,其中ARM微处理器、FLASH和SDRAM模块是嵌入式最小系统的核心部分。<br /> <br />图 1 最小系统构成<br /> <br />  ● 时钟模块——通常经ARM内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入<br />  ● Flash存储模块——存放启动代码、操作系统和用户应用程序代码<br /

jundoctor的专栏 1566

norflash和nandflash的区别

NAND Flash是一种非易失性存储器,内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NOR Flash,也称为NOR型闪存,是一种非易失性存储器(NVM),它可以在不需要持续电力供应的情况下保留存储的数据。NOR Flash以其高可靠性和直接执行代码(eXecute In Place, XIP)的能力而著称,这使得它成为嵌入式系统和某些特定应用的理想选择,我们常用的片内flash通常都是norflash,STM32的代码在片内flash中运行,而不是在片内RAM里面。

千千道的博客 1万+

[元带你学: 协议 5] NAND flash和NOR flash详解

​Flash是一种非易失性(掉电数据不会消失)的存储器。在手机、平板中用做内部存储空间,用来存系统、应用、图片、视频等。 根据硬件上存储原理的不同,Flash Memory主要可以分为NOR Flash和NAND FLASH两类。许多业内人士也分不清NAND Flash 和 NOR Flash 的区别。 ​

串起点滴 7732

NAND 和 NOR 的区别

Google“Nand Flash和Nor Flash的区别”。 简单点说,主要的区别就是: 1、 NAND比NOR便宜;NAND的容量比NOR大(指相同成本);NAND的擦写次数是NOR的十倍;NAND的擦除和写入速度比NOR快,读取速度比NOR稍慢; 2、 NAND和NOR的读都可以以字节为单位,但NAND的写以page为单位,而NO......

yexiang优快云的专栏 2万+

ARM开发板中 nor flash与nand flash 的特点

nor 随机存储 速率快,内存下(可以块操作) 一般用来做嵌入式设备启动芯片 可以对字进行操作 nand 连续存储 适合存放大数据量 每次都得擦除整个块...

CodeAllen嵌入式 3万+

AI辅助发明专利撰写实战:30分钟高效生成高质量技术专利文档

在技术专利撰写领域,尤其是软件、算法或系统架构相关的发明专利,如何将创新的技术构思快速、规范地转化为符合《专利法》要求的申请文件,是许多开发者和技术团队面临的共同挑战。传统的人工撰写方式不仅耗时耗力,对撰写人的法律和技术双重背景要求极高,还容易因格式或术语不规范导致审查意见增多。本文将分享一套利用 AI 辅助工具,系统化、高效率地完成一篇高质量发明专利说明书撰写的实战流程。通过清晰的步骤拆解、可复制的提示词(Prompt)工程以及关键注意事项,即使是首次接触专利撰写的开发者,也能在短时间内掌握从技术方案梳理

子夜轻风 957

韦东山嵌入式第一期学习笔记DAY_9——(ARM知识点)ARM中sdram,nor flash,nand flash关系及区别

作者:GWD 时间:2019.7.10 概述:开机上电时程序放在nor、nand中但是为了运行的速度,在初始化sdram(是一种外设,相当于电脑的内存条,不是片内资源)后要把程序复制到sdram中运行。4K片内ram的功能实际上等同于nor(速度上有区别)因为有nor时不用片内4K RAM,无nor时把nand的启动代码复制到片内4K RAM。 一、nor、nand、sdram在嵌入式应用的简介 ...

gongweidi的博客 935

基于Unidbg的小红书加密协议动态分析与算法还原实战

在移动应用安全领域,加密协议与签名机制是保障数据传输安全、实现客户端身份验证的核心技术。其原理通常涉及哈希算法、对称/非对称加密以及自定义的混淆逻辑,旨在防止请求被篡改或重放。理解这些协议对于安全研究、风控策略制定及合规的数据交互分析具有重要价值。在实际的工程实践中,面对高度混淆和加固的Native代码(SO库),传统的静态分析往往难以深入。此时,沙盒模拟执行技术提供了一种动态、可控的分析方案。通过搭建一个虚拟的移动应用运行环境,研究人员可以在无需真机、规避反调试机制的情况下,完整地追踪和观察加密算法的执行

weixin_29315091的博客 327

嵌入式系统存储基石:深度解析NOR与NAND Flash原理及在ARM Linux中的应用

在嵌入式系统开发中,存储器是决定系统性能与可靠性的核心硬件。从原理上看,存储器主要分为支持随机访问、可直接执行代码的NOR Flash,以及高密度、按块访问的NAND Flash。NOR Flash因其拥有独立地址总线和芯片内执行(XIP)特性,常被用作启动介质,存放Bootloader等关键代码;而NAND Flash则凭借高容量、低成本优势,成为存储内核、根文件系统及用户数据的主力。理解两者的物理结构、访问机制及性能差异,是进行存储规划、驱动开发和系统优化的基础。在实际的ARM Linux系统中,如基于

weixin_30439067的博客 428

实测对比:DJI O3、Walksnail Avatar、HDZero三大高清图传,谁才是低延迟王者?

本文对DJI O3、Walksnail Avatar V2和HDZero三大高清图传系统进行了实测对比,重点分析其在FPV飞行中的低延迟表现。通过专业测试环境和量化数据,揭示HDZero在原生低延迟架构上的优势,DJI O3在画质与延迟间的平衡,以及Walksnail的动态码率调整特点,为不同场景下的选购提供决策依据。

weixin_30756499的博客 446

【深度学习】肺结节分割项目实战二:分割肺实质

在后续训练模型的时候如果直接使用原始的肺部CT图像,其中的非肺区域会对训练造成干扰,因此我们需要提取分割肺实质。这一部分参考了kaggle上的教程。 从这张CT图像中可以看出扫描器以外的部分为黑色,背景和肺内部颜色较深,非肺组织和骨头颜色较浅。我们的目的是将肺部分割出来。由于肺部区域和其他部分对比明显,我们可以设置一个合适的阈值对图像中的区域进行隔离。 import argparse import os import numpy as np from medpy.filter.smoothing imp

weixin_42182906的博客 7242

ARM的两种启动方式 (NAND FLASH. NOR FLASH)

为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的。 NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND FLASH 进行读写,因此CPU 无法对NAND FLASH 的数据进行直接寻址,CPU 对NAND FLASH 中数据的读写是通过专门的 nand flash控制器进行的,因此...

bangju6321的博客 993

交换芯片数据通路四大核心微架构深度解析

数据通路是交换芯片性能的物理根基,决定着低延迟、高吞吐与突发承载能力。其本质是在硅片约束下对带宽、时序、功耗与统计复用的系统性权衡。Crossbar提供确定性低延迟但受RC延迟与功耗制约;VOQ通过虚拟队列隔离输出争抢,却引入仲裁复杂度与内存开销;Shared Buffer依托统计复用提升缓存利用率,但面临碎片化与管理策略挑战;Cell Fabric以固定长度cell重构交换粒度,在AI与金融等小包敏感场景实现尾延迟稳定。这些架构并非替代关系,而是面向不同网络不确定性(如流量不对称性、突发强度、包长分布)的

weixin_32667955的博客 189

arm 基础:Nand Flash与Nor Flash的区别

Nand Flash与Nor Flash   NOR的特点是芯片内执行(XIP,eXecute InPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵,NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。  NAN...

213

汽车OBD接口实战:如何用STM32读取CAN总线数据(附完整代码)

本文详细介绍了如何利用STM32微控制器通过汽车OBD接口读取CAN总线数据的完整实战方案。内容涵盖硬件连接(如OBD引脚定义与TJA1050收发器接线)、STM32的CAN外设初始化与滤波器配置,并深入解析OBD-II诊断协议,演示了如何请求和解析发动机转速、车速等关键数据。文末提供了构建稳定数据读取系统的代码框架与错误处理建议,为嵌入式开发者和汽车电子爱好者提供了从零到一的实践指南。

9q8w7e6r5的博客 299

Open3D 曲率下采样

曲率下采样是一种基于几何特征的点云处理技术,通过计算每个点的曲率来判断其所在位置的局部表面特征,从而进行选择性保留。曲率的计算通常基于点的法向量和其邻域点的分布。

纵马踏花向自由 841

ARM板中的NAND Flash和NOR Flash

NoR Flash的特点是在芯片内执行,这样应用程序可以直接在Flash内 运行,不必再把代码读到系统RAM中。 NARD Flash中每个块的最大擦写次数是100万次,是NOR Flash的10 倍,使得NAND FLASH 越来越受到人们的喜爱

lpzbaiduwenku的专栏 827

PCL 三次均匀B样条曲线拟合

PCL 三次均匀B样条曲线拟合

dayuhaitang1的博客 402

arm下nand flash ,nor flash 和sdram在嵌入式应用中分别起了什么作用?

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据 (NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代

3547

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

nor flash与nand flash启动的简单比较--APPLE的ARM学习笔记一

2010-10-08 22:26:00 A,nor flash与nand flash的一些区别 1)接口区别: NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。 NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。 通俗的说,就是光给地址不行,要先命令,再给地址,才能读到NAND的数据。而且都是在一个总线完成的。 结论是:ARM无法从NAND直...

weixin_30535843的博客 128

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念的理解

片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行。片内ram装载的是norflash中的内容,即u-boot。 uboot放在norflash里,nandflash就存放的操作系统。所以norflash相当于电脑的bios,nanflash才是硬盘。sdram就是内存了 uboot是一级启动代码,即bootloader,用...

weixin_30888707的博客 437

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

创龙TMS320DM8168浮点DSP C674x ARM Cortex-A8的CPU、NAND FLASH、NOR FLASH

TL6678-EasyEVM是广州创龙基于SOM-TL6678核心板而研发的一款多核高性能DSP开发板。开发板采用核心板+底板方式,底板采用沉金无铅工艺的四层板设计,尺寸为200mm*106.65mm,它为用户提供了SOM-TL6678核心板的测试平台。为了方便用户开发和参考使用,上面引出了各种常见的接口,可以帮助用户快速评估SOM-TL6678核心板的整体性能。 广州创龙SOM-TL6678核...

Tronlong_的博客 357

arm9 norflash与nandflash启动过程分析

转自:http://blog.youkuaiyun.com/gl23838/article/details/8014625 1)接口区别: NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。 NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。 通俗的说,就是光给地址不行,要先命令,再给地址,才能读到NAND的数据。而且都是在一个总线完成的。 结论是:AR

春风得意,马蹄仍急;少年豪情,一笑难回。 1214
上一篇: arm 的pc和lr寄存器
下一篇: 关于erron的使用
creat_ok
博客等级 码龄15年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值