今日头条
Flash Memory是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在PC系统中,则主要用在固态硬盘以及主板BIOS中。绝大部分的U盘、SDCard等移动存储设备也都是使用FlashMemory作为存储介质。
根据硬件上存储原理的不同,Flash Memory主要可以分为NOR Flash和NAND FLASH两类。主要的差异如下所示:
NAND FLASH读取速度与NOR Flash相近,根据接口的不同有所差异;
NAND FLASH的写入速度比NOR Flash快很多;
NAND FLASH的擦除速度比NOR Flash快很多;
NAND FLASH最大擦次数比NOR Flash多;
NOR Flash支持片上执行,可以在上面直接运行代码;
NOR Flash软件驱动比NAND FLASH简单;
NOR Flash可以随机按字节读取数据,NAND FLASH需要按块进行读取。
大容量下NAND FLASH比NOR Flash成本要低很多,体积也更小;
(注:NOR Flash和NAND FLASH的擦除都是按块进行的,执行一个擦除或者写入操作时,NOR Flash大约需要5s,而NAND FLASH通常不超过4ms。)
1、NOR Flash
NOR Flash根据与CPU端接口的不同,可以分为Parallel NOR Flash和SPI NOR FLASH两类。
Parallel NOR Flash可以接入到Host的SRAM/DRAMController上,所存储的内容可以直接映射到CPU地址空间,不需要拷贝到RAM中即可被CPU访问,因而支持片上执行。SPI NOR FLASH的成本比Parallel NOR Flash低,主要通过SPI接口与Host连接。
鉴于NOR Flash擦写速度慢,成本高等特性,NOR Flash主要应用于小容量、内容更新少的场景,例如PC主板BIOS、路由器系统存储等。
2、NAND FLASH
NAND FLASH
需要通过专门的NFI(NAND FLASH Interface)与Host端进行通信,如下图所示:
NAND FLASH根据每个存储单元内存储比特个数的不同,可以分为SLC(Single-LevelCell)、MLC(Multi-LevelCell)和TLC(Triple-LevelCell)三类。其中,在一个存储单元中,SLC可以存储1个比特,MLC可以存储2个比特,TLC则可以存储3个比特。
NAND FLASH的一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。在SLC中,存储单元的电压被分为两个等级,分别表示0和1两个状态,即1个比特。在MLC中,存储单元的电压则被分为4个等级,分别表示00011011四个状态,即2个比特位。同理,在TLC中,存储单元的电压被分为8个等级,存储3个比特信息。
NAND FLASH的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。Table1中,给出了特定工艺和技术水平下的成本和寿命数据。
相比于NOR Flash,NAND FLASH写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的eMMC内部的Flash Memory都属于NAND FLASH。PC中的固态硬盘中也是使用NAND FLASH。
审核编辑:符乾江
全部0条评论
快来发表一下你的评论吧 !