SSD简介
SSD(Solid State Disk)是一种使用使用Non-volatile NAND Flash的大容量存储器,相比传统的HDD(Hard Driver Disk),SSD由于使用的是集成电路来保存数据,没有机械结构,拥有较高的读写速度,在读写要求较高的数据库领域得到广泛使用。下面主要介绍一下SSD内部存储数据的结构。
Non-Volatile Flash 分类
根据基本存储结构的不同, 可以分为NOR Flash和NAND Flash,而根据每一个基本单元存储信息量可以分为SLC ( single level cell ), MLC ( multi - level cell ), TLC ( triple level cell )和QLC ( quard level cell )。
Floating-Gate MOSFET结构
不管怎么分类, Flash 里存储信息单元都是 Floating Gate MOSFET, 其基本结构如下所示:
Floating-Gate MOSFET和一般场效应管主要区别是栅极是由被SiO2包围的Floating Gate和正常的Control Gate组成, 也就是多了一个Floating Gate。
Floating-Gate MOSFET特性
根据上面结构图, 可以知道, FLoating Gate处在 Control Gate以及源级和漏级组成的channel中间。因此Floating Gate MOSFET主要特性和FLoating Gate有关。
- 当Floating Gate上不存在电荷时,此时MOSFET阈值电压是 VT1, 管道导通
- 当Floating Gate上存在电荷时,此时为了能使管道导通,除了要施加上面VT1,还需要抵消Floating Gate上电荷, 因此此时阈值电压 Vt2 > Vt1
- 因此, 当没有对Floating Gate MOSFET做Programming操作时,Floating Gate上是不存在电荷的,也就是当前数据是
1。而Programming使Floating Gate带上电荷之后,保存数据时0 - 当需要做Programming操作时,需要在Control Gate上施加大于Vt2电压,此时源级和漏级之间的Channel里的电流会导致电子跃迁,进入Floating Gate。此时保存数据是
0 - 当需要读数据时,在Control Gate上施加一个介于Vt1和Vt2上的,此时如果Floating上没有电荷,则管道导通,数据为
1。否则,管道不导通,数据为0 - 上面主要是
SLC情况, 即每一个cell只保存1bit的信息,所以只需要判断MOSFET是否有电流流过即可。 而对于MLC,TLC和QLC可以根据加到Control Gate上不同电压时流过电流不同来区别多bit的信息。
NOR FLash
将上面介绍的Floating Gate MOSFET的漏级接在一起形成bitline,相连的源级接地,这样只要一个MOSFET的Control Gate施加介于Vt1和Vt2之间的电压,会导致bitline被拉低,所以叫做NOR Flash. 结构如下所示:
Programming
当需要对NOR Flash做Programming操作时,需要在Control Gate上施加高电压以便使Channel上的电子能够跃迁到Floating Gate上,此时各级上电压如下所示:
Erasing
当需要对NOR Flash做Erasing操作(使MOSFET回到存储1状态)时,要在Control Gate和源级上施加相反的电压,使Floating Gate上的电子形成隧道效应而释放掉。此时各级上电压如下所示:
NAND Flash
与上面NOR Flash主要不同是NAND Flash基本单元是串在一起的Floating Gate MOSFET, 这些串在一起的Floating Gate MOSFET之后再组成基本单元按照NOR Flash方式连接。基本结构如下所示:
上面基本结构决定了NAND Flash比NOR Flash面积更小, 价格更便宜。不过NOR Flash能够任意寻址,所以一般作为程序代码存储,而NAND Flash则作为大量数据存储。
缺点与限制
Block Erasure
不管是NOR Flash还是NAND Flash, 虽然可以按 byte, word来programming和read,但是都只能Erase一个block。
Memory Wear
另外,Flash对program-erase cycle有一定限制,一般有100,00 P/E。因此,为了能够使整块Flash能够不被program-erase同一个block而坏掉,需要控制器控制program-earse分布到所有block。
Read Disturb
这个是由于Floating Gate MOSFET之间的串扰导致读取一个cell的数据时导致临近其他cell数据变化
X-ray effects
X-ray射线能够erase已经porgramming的Flash中的 bit
