MySQL Disk--NAND Flash原理
======================================================
NAND Flash最小存储单元:

写数据操作:
通过对控制闸(Control Gate)施加高电压,然后允许源极(SOURCE)和汲极(RRAIN)间的N信道(N-Channel)流入电子,等到电流够强,电子获得足够能量时,便会越过浮置闸(Floating Gate)底下的二氧化硅层(SiO2)为单元所捕获,该过程被成为穿隧效应(Tunnel Effect)。首先将数据转换为二进制0和1,再通过向浮置闸(Floating Gate)里流入电子数量的多寡来表示要写入的二进制数据。
通过对控制闸(Control Gate),使得浮置闸(Floating Gate)里的电子被吸住,然后让N通道(N-Channel)通过电流,利用电流感应浮置闸(Floating Gate)里电子捕获量的多寡,通过感应强度转换为二进制的0和1,最终转换为数据。
通过对单元底下P型半导体(P-Well)施加电压,使得浮置闸(Floating Gate)里的电子通过源极(SOURCE)和汲极(RRAIN)间的N信道(N-Channel)穿越二氧化硅层流出,该过程被成为穿隧释出(Tunnel Release)。
对于SSD固态硬盘(NAND-Flash)的最小存储单元,通过向存储单元中流入电子来"写数据",再通过感应存储单元中的电子来“读数据”,通过释放存储单元中电子来“擦除数据”。
SSD 数据稳定性问题
1、在无外力作用下,浮置闸(Floating Gate)里的电子没有足够能量逃离存储单元底部的二氧化硅层,浮置闸(Floating Gate)里的电子不会发生变化,则数据稳定。 2、存储单元中用来绝缘的二氧化硅层会随时间推移而损耗,对MLC NAND闪存来说通常可以保存10年。 3、半导体的导电性受温度影响严重,随着环境温度身高,电子会更快地从浮置闸(Floating Gate)中逃离,导致存储单元的电压状态改变,导致数据不可读。在不通电状态下SSD要达到JEDEC规定的数据保存率,消费级SSD是30°C温度下1年,企业级是40°C下三个月。
======================================================
SSD擦写寿命问题
在“写数据”和“擦除数据”过程中,电子需要通过二氧化硅层流入或流出浮置闸(Floating Gate),随着电子流入或流出,用来绝缘的二氧化硅层(10nm左右厚度)的院子键会被一点一点破坏掉,随着电子会慢慢占据二氧化硅层,会抵消掉施加在控制闸上的电压,导致需要更高电压才能完成数据存取操作,而高电压又使得氧化物更快被击穿,当整个二氧化硅层被电子贯穿后,该存储单元便无法继续使用。
======================================================
SLC MLC TLC介绍
SLC(Single-Level Cell),每个存储单元存放1bit信息,将浮置闸里电子捕获状态分为有和无,对应二进制数据0和1。
MLC(Multi-Level Cell),每个存储单元存放2bit信息,将浮置闸里电子捕获状态分为高、中、低、无四种状态,对应二进制数据00、01、10、11。
TLC(Triple-Level Cell),每个存储单元存放3bit信息,将浮置闸里电子捕获状态分为8种状态,对应二进制数据000到111。

对应相同面积的芯片,每个存储单元所占空间相同,每个存储单元存放的信息量决定整个芯片的信息量,因此TCL的容量相对要远高于SLC的容量。
相对于SLC仅存放2中状态,MLC/TCL的每个存储单元需要存放4种/8种状态,使得每次“写数据”和“擦除数据”都需要更多流入和流出更多电子,导致二氧化硅绝缘层的使用寿命(擦写次数)较低。
======================================================
内存颗粒等级
当用于NAND Flash的内存颗粒被生产出来后,会根据其质量来决定用途:
1、质量好的用来做最高等级的同步颗粒
2、能被修复的用来做次等级的同步颗粒
3、质量较差的用来做低等级的异步颗粒
同步颗粒与异步颗粒主要是两个管脚的不同,同步模式下颗粒随时处于Ready状态,能减少一个时钟周期。
英特尔 25nm颗粒的分级表:

======================================================
摘抄自:https://www.cnblogs.com/Christal-R/p/7246415.html
======================================================
MySQL Disk--NAND Flash原理的更多相关文章
- NAND FLASH 原理
NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储 ...
- (一)Nand FLASH 原理讲解
NAND FLASH 优势 : 可以用当硬盘 这里好像型号是 K9F2G08 基本结构: 不是很难自己看看,暂时不要看
- Nand Flash与Nor Flash的区别
区别:http://zhidao.baidu.com/question/1068445.html?qbl=relate_question_0&word=Serial%20Flash%20%D3 ...
- NAND Flash【转】
转自:http://www.cnblogs.com/lifan3a/articles/4958224.html 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用. 1. 概 ...
- NAND FLASH
NAND Flash 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用. 1. 概述 MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来数据传输.地址 ...
- u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/19153 ...
- ECC校验原理以及在Nand Flash中的应用
本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍 ECC,全称为Error Correcting Code, ...
- NAND FLASH ECC校验原理与实现
ECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块.为了检测数据的可靠性,在应用NAND ...
- Nand Flash 控制器工作原理
对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成.所以,不能对 Nand Flash 进行总线操作.而 Nand Flash 的写操作也必须块方 ...
随机推荐
- English trip -- VC(情景课) 8 A Get ready
Words cashier # 收银员 a cashier counts money 收钱 custodian # 清洁工 a custodian cl ...
- php--------php库生成二维码和有logo的二维码
php生成二维码和带有logo的二维码,上一篇博客讲的是js实现二维码:php--------使用js生成二维码. 今天写的这个小案例是使用php库生成二维码: 效果图: 使用了 php ...
- Confluence 6 设置公共访问
你可以通过为匿名用户启用 'Use Confluence' 权限来启用匿名用户的站点访问(也称为公共访问) 一个匿名用户的定义为一个不需要登录就可以访问 Confluence 站点.使用 Conflu ...
- UVA557 汉堡 Burger
题面 https://www.luogu.org/problemnew/show/UVA557 这里顺便整理一下二维格点随机游走问题. 遇到这种问题时,需注意分母的计算问题. 设x为起点到终点的距离. ...
- hdu1358 kmp的next数组
For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...
- java容器——Collection接口
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...
- dubbo的超时重试
dubbo的超时分为服务端超时 SERVER_TIMEOUT 和客户端超时 CLIENT_TIMEOUT.本文讨论服务端超时的情形: 超时:consumer发送调用请求后,等待服务端的响应,若超过ti ...
- Python学习之路day3-集合
一.概述 集合(set)是一种无序且不重复的序列. 无序不重复的特点决定它存在以下的应用场景: 去重处理 关系测试 差集.并集.交集等,下文详述. 二.创建集合 创建集合的方法与创建字典类似,但没有键 ...
- Android开发——1轻松战胜开发环境
写在前头的话:鄙人乃2016年本科毕业的程序yuan一枚,大学阶段从未学过安卓,java也是一知半解,回想这一年半的开发生涯真的是相当悲壮.你要是问我喜欢开发吗,当然确定一定以及肯定地告诉你不喜欢啊! ...
- c++多态多实例
#include <bits/stdc++.h> using namespace std; class A { public: A() { cout << "构造A& ...