HDD(hard disk drive):以磁材料为基础,安培定则
写:用电流产生磁场,写入数据
读:在两个储存单元内,检测是否有变化的磁场,读出数据
HDD的问题:慢,重,噪音,功耗
SSD(solid state disk):NAND, Fujio Masuoka, 1986, 东芝
floating gate 技术已经在EEPROM有所应用,并不是新技术
NAND结构,
写入数据的方式,Vgs = 20V,电子聚集在floating gate中
擦除数据的方式,Vgs = -20V,电子从floating gate退会到body中
Ids vs Vgs曲线,被写入的NAND,Vth增大,图像整体右移,读取Ids(本来是有值的,现在变成了0)
EEPROM,NOR,NAND的变化过程,去除选择NMOS,串联结构
block结构,在P substrate上有N well,N well上又有P well,电路建在此P well上
IL SL BL WL
擦除:对整个block,所以叫flash
写入:一行行(WL)写,从离source最近的开始,要写的单元BL为0V,不写的单元BL为7V
读数据:整行读出,在要读的单元上WL为0V(我认为还是得根据实际情况选个合适的值吧),其他3V,BL为1V,看电流为多大,大电流说明Vth小,是擦除状态,小电流说明Vth大,是被编程状态
这里假设了编程状态的Vth是正值,擦除状态的Vth是负值,其实是符合正态分布的,所以可能发生错误,所以还要有验证操作
3D NAND
NAND外围电路:ECC,逻辑地址转物理地址,失败块管理,
Page的概念:一条WL上的可以同时写,同时读的一系列单元
Block的概念:在同一个P well上的可以同时擦除的块
page buffer:用于写操作,外界串行信号转并行信号写入;用于读操作,并行信号转串行信号输出
数据转换率
假如需要对block内的部分单元重写,速度会比较慢,因为NAND不能直接重写,必须先擦除,再写。而擦除需要对整个block进行擦除,所以需要先对原数据在其他空block内进行拷贝。
假如需要对block内的部分page擦除,需要先把对应page标记为不可读状态,之后会进行垃圾回收
如何在NAND电路中产生20V的高电压?用电容,二极管和交流电压源组成的charge pump电路升压,一级最多升一倍,可多级串联
CPU访问各级存储的路径,page table(储存主存中数据的地址),cache address search engine(储存cache中数据的地址)
BCAM(binary content addressable memory)有NAND和NOR两种,对0/1比较
TCAM(ternary content addressable memory)对0/1/x比较,也有NAND和NOR两种
DRAM中可能出现随机位错误,行错,列错
全0/全1测试:全写0,读,全写1,读。测试时间4N
匹配测试:全写0,一个一个读0写1,一个一个读1写0,全写1,一个一个读1写0,一个一个读0写1。测试时间10N
快速测试:
全写0,在0地址写1,从0地址读1,从1地址读0,从0地址读1,从2地址读0.。。。
全写0,在1地址写1,从1地址读1,从1地址读0,从1地址读1,从2地址读0.。。。
.。。。
测试时间(N+1+2N-2)* N * 2 ≈ 6N^2
冗余
可以把错误的位,行,列用冗余替换
根据冗余项的数量以及BER(bit error rate)计算整个电路的成功率