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的内部结构和工作原理一知半解.今天从一篇博客中打破一直以来的盲区.特此声明,本文设计思 ...
随机推荐
- DEV控件自定义排序实现
一般的控件或者组件都支持按照某一列进行排序.但是,这种排序是根据数据源里的数据默认按照降序或升序排序的,同时这样的排序与字段的类型有关. 假设现在字段的类型是字符串类型 ,但是,存储的数据时数字加一些 ...
- api (二) 创建控件 (转)
在Win32 SDK环境下,怎么来创建常用的那些基本控件呢?我们知道如果用MFC,简单的拖放即可完成大多数控件的创建,但是我们既然是用Windows SDK API编程,当然是从根上解决这个问题,实际 ...
- Linux下为何都是文件的理解
所谓“文件”,就是在我们的电脑中,以实现某种功能.或某个软件的部分功能为目的而定义的一个单位. Linux都是以文件的形式存在,当我们访问某个文件(Linux中的文件有目录,连接,普通文本),由于Li ...
- Android模拟器使用笔记,学习head_first python 安卓开发章节
学习head_first python 安卓开发那一章需要的程序android-sdk_r23.0.2-windows.zip //模拟器 PythonForAndroid_r4.apk sl4a_r ...
- Windows的历史zt
原文地址:http://windows.microsoft.com/zh-CN/windows/history#T1=era0 1975–1981:Microsoft 起步 Microsoft 联合创 ...
- 使用Unity开发HoloLens应用
https://developer.microsoft.com/en-us/windows/holographic/install_the_tools 导读:开发者们在陆续收到HoloLens开发者版 ...
- 4.java.lang.NumberFormatException(数据类型转换异常)
字符串转换为数字异常 当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常.如现在讲字符型的数据“123456”转换为数值型数据时,是允许的. 但是如果字符 ...
- Red Hat Enterprise Linux Release Dates
Red Hat Enterprise Linux Release Dates UpdatedMay 10 2016 at 10:57 PM - English The tables below lis ...
- J2SE知识点摘记(十七)
1. Applet Applet的生命周期分为四个阶段,各阶段分别由init,start,stop和destroy四种方法来具体体现. public void init() 此方法通知A ...
- 不能取组织ID
应用 Oracle Purchasing 层 Level Function 函数名 Funcgtion Name PO_POXBWVRP 表单名 Form Name POXBWVRP 说明 Des ...