NAND闪存颗粒结构及工作原理
NAND闪存是一种电压元件,靠其内存电压来存储数据,现在我们就来谈谈它的结构及工作原理。
闪存的内部存储结构是金属-氧化层-半导体-场效晶体管(MOSFET),里面有一个浮置栅极(Floating Gate),它便是真正存储数据的单元。请看下图:

数据在闪存的存储单元中是以电荷(electrical charge) 形式存储的。存储电荷的多少,取决于图中的控制栅极(Control gate)所被施加的电压,其控制了是向存储单元中冲入电荷还是使其释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值Vth来表示。
1.对于NAND闪存的写入(编程),就是控制Control Gate去充电(对Control Gate施加电压),使得浮置栅极存储的电荷够多,超过阈值Vth,就表示0。
2.对于NAND Flash的擦除(Erase),就是对浮置栅极放电,低于阈值Vth,就表示1。

上图是一个8Gb 50nm的SLC颗粒内部架构,每个page有33,792个存储单元,每个存储单元代表1bit(SLC),所以每个page容量为4096Byte + 128Byte(SA区)。每个Block由64个page组成,所以每个Block容量为262,114Byte + 8192Byte (SA区)。Page是NAND Flash上最小的读取/写入(编程)单位(一个Page上的单元共享一根字符线Word line),Block是NAND Flash上最小的擦除单位。不同厂牌不同型号颗粒有不同的Page和Block容量。
如上所述,大家应该发现了,写入时,是在字符线上加压以写入数据,擦除时则是在位线上加压,因为一个块共享一条位线,这也是擦除的单位是块而不是页的原因,同理写入的最小单位是页的原因大家想必也已明白。
下图是个8Gb 50nm的SLC芯片,4KB+128字节的页大小,256KB+8KB的块大小。图中每个页内4096字节用于存储数据,另外128字节用于管理和ECC等。

NAND闪存还会利用多Plane设计以提升性能,请看下图:

多Plane设计的原理很简单,从上图中(Micron 25nm L73A)我们看到,一个晶片内部分成了2个Plane,而且2个Plane内的Block编号是单双交叉的,想象我们在操作时,也可以进行交叉操作(一单一双)来提升性能,根据测试,某些情况下性能可以比单Plane设计提高约50%以上。

上图向大家清楚说明了多Plane设计提升性能的原因。
在前面的SSD基本架构中,我们提及了交叉读写(Interleave)算法,这个算法的作用是什么呢?
前面所说的是针对单个晶片内部的多Plane进行操作,这里的Interleave指的是对单通道下多个晶片进行操作。打个比方,下图为64G的m4 SSD,颗粒为8颗粒L73A(每个颗粒内部2个Die封装),那么作为8通道的主控制器,每个通道里可以同时对2个Die(4个Plane)进行操作,达到提速的目的。

假设上面是单通道的操作模式,下图上面部分就是一个通道上有1个Die,下面部分则是一个通道上有2个Die。假定1次读取需要5个时钟周期,一个方块代表1个时钟周期,第五个时钟周期数据即可传输完成,2个Die的时候采用交错操作,第一个时钟周期时Die 1 发送完读取指令后在第二个时钟周期时,Die 2接着发送读取指令,这样就能接近成倍的提升性能,这也就是为什么m4的128G写入速度比64G写入速度快一倍的道理。

NAND闪存颗粒结构及工作原理的更多相关文章
- 储存技术(SLC、MLC、TLC和QLC的NAND闪存技术)和Optane Memory
1.转载:Optane Memory 2.构成SSD的主要IC有主控芯片和NAND闪存,SLC.MLC和TLC三者都是闪存的类型 需要说明的闪存的寿命指的是写入(擦写)的次数,不是读出的次数,因为读取 ...
- [转帖]国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测
国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测 https://www.cnbeta.com/articles/tech/830875.htm 全国产的 SSD 群联貌似是对岸的 不过不管怎么说 ...
- 3D NAND闪存是个啥?让国内如此疯狂
Repost: https://news.mydrivers.com/1/477/477251.htm 上个月底武汉新芯科技主导的国家级存储器产业基地正式动工,在大基金的支持下该项目将投资240亿美元 ...
- C51端口结构和工作原理(转)
一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的 ...
- 就算是3.0的U盘,写入速度10M及以下也是正常的,U盘用很差的闪存颗粒的话就算10Gbps的USB3.1也是很慢的。
作者:范德成链接:https://www.zhihu.com/question/56251636/answer/157021710来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- NAND闪存供过于求的情况今年会有所好转吗?
2018年,NAND闪存全年供过于求,价格一直下跌,导致西数.东芝等厂商毛利率大幅下滑.如今到了2019年,情况会有所好转吗? 近日,集邦科技旗下半导体研究中心DRAMeXchange发布调查报告指出 ...
- laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)
laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...
- 三星260亿美元的豪赌:想垄断DRAM和NAND闪存市场(规模经济让对手难以招架)
腾讯科技讯 据外媒报道,经过50年的发展,半导体市场仍然显得非常活跃,它在今年有望增长20%.随着高增长而来的是供应短缺,这就是DRAM和闪存价格为什么今年会上涨的原因. 三星在DRAM和闪存市场占有 ...
- 代码中理解CPU结构及工作原理
一.前言 从研究生开始到工作半年,陆续在接触MCU SOC这些以CPU为核心的控制器,但由于专业的原因一直对CPU的内部结构和工作原理一知半解.今天从一篇博客中打破一直以来的盲区.特此声明,本文设计思 ...
随机推荐
- 关于ql createNativeQuery生成json数据
当用createNativeQuery执行原生sql语句时,返回的数据json格式是只有值,没有键名的,在这种情况下要用Map.class对sql语句中的字段进行Map映射,这样返回的数据的json格 ...
- MySQL管理一些基础SQL语句
.进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; .查询所有数据的大小: ),),'MB') as data from i ...
- [置顶] woff格式字体怎么打开和编辑?
如题! woff百度百科:http://baike.baidu.com/link?url=toS7yqpN9VlEcO2GOEp5JEA9-TeaZgIdVqTOv7iHshsNvk-V8HtxEY0 ...
- oracle数据库删除数据Delete语句和Truncate语句的对比
oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...
- Delphi组件开发-在窗体标题栏添加按钮(使用MakeObjectInstance(NewWndProc),并处理好多消息)
这是一个在窗体标题栏添加自定义按钮的组件(TTitleBarButton)开发实例,标题栏按钮组件TTitleBarButton以TComponent为直接继承对象,它是一个可以在窗体标题栏上显示按钮 ...
- WPF中的触发器简单总结
原文 http://blog.sina.com.cn/s/blog_5f2ed5cb0100p3ab.html 触发器,从某种意义上来说它也是一种Style,因为它包含有一个Setter集合,并根据一 ...
- AndroidAutoLayout 屏幕适配
https://github.com/hongyangAndroid/AndroidAutoLayout
- 点击按钮改变标签内容(采用lambda函数方式)
from Tkinter import* window=Tk() counter=IntVar() counter.set(0) def click(variable,value): variable ...
- POJ 2400 最小权匹配
吐槽:首先,这道题的输入居然是错的.要将上下两个矩阵的位置换一下才可以出样例,也就是上面那个矩阵是employee对Supervisor的打分,下面那个矩阵才是Supervisor对employee的 ...
- libvirt python binding 变成了一个新项目了。
http://libvirt.org/git/ $ git clone git://libvirt.org/libvirt-python.git 2013年的事情了. $ git show a7a12 ...