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的简单比较与基础概念相关推荐

  1. macos下使用aria2_macOS下 ansible简单安装及基础使用

    macOS下 ansible简单安装及基础使用,其实命令是相通的,我这篇测试基本都是在macOS下执行的.在Linux操作系统下几乎同样的办法. ansible是一种自动化运维工具,基于Python开 ...

  2. cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...

    一.前言 基于前面我发的贴子 土味程序员:一个简单的零基础的机器学习教程,Pytorch搭建Faster R-CNN目标检测平台​zhuanlan.zhihu.com 一个非常震撼的目标检测的例子.上 ...

  3. python编译器包括的简单过程_python基础第二课

    一  认识模块 1.1  sys #!/usr/bin/env python3 #Author: Sam Gao importsysprint(sys.path) #打印PYTHONPATH环境变量# ...

  4. GRBL 软件:简单解释的基础知识

    GRBL 软件:简单解释的基础知识 决定使用哪种 CNC 软件是一个艰难的决定.查看我们对 GRBL 软件的概述,看看它是否适合您. 当您遇到特定问题或需要提出问题时,拥有一些首选资源总是有帮助的.我 ...

  5. Ubuntu中cc++语言简单程序编写以及使用gccg++方式编译简单程序(基础)

    Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 这里写目录标题 Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 一.编写 ...

  6. MySQL数据库的简单使用(基础篇)

    MySQL数据库的简单使用(基础篇) 学习说明 文章划分 三级模式的理解 安装及配置MySQL 登录MySQL(Windows下) 数据库操作 数据库引擎 MySQL执行外部的.sql文件 数据表的操 ...

  7. 关于深度学习的一些基础概念的简单梳理

    目录 独立同分布independent and identically distributed (i.i.d.) BN(Batch Normalization)批规范化 正则化 损失函数 过拟合现象 ...

  8. 机器学习基础概念及简单框架

    机器学习要知道的基础概念和简单框架 机器学习相关的基础概念 机器学习的简单框架 机器学习相关的基础概念 All models are wrong but some are useful(所有模型都是错 ...

  9. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

最新文章

  1. QuickPager asp.net 分页控件 转
  2. 用7*7的卷积核分类9*9的图片到底应该用几个卷积核?55个
  3. u盘安装ubuntu_简单实用的ubuntu18.04安装
  4. DSP学习-- UTC转UNIX时间戳
  5. SQL Server 2005学习笔记
  6. [转] android获取手机信息大全
  7. maven-antrun-plugin - Target
  8. 绝对定位多个字居中显示的css
  9. 空间谱专题07:干涉仪仿真思路
  10. floyd求最小环 模板
  11. java和线程相关的关键字有哪些_Java中有哪些机制来保证线程安全?synchronized关键字和volatile关键字...
  12. 如何向Word中插入代码块
  13. 20180326-1777-1.2-UMLDOC
  14. mfc多文档获取版本号_管理Microsoft Office文档—基于SOLIDWORKS PDM
  15. PCA主成分分析python实现
  16. [JZOJ3987]Tree
  17. java经纬度工具类
  18. 数据传输过程加密方案
  19. 深入浅出LDA(1)
  20. 三毛的诗 I 如果有来生

热门文章

  1. MAX 材质学习_有关反射,折射及光线跟踪
  2. 硅钢片电阻率测试装置设计及工作原理
  3. Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
  4. 【编译原理】中间代码优化(三) 循环优化
  5. 如何采集卫星电视信号并转成网络IP流 (TS over UDP)
  6. VBA实例1 Excel人员资质及证件管理
  7. excel 两组数据交点_道路中线测量中的交点和转点的测设详解
  8. APE (Monkey's Audio) 音频编码插件for Nero Burning ROM
  9. 中与英文统计字符长度
  10. douboo php_DouPHP