报价
HOME
报价
正文内容
nand flash 掉电 Flash闪存原理,区别与分类
发布时间 : 2024-10-08
作者 : 小编
访问数量 : 23
扫码分享至微信

Flash闪存原理、区别与分类

Flash(即闪存)是不需要Vpp电压信号的EEPROM,属于非易失性存储器(NVM)。Flash的类型主要分两种,nand flash和nor flash,这种分类方式是根据存储单元在矩阵中的排列方式来分类的。

基本原理:

Floating Gate

Flash存储单元基于浮栅(Floating Gate, FG)技术。MOS晶体管由两个重叠栅极CG(Control Gate)和FG(Floating Gate)构成。FG被隔离孤立在中间,像是浮在空中的小岛,这也就是“浮栅”名字的由来。 FG被氧化物包围,在无外力作用下,电子能在其中长期保留。从浮栅中注入和去除电子的操作分别称为编程(program)和擦除(erase)。这些操作修改了存储单元的阈值电压Vth,存储单元是一种特殊类型的MOS晶体管。在CG端上施加一个固定的电压,就可以区分两个存储级别:当栅极电压高于电池的Vth时,电池是开的(“1”),否则是关的(“0”)。

NOR Flash 和NAND Flash主要区别:

1,物理结构:

NOR Flash采用并行阵列架构,其中每个cell都可以通过触点直接访问,这也是NOR闪存具有卓越随机性能的原因。

NOR Flash结构

NAND Flash采用串行结构,存储单元以32个或64个为一组进行串联,如图所示。两个选择晶体管被放置在行边缘,以确保与源线(通过Msl)和位线(通过Mdl)的连接。每个NAND行与另一个行共享位行联系。控制门通过字线(wordlines, WLs)连接。

NAND Flash结构

2,存储单元面积、单位成本、读取速度、功耗

由于在物理结构上的差异,导致了两种Flash在面积、单位成本、读取速度及功耗的差异:

NOR Flash:存储单元面积大、单位成本高、读取快、功耗高;

NAND Flash:存储单元面积小、单位成本低、读取慢、功耗低;

NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的尺寸内提供更高的容量,也就相应地降低了价格。NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8MB以上的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。

3,接口及使用

NOR Flash接口类似SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。由于NOR flash接口非常直接地使用基于NOR闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。

NAND Flash器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚分时用来传送控制、地址和数据信息。在使用NAND器件时,必须先写入驱动程序或者硬件控制器支持,才能继续执行其他操作。所以使用上并不如NOR Flash方便容易。

4,位交换

位交换也叫位反转(Bit twiddling/bit flip),即存储值由0变1或者由1变0。所有flash器件都受位交换现象的困扰。所以就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

NOR flash由于物理结构的不同,很小概率出现位反转现象,故无纠错系统。

5,坏块处理

NAND器件中的坏块是随机分布的,需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。NOR Flash则几乎无坏块或者很少,所以没有坏块处理模块。

Flash器件:

目前的flash存储器都符合PCMCIA标准,可以方便的用于各种设备上。当前有两种类型的卡:一种为Flash存储器卡,此种卡只有Flash Memory芯片组成的存储体,在使用时还需专门的软件进行管理。另一种称为Flash驱动卡,此种卡中除Flash芯片外还有由微处理器和其他逻辑电路组成的控制电路。

1,Flash存储器卡

Flash存储器卡也称为闪存卡(FlashCard),是利用闪存(FlashMemory)技术达到存储电子信息的存储器,一般应用在数码相机,掌上电脑,MP3等小型数码产品中作为存储介质,所以样子小巧,有如一张卡片,所以称之为闪存卡。根据不同的生产厂商和不同的应用,闪存卡大概有SmartMedia(SM卡)、CompactFlash(CF卡)、MultiMediaCard(MMC卡)、SecureDigital(SD卡)、MemoryStick(记忆棒)、XD-PictureCard(XD卡)和微硬盘(MICRODRIVE)这些闪存卡虽然外观、规格不同,但是技术原理都是相同的。

CF卡

CF卡(Compact Flash)是1994年由SanDisk最先推出的一种闪存卡,它革命性的使用了 闪存技术,对所保存的数据来说,CF卡比传统的磁盘驱动器安全性和保护性都更高。路由器、交换器等大多数的网络及电信设备及数码相机仍以CF卡 为主要的外部储存装置。

SM卡

SM卡(Smart Media)是由东芝公司在1995年11月退出的Flash Memory存储卡,三星公司在1996年购买了生产和销售许可,这两家公司成为主要的SM卡厂商。SmartMedia卡是市场上常见的微存储卡(但是最大容量只有128MB),一度在MP3播放器上非常的流行。SmartMedia卡被视为软磁盘的替代者,曾是数码相机普遍支持的存储格式,如今已是没落消亡之势。这一格式相比其他而言最大的好处是通过一个名为FlashPath的转换器,可以在标准的3.5英寸软盘驱动器内使用任何容量的SM卡。

MMC卡

MMC卡(MultiMedia Card)卡由西门子公司和首推CF的SanDisk公司于1997年联合推出,号称是目前世界上最小的Flash Memory存储卡。近年MMC卡技术已差不多完全被SD卡所代替,但由于MMC卡仍可被兼容SD卡的设备所读取,因此仍有其作用。

MS卡

MS卡(Memory Stick)通常称为记忆棒,是Sony公司研发并于1998年10月推出市场的,采用了Sony自己的外型、协议、物理格式和版权保护的一种闪存卡。MS卡的规格和同一时间上市的MMC很相似。

SD卡

SD卡(Security Digital Memory Card,译成安全数码卡) 由松下、东芝和SanDisk联合 推出,1999年8月才首次发布,大小如一张邮票。SD读卡器对计算机来说类似一个USB的软驱的作用,插上SD卡后的读卡器跟U盘功能是一样的,大小也和普通U盘类似。读卡器与电脑主机之间的连接都是采用USB接口,这种产品是配合数码相机而产生的。有外接式和内置式两种,不少新的个人电脑都已经内置了多功能的读卡器。

TF(MicroSD)卡

TF卡(TransFlash)由SanDisk(闪迪)公司发明创立,是一种主要用于手机的极细小的 快闪存储器卡,2004年重命名为MicroSD(顾名思义,就是小SD卡)。几乎只有一片指甲盖的大小,主流台式机、笔记本上均设有直接插槽,通过SD式读卡器连接后可以读写数据。

xD卡

xD卡(eXtreme Digital-Picture Card)是一种专门于数码相机的闪存存储卡,由富士胶 卷与奥林巴斯联合于2002年7月发布,用于取代SM卡(SmartMedia Card)。

miniSD卡

miniSD是闪迪2003年发布的极细小型规格标准SD卡,特别设计于移动电话上,并随卡附上minSD转接器,令它能够兼容所有配置了标准SD卡插槽的设备中。

微硬盘MD

微硬盘MD(Microdrive)最早是由IBM公司开发并于1999年上市的一款体积非常微小的硬盘式数据存储设备,用来对抗市面上主流的闪存产品。IBM将旗下硬盘部门卖给了日立(Hitachi)公司,因此自2003年起MicroDrive的技术与专利是由日立公司拥有。微型硬盘具有记忆容量大、读写速率高有点,缺点是较为耗电、容易发热、使用寿限较短和抗震性能差。

2,Flash驱动卡

eMMC卡

eMMC ( Embedded Multi Media Card) 采用统一的MMC标准接口, 把高密度NAND Flash以及MMC Controller封装在一颗BGA芯片中。针对Flash的特性,产品内部已经包含了Flash管理技术,包括错误探测和纠正,flash平均擦写,坏块管理,掉电保护等技术。用户无需担心产品内部flash晶圆制程和工艺的变化,同时eMMC单颗芯片为主板内部节省更多的空间。

UFS卡

UFS (Universal Flash Storage,通用闪存存储),UFS是一种高性能接口协议,也代表使用该协议的存储设备,设计用于需要最小化功耗的应用,包括智能手机和平板电脑等移动系统以及汽车应用,其高速串行接口和优化协议可显着提高吞吐量和系统性能。

U盘

U盘(USB flash disk),据谐音也称“优盘”。U盘是闪存的一种,故有时也称作闪盘。U盘与硬盘的最大不同是,它不需物理驱动器,即插即用,且其存储容量远超过软盘,极便于携带。U盘集磁盘存储技术、闪存技术及通用串行总线技术于一体。相较于其他可携式存储设备,闪存U盘有许多优点:占空间小,通常操作速度较快(USB1.1、2.0、3.0标准),能存储较多数据,并且性能较可靠(由于没有机械设备),在读写时断开而不会损坏硬件(软盘在读写时断开马上损坏),只会丢失数据。这类的磁盘使用USB大量存储设备标准,操作系统如 Linux、 Mac OS X、Unix与 Windows中皆有内置支持。

SSD固态硬盘

SSD(Solid State Drives ,即为固态硬盘),一般由存储单元(Flash或DRAM)和控制单元组成,固态硬盘是目前最主流的一种硬盘,而且在可预见的未来当中,短时间内很难会被其他硬盘替代。SSD读写速度快、防震抗摔性、低功耗、工作温度范围大、轻便。

flash存储器的种类很多,在生活中的应用也越来越广泛,但是价格依然处于昂贵的阶段, 而这也限制了flash存储器的使用,希望flash存储器能够摆脱价格昂贵的缺点,真正完全地进入人们的生活。

后记:

关于半导体存储基础及分类请参考:

《半导体存储发展与分类》

https://www.toutiao.com/article/7166887627948589605/?channel=&source=search_tab

eMMC深入浅出 第五章 eMMC特性 第四节 掉电提示

Section 4 Power Off Notification

第四节 掉电提示

Today we are going to talk about the PoN (Power Off Notification).

今天我们来聊聊PoN(掉电提示)。

Before we start, I have 3 questions, why we need PoN? Who will get this notification? and from whom? Like the three old classic philosophic questions by ancient Greek philosopher Pluto, ‘who am I? where am I from? where will I go?’ Luckily, we are in the digit logical world this time, it is much easier for us to answer the ‘0’’1’ question. PoN is sent from Host to eMMC device, as Host need to know when it could shut off the power by inform eMMC device in advance so that eMMC device could end its work on hand (we call it BKOPS, the abbreviation for Background Operation) within defined time.

在开始之前我有三个问题,为什么需要PoN掉电提示?谁要接收这个提示?从谁那儿接收?就像古希腊哲学家柏拉图的三个古老的经典哲学问题,‘我是谁?我从哪里来?要到哪里去?’ 幸运的是我们这次是在数字逻辑世界,回到‘0’‘1’的问题简单得多。PoN是从主机到eMMC器件,因为主机需要知道什么时候可以断电,它通过断电之前提前通知eMMC器件以便eMMC器件在规定时间里结束自己的手头工作(我们称之为BKOPS,后台操作的缩写)。

Power here refers to VCC (Voltage Common Collector) and VCCQ (Voltage Common Collector for Data signals, Q here represent data signal, sometimes we use DQ to mean data line). In the eMMC Specification, VCC is power supply for eMMC device core, while VCCQ is power supply for eMMC interface I/O(input/output). Then what exactly is this core and I/O? Core usually means the memory media that is used, here it refer to NAND flash. I/O is the part of eMMC controller. So we could simply translate it into VCC is for NAND flash while VCCQ is for controller.

这里的电源指的是VCC(共集电极电压)和VCCQ(给数据线的共集电极电压,这里Q代表数据信号, 有时候我们用DQ表示数据线)。在eMMC规范里面,VCC是给eMMC器件核心供电用的,而VCCQ是给eMMC的接口I/O(输入/输出)供电用的。那么到底是什么是核心和I/O?核心通常意味着所用的存储介质,这里指的是NAND闪存。I/O是eMMC器件的主控的一部分。所以我们可以简单翻译成,VCC是给NAND用的而VCCQ是给主控用的。

How host send this notification to eMMC device is through CMD6(SWITCH) command to access eMMC Ext_CSD byte 34. There are total 5 allowed setting.

主机是通过CMD6(切换)指令访问Ext_CSD的字节34来把这个提示发送给eMMC器件的。一共有5种容许的参数。

The default one is 0x00 which means PoN is not supported by Host. Note that eMMC device should always support for this feature as this is defined by eMMC specification and eMMC will definitely benefit from it. However, host could vary widely. Then what if host does not support this? If that is the case, eMMC device could only finger cross to pray not get too much hurt (internal firmware crash) at the end (power loss) of this relationship, and try to recover (fix the mess when next power on initialization) from the pain (last power loss).

默认的0x00指的是主句不支持PoN。注意eMMC器件应该根据eMMC规范支持这个特性,因为这个绝对会对eMMC有好处。然后,主机是多种多样的。那么如果主机不支持这个会怎样呢?如果是那样,eMMC器件只能合十祈祷在这段感情中最终(掉电)不被伤害太深(内部的固件损坏),然后从痛苦(上次掉电)中恢复(在下次上电初始化的时候修复这一团糟的场面)。

So for the nowadays system design, although not forcedly required, host should implement this feature as setting 0x01 to the Ext_CSD byte 34 when system booting to let eMMC know.

所以在今天的系统设计中,虽然不被强制要求,主机应该要实现这个特性,通过在系统上电的时候Ext_CSD字节34里写0x01来让eMMC知道。

The next following two setting 0x02 and 0x03 are the Power off Notification to the eMMC device how long time that Host could wait before power off. Setting 0x02 is named as ‘SHORT’ and setting 0x03 ‘LONG’. ‘SHORT’ and ‘LONG’ parameter define the maximum time out tolerable by host, ‘SHORT’ time is defined in the Ext_CSD byte 248, while ‘LONG’ is in Ext_CSD Byte 247. Once host send one of above two to the eMMC device, host will wait for the maximum agreed time by both sides as set.

后面跟着的两个设置0x2和0x03是发给eMMC的掉电提示主机到底在断电之前能够等待多久。0x02设置的名字叫‘短’,0x03叫‘长’。‘长’和‘短’‘的参数定义了主机容忍的最大的超时时间,‘短’时间定义在Ext_CSD的字节248,而‘长’时间定义在Ext_CSD的字节247. 一旦主机发送了上述两个中的一个给eMMC器件,主机会根据设定等待双方达成一致的最大时间。

What eMMC device need to do is to finish its work on hand as soon as possible within this limited time, by pulling down the D0 (Data Line 0) signal to show its busy status. Once finish earlier than time out setting, it should inform host by pulling up the D0 signal to save host waiting time. On the contrary, if eMMC device expire this time, host will not wait and could shut down power (VCC and VCCQ together) at any time. This is the daily life mode between the master(host) and slave(eMMC), slave gets the master’s order to execute immediately but will get punished once not finishing in time.

eMMC器件所要做的是在有限时间里尽快完成自己的手头工作,通过把D0(数据线0)信号拉低表示忙状态。一旦在超时设置前完成,它需要通过拉高D0信号线来通知主机以节省主机的等待时间。反之,如果eMMC超过了这个时间,主机将不会等待而可以在任何时候切断电源(VCC和VCCQ一起)。这个就是主导方(主机)和从属方(eMMC)的日常生活模式。从属方得到主导方指令并立即执行,但是会因为没有及时完成而受到惩罚。

The last one 0x04 is a little different then brothers ‘SHORT’ and ‘LONG’. It is called sleep notification introduced in eMMC specification 5.0. Sleep means only power supply VCC for NAND flash could be cut off after this notification interaction is done, but power supply VCCQ for controller remains on so that eMMC device could be waked up and not go through the full initialization procedure next time. eMMC device receive this sleep notification and after that host will send CMD7 with parameter card deselection to release the device and then send CMD5 with parameter sleep to the eMMC device. Finally host wait eMMC device busy end indication on D0 to know it is in sleep mode and could shut down the VCCQ.

最后一个0x04和之前的 ‘短’‘长’两兄弟不太一样。它在eMMC规范5.0被引入,称为睡眠通知。睡眠指的是在这个通知之后可以仅仅是NAND闪存的供电电压VCC被关掉,而主控的供电电压VCCQ保持打开,这样eMMC可以在下次不需要走完整的初始化流程而仅仅是被唤醒就可以了。eMMC接受到这个睡眠提示,然后主机会用CMD7带卡选空参数来释放,然后发送给eMMC器件CMD5带睡眠参数。最后主机会等待eMMC器件在D0上提示忙结束知道它已经进入睡眠模式,然后关掉VCCQ。

The main benefit for the sleep is to save the power consumption, and also save the next wakeup time if no need duplicated initialization. By the way, wakeup is also with CMD5 and CMD7 combination with different parameter which is CMD5 with parameter wakeup and CMD7 with parameter card selection.

睡眠的主要好处是为了节省功耗,同时因为不需要再重复初始化也节省了下次唤醒的时间。

顺便提一下,唤醒同样用的是CMD5和CMD7的组合,只不过参数不同。CMD5带唤醒参数,而CMD7带卡选择参数。

相关问答

为什么在网页看视频要装 FLASH 插件?

1、AdobeFlash与MacOS的兼容性比较差。2、Flash的更新频率较高,会出现不更新无法使用的情况。3、Flash的解码算法导致CPU占用过高,Macbook会出现发热转风扇等...

为什么电脑会突然没有 flash ?

Adobe官网上是有flashplayerforMac的,并且持续更新。但是MacOS上的flash会使电脑发热严重,耗电加快(所以Safari默认关闭flash).Adobe官网上是有fla...

网上说的固态硬盘丢数据是怎么回事?

1、掉电是指突然停止供电的情况,SSD因为一般都带有SDRAM作为缓存,如果突然停电,SDRAM中的数据无法及时写入NandFlash就会造成这部分数据的丢失,笔记本因为有...

iPad缺少 Flash 而不能玩网页游戏,怎么处理?-ZOL问答

8条回答:【推荐答案】ipad不能装Flashplayer插件,所以无法玩网页游戏。主要原因如下:移动设备电池续航十分重要,但是Flashplayer是一个耗电严重的插件。Flash的...

平板播放器老出获取数据失败怎么回事?

你是直接登录网页看的吗?因为Flash插件很耗电,所以乔布斯在IOS系统中取消了对Flash的支持,你可以下载软件客户端,直接用客户端看,不用登陆网页。你是直接登录...

MacBook Pro耗电特别快,而且电脑很热该怎么办?

4、还有一个绝招,但是慎用。安装一个电脑风扇控制软件MacsFanControl,免费的。临时救急用,不要长时间调整参数。参数标准还是自动比较靠谱!我是Mac小仙,...

vivo手机系统耗电快怎么处理?-ZOL问答

WiFi不关,掉电如流水,因为在开启了WiFi且没有WiFi的环境,手机会不停的搜索WiFi...FuntouchOS3.0以下系统:长按中间Home键点击“一键加速”就可以关闭后台运行...

苹果平板电脑不能播放视频是什么原因? - 懂得

下载播放器软件,具体的下载播放器软的方法如下:所需材料:苹果平板...苹果平板电脑播放视频需要下载播放器软件,具体的下载播放器软的方法如下:所需...

mac怎么关闭 flash -ZOL问答

打开遨游浏览器在地址栏输入:chrome://plugins选择启用Flash即可你是说MC700么?pro和air的SSD硬盘应该是基于FLASH的,目前我的air是基于FLASH...

50纳米芯片实现量产意味着什么?

近日,恒烁半导体推出了一款面向物联网应用的50nm/128Mb高速低功耗NORFlash存储芯片,具有很强的成本和性能优势,力争在该市场中站稳脚跟,迎接IoT时代的真正爆...

 北京文艺台  飞翔的企鹅 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部