NOR和NANDFlash的简单比较与基础概念
1、什么是Flash,有什么种类?
Flash就是一种存储器芯片,就是一种用来存储程序和数据的部件。
按照掉电还能否保持数据来分:易失性和非易失性。
易失性:SRAM、DRAM(SDRAM、DDR-SDRAM),适合做主存储。
非易失性:ROM(PROM、EPROM、EEPROM、Flash ROM)、Flash(NOR、NAND),适合做辅助存储。
以下主要是比较NOR Flash和NAND Flash:
2、程序能否在芯片内执行?
NOR Flash可以在芯片内运行,即应用程序可以在闪存内运行,不必再把代码写入到RAM当中,传输效率高,但是本身写速度和擦除速度很慢,而且擦除之前还必须先将目标块内所有位清零。
NAND Flash不能片内执行,但存储单元密度很高,写入与擦除速度也很快,擦除操作也很简单。
3、擦除块大小和执行时间?
NOR Falsh擦除是从64~128K的块内进行,执行时间为5s。
NAND Falsh擦除是从8~32K的块内进行的,执行时间只需要4ms,擦除单元更小,擦除速度更快,需要的擦除电路更少。
4、读取数据方式?
NOR Falsh带有SRAM接口,有足够的地址引脚来寻址,因此可以容易读取内部的每一个字节。
NAND Falsh用复杂的IO来串行读取数据,各个产品和厂商的方法可能不一样。
5、主要用途?
NOR Flash 可在片内运行程序,读取速度快,读取数据容易,写取速度慢,擦除速度也慢,因此可以应用在代码存储介质上。
NAND Flash 不能片内执行,容量大,写取速度快,擦除数据也快,读取速度慢,读写采用512字节的块,单元尺寸几乎是NOR的一半,生产过程比较简单,在给定尺寸内可提高容量,减低成本,因此可用于取代硬盘之类的设备。
6、耐用性?
NOR Flash支持擦写次数十万次。
NAND Flash擦写次数,一百万次,因为尺寸比NOR小八倍,因此在给定时间内删除次数要少一些。
7、位反转?
flash器件都会有的,发生在NAND Flash比较多,一个位会发生反转,可能认为一个位并不起什么作用,但是如果发生在关键文件上,就可能会导致系统停机。可用EDC/ECC数据校验算法来解决此问题。
8、坏块处理?
坏块是随机分布的,需要对介质进行初始化扫描,并将坏块标记为不可以,如果不进行这项处理,将会导致高故障率。
9、是否需要软件支持?
NOR Flash的使用不需要任何软件支持,可直接运行代码。
NAND Flash 使用之前需要先写入内存技术驱动程序,然后才可以写入操作,写入时千万不能向坏块写入,也就是意味着NAND器件必须时时刻刻进行虚拟映射。
10、 NAND Flash的一些概念:chip,die, Block, plane,page
(1)chip是指芯片,一个封装好的芯片就是一个chip;
(2)die是晶圆上的小方块,一个芯片里可能封装若干个die,由于flash的工艺不一样,技术不一样,由此产生了die,一个chip包含N个die;
(3)Block是NANDFlash的最小写入单位,一个Block包含了64个Page;
(4)plane就是一个存储矩阵,包含若干个Block;
(5). Page是NANDFlash的最小读写单位,一个Page包含若干个Byte,有512(small page)、2018、4096、8192,目前最常见的是2048字节(large page);
11、NAND Flash有哪些种类?
SLC:一个存储单元存放1bit数据,只放0和1;
MLC:一个存储单元存放2bit数据;
TLC:一个存储单元存放3bit数据;
12、什么情况下会导致坏块?
1、出厂就有坏块;
2、擦除失败产生的坏块;
3、写操作失败产生的坏块;
13、空闲区域有什么用?
每一个page,都有一块空闲区域,之所以设计了多余的区域,是用来存放数据的校验值
这片区域一般是给ECC/EDC用的,该操作是随着页一起完成的。
每一个page除了2K字节外,还有64字节的空闲区域(2K + 64)。
NOR和NANDFlash的简单比较与基础概念相关推荐
- macos下使用aria2_macOS下 ansible简单安装及基础使用
macOS下 ansible简单安装及基础使用,其实命令是相通的,我这篇测试基本都是在macOS下执行的.在Linux操作系统下几乎同样的办法. ansible是一种自动化运维工具,基于Python开 ...
- cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
一.前言 基于前面我发的贴子 土味程序员:一个简单的零基础的机器学习教程,Pytorch搭建Faster R-CNN目标检测平台zhuanlan.zhihu.com 一个非常震撼的目标检测的例子.上 ...
- python编译器包括的简单过程_python基础第二课
一 认识模块 1.1 sys #!/usr/bin/env python3 #Author: Sam Gao importsysprint(sys.path) #打印PYTHONPATH环境变量# ...
- GRBL 软件:简单解释的基础知识
GRBL 软件:简单解释的基础知识 决定使用哪种 CNC 软件是一个艰难的决定.查看我们对 GRBL 软件的概述,看看它是否适合您. 当您遇到特定问题或需要提出问题时,拥有一些首选资源总是有帮助的.我 ...
- Ubuntu中cc++语言简单程序编写以及使用gccg++方式编译简单程序(基础)
Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 这里写目录标题 Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 一.编写 ...
- MySQL数据库的简单使用(基础篇)
MySQL数据库的简单使用(基础篇) 学习说明 文章划分 三级模式的理解 安装及配置MySQL 登录MySQL(Windows下) 数据库操作 数据库引擎 MySQL执行外部的.sql文件 数据表的操 ...
- 关于深度学习的一些基础概念的简单梳理
目录 独立同分布independent and identically distributed (i.i.d.) BN(Batch Normalization)批规范化 正则化 损失函数 过拟合现象 ...
- 机器学习基础概念及简单框架
机器学习要知道的基础概念和简单框架 机器学习相关的基础概念 机器学习的简单框架 机器学习相关的基础概念 All models are wrong but some are useful(所有模型都是错 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
最新文章
- QuickPager asp.net 分页控件 转
- 用7*7的卷积核分类9*9的图片到底应该用几个卷积核?55个
- u盘安装ubuntu_简单实用的ubuntu18.04安装
- DSP学习-- UTC转UNIX时间戳
- SQL Server 2005学习笔记
- [转] android获取手机信息大全
- maven-antrun-plugin - Target
- 绝对定位多个字居中显示的css
- 空间谱专题07:干涉仪仿真思路
- floyd求最小环 模板
- java和线程相关的关键字有哪些_Java中有哪些机制来保证线程安全?synchronized关键字和volatile关键字...
- 如何向Word中插入代码块
- 20180326-1777-1.2-UMLDOC
- mfc多文档获取版本号_管理Microsoft Office文档—基于SOLIDWORKS PDM
- PCA主成分分析python实现
- [JZOJ3987]Tree
- java经纬度工具类
- 数据传输过程加密方案
- 深入浅出LDA(1)
- 三毛的诗 I 如果有来生
热门文章
- MAX 材质学习_有关反射,折射及光线跟踪
- 硅钢片电阻率测试装置设计及工作原理
- Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
- 【编译原理】中间代码优化(三) 循环优化
- 如何采集卫星电视信号并转成网络IP流 (TS over UDP)
- VBA实例1 Excel人员资质及证件管理
- excel 两组数据交点_道路中线测量中的交点和转点的测设详解
- APE (Monkey's Audio) 音频编码插件for Nero Burning ROM
- 中与英文统计字符长度
- douboo php_DouPHP