nand flash和nor flash的这几点区别你知道吗?

这篇文章讲解nand flash和nor flash的特点和区别,不涉及存储原理的讲解

(一)Flash简介

FLASH是一种存储芯片,全名叫Flash EEPROM Memory,通地过程序可以修改数据,即平时所说的“闪存”。Flash又分为NAND flash和NOR flash二种。

(二)Nor Flash的特点

Nor Flash的数据线和地址线是分开的,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。

NOR的特点是芯片内执行( eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR在开发板中应用的非常广泛,通过JTAG/JLINK把boot烧到NOR中,通电后自动运行。
在这里插入图片描述

(三)Nand Flash的特点

Nand Flash的数据线和地址线是公用的,NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息;NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。

NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。

NAND Flash非常适合用于储存卡之类的大量存储设备。第一款创建在NAND Flash基础上的可移除式存储媒体是SmartMedia,此后许多存储媒体也跟着采用NAND Flash,包括MultiMediaCard、Secure Digital、Memory Stick与xD卡。
在这里插入图片描述

(四)两者之间的区别

1)NAND的写入速度比NOR快很多,所以NAND适合用于存储数据

2)NOR的读速度比NAND稍快一些。

3)NAND的4ms擦除速度、编程速度远比NOR的5s快。

4)NAND的擦除单元更小,相应的擦除电路更少。

5)在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。

6)NAND器件中的坏块是随机分布的,对介质进行初始化扫描发现坏块,并将坏块标记为不可用。在烧写内核到NAND的时候,经常有发现坏块提示。

7)由于Flash固有的电器特性,在读写数据过程中偶然会产生1位或几位数据错误,即位反转,NAND Flash发生位反转的几率要远大于NOR Flash。位反转无法避免,因此,使用NAND Flash的同时,应采用错误探测/错误更正(EDC/ECC)算法。

8)NANDFlash与NOR Flash相比容量大。

9)NOR价格高,呵呵,这才是最重要的。

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


本文章仅供学习交流用禁止用作商业用途,转载请标明出处

微信公众号:zhjj0729

微博:文艺to青年

简书:水枂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++堆

c reference: http://www.cplusplus.com/reference/algorithm/make_heap/ heap并不属于STL容器组件,它分为 max heap 和min heap,在缺省情况下,max-heap是优先队列(priority queue)的底层实现机制。 而这个实现机制中的…

关于Ubuntu拒绝root用户ssh远程登录

今天使用SecureCRT远程登陆Ubuntu时一直提示密码或用户名错误,实际输入是正确的,我按照网上教程改还是不行,后来才想起来我是root登录的,Ubuntu默认的ssh远程root登录是关闭的,在这里记录一下 1.编辑配置文件 #sudo v…

windows8建立局域网的方法

win8建立局域网的方法:1、首先笔记本有无线网卡且支持 虚拟WIFI ;2、按winX键,选择"命令提示符(管理员)A"; 3、输入"netsh wlan set hostednetwork modeallow ssid网络名称 key我的密码" ; 4、接着输入"netsh wlan start hoste…

内核移植出现:Kernel panic - not syncing: No init found.

今天在升级SDK的时候,升级到kernel时遇到如题所述的问题,花了天时间调通,在这里记录一下。 报错提示:(当时没有记录,错误的提示大概如下) Kernel panic - not syncing: No init found. Try passing init option to k…

lintcode Permutation Index

题目:http://www.lintcode.com/zh-cn/problem/permutation-index/ 排列序号 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。 样例 例如,排列[1,2,4]是第1个排列。 思路&#xf…

32位和64位机器上C语言数据类型的大小

作为嵌入式开发的人员,是必须了解C语言在不同位数机器上占用的字节大小的,下面做下对比 不同位数平台对比: \16位平台32位平台64位平台char1个字节8位1个字节8位1个字节short2个字节16位2个字节16位2个字节int2个字节16位4个字节32位 4个字节…

lintcode循环数组之连续子数组求和

v 题目:连续子数组求和 II给定一个整数循环数组(头尾相接),请找出一个连续的子数组,使得该子数组的和最大。输出答案时,请分别返回第一个数字和最后一个数字的值。如果多个答案,请返回其中任意一…

lintcode最长回文子串(Manacher算法)

题目来自lintcode, 链接:http://www.lintcode.com/zh-cn/problem/longest-palindromic-substring/ 最长回文子串 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。…

全排列总结

接触全排列已经好长时间了,一直没有抽空总结一下全排列的相关问题,下面来说一下! 排列 一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元…

大小端问题傻傻分不清?

先来熟悉一下概念: 大端:数据的高位数据保存在低位地址,数据的低位数据保存在高地址 小端:数据的高位数据保存在高位地址,数据的低位数据保存在低地址为什么会存在大小端的问题? 这是因为在计算机系统中&a…

n个结点,不同形态的二叉树(数目+生成)

题目链接: 不同的二叉查找树:http://www.lintcode.com/zh-cn/problem/unique-binary-search-trees/ 不同的二叉查找树 II:http://www.lintcode.com/zh-cn/problem/unique-binary-search-trees-ii/ 不同形态二叉树的数目: 样例 给出…

c++ stringstream(老好用了)

前言: 以前没有接触过stringstream这个类的时候,常用的字符串和数字转换函数就是sscanf和sprintf函数。开始的时候就觉得这两个函数应经很叼了,但是毕竟是属于c的。c中引入了流的概念,通过流来实现字符串和数字的转换方便多了。在…

mount --bind的用处

(一)mount --bind介绍 mount --bind的作用是将两个目录连接起来,例如:mount ---bind /dir1 /dir2 是将dir1目录挂载到dir2目录上,下面来实际演示一下: 上面的操作中首先创建了dir1 dir2两个目录&#xf…

gcc -strip编译选项的作用

从字面上来看strip的意思是脱衣服、拆卸,那么gcc --strip的作用大概能猜错来了。 没错就是有选择地除去行号信息、重定位信息、调试段、typchk 段、注释段、文件头以及所有或部分符号表。 一旦使用该命令,则很难调试文件的符号,因此&#x…

lintcode 落单的数(位操作)

题目1 落单的数 给出2*n 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 链接:http://www.lintcode.com/zh-cn/problem/single-number/ 样例 给出 [1,2,2,1,3,4,3],返回 4 挑战 一次遍历,常数级…

旋转图像

旋转图像 给定一个NN的二维矩阵表示图像,90度顺时针旋转图像。 看个例子 算法1: 如上图所示,设一个N阶二维矩阵,则将矩阵从外向里可以分成N/2个圈,例如(1 2 3 4 8 12 16 15 14 13 9 5)这是最外边…

嵌入式开发板模拟器:QEMU

前两天看微信公众号时发现了一个嵌入式模拟器,感觉很不错,自己动手安装了一个,折腾了几天,下载一直是个问题,特此记录如下 模拟器大家应该都听说过,有的小伙伴打游戏也会安装模拟器,今天我们介绍…

gcc: weak_alias如何使用

本文主要说明weak和alias是什么和如何使用它 __attribute__是用来说明函数的属性,weak和alias分别是两个属性。 (一)强符号和弱符号: 强符号:已经初始化的全局变量和未被weak修饰的函数弱符号:未初始化的全…

静态Include和动态Include测试并总结

主要代码 hjzgg.css .center-div{width:auto;margin-left: 40%;margin-right: 40%;display: block;position: absolute;top:0px;left:0px; }.text-div{margin-top: 80px; }.hjzgg-div{color:transparent;font-size:20px;font-weight: bold;letter-spacing:2px;-webkit-animatio…

linux终端常用快捷键

CTRLALTT 打开终端 CTRLD 关闭终端 CTRL SHIFT "" 放大终端字体 CTRL “-” 缩小终端字体 CTRL r 查找历史命令 CTRLu 删除光标前面所有内容 CTRLw 删除光标左边的单词 CTRL k 删除光标后面的所有内容 CTRLL 清除当前屏幕内容 CTRLa 光标移到开始位置 CTRLe 光标移到…