这一章关于闪存主要是SLC, MLC, TLC, 3D flash的比较,主要点如下:

1、FLASH的写步骤ISPP
2、在写数据之前要进行随机化编码
3、slc、mlc、tlc性能的比较
4、一个具体的flash读写的体系结构
5、目前定义的flash的IO接口规范
6、ssd里面并行性的体现
7、mlc为什么要采用格雷编码
8、tlc的三步编程操作
9、3D FLASH的相关特性

下面分别对这9个方面进行具体的分析:

1、FLASH的写步骤ISPP

闪存的编程操作实际是对闪存页的写操作,通过电压来完成的,那么闪存的编程操作特别地方是采用的ISPP,步进式的编程,如下:

从这个ISPP操作上可以看出,ISPP的中文是步进式编程操作,也就是说flash写操作的时候,施加编程电压的时候,不是电压一次到位,二是步进式的一步一步的,首先加个,然后进行判断比较是否达到需要的编程电压,如果没有达到,在加,直到达到,也就是一步一步的完成电压的升高,完成指定编码数据的编程。

2、在写数据之前要进行随机化编码


之前都没有了解到,在编码数据写入flash阵列之前,还要进行随机化编码这步。这个步骤的目的是为了降低错误率。随机化编码就是让1和0平衡,这样在不同的字线之间编码的时候1和0相对均衡,就不会导致全是1编码,BL线上面的cell之间就有电子游走,导致bit的错误翻转。
具体的一个步骤,从图中也可以看出来:

3、slc、mlc、tlc性能的比较


从图上可以看出以下几个特性:
(1)slc的P/Ecycle 擦写次数可以达到几十万次,mlc、tlc都只能达到几千次
(2)slc的读写时间最短,tlc的读写时间最长。
(3)slc的读时间大概20多微秒,写时间大概200微秒;mlc的读时间大概50微秒,写时间大概500微秒,tlc的读时间大概75微秒,写时间很长,大概有1.2毫秒左右。
(4)擦写时间大概都是2~4ms.

4、一个具体的flash读写的体系结构

5、目前定义的flash的IO接口规范

6、ssd里面并行性的体现


这个图说明了一个ssd中的4个并行性,从图上可以看出首先是通道数是一个并行,每个通道配合一个控制器,拿实物对应一样,我们opsenssd上对应的那两个c卡槽就是两个通道;其次是一个通道上的chip并行,同样对应openssd上面的4个chip;然后是一个chip内部的die之间的并行;最后是一个die内的plane之间的并行。

7、mlc为什么要采用格雷编码


之间分析了mlc编程时候,知道它有4个状态,当时并没有考虑编码这个过程,但是也忽略了一个问题,那就是错误bit数。

当我们加电压的时候在电压临界时,就容易发生错误,如果没有编码,那么从10—>01就会发生2个bit的错误,但是进行格雷编码,也就是每相邻的两个状态之间只有一个bit不同,这样可以保证,即使是发生了码间误扰,最多也只有1个的bit错误。
这就是为什么采用格雷编码的原因!!!

8、tlc的三步编程操作


TLC的三步写步骤在当初做tlc controller已经了解的很清楚了,就是说tlc的三个逻辑页不是顺序写的,要通过规定好的步骤,先写哪个字线的哪一个逻辑页,再写哪个字线的逻辑页,如右上图所示,为什么这么做,分析可能的原因是,因为tlc一个cell里包含三个bit,那么的它的能量域非常细,如果LSB写了之后,再紧接着写CSB,这个时候会对第一个页的电子迁移造成影响,需要等待一段时间写之后,效果会更好。

tlc和slc、mlc的比较

从这个表可以看出来,tlc芯片采用slc模式,与之前的slc片子的读写时间相同,读时间大概20-30微秒,写时间大概200~300微秒。同时可以看出来,tlc的写延迟非常大,可以达到2.4ms。

9、3D FLASH的相关特性

首先3D FLASH没有采用传统的浮栅结构,而是采用了新的绝缘体用来存储电子Charge Trap,如下:

其次3D flash的另外一个特性就是它可以一次写三个逻辑页一个wl的数据下去,不在采用一页页的编程,而是一次都写入(1-pass):

也就说说同一个wl上的三页数据同时被编程,那么编程步骤就是顺序的,需要的写时间是1.1ms:

最后分析3D FLSAH的性能参数:

从图上可以看出:
3D TLC也支持slc模式,在这个模式下,它的读写时间性能接近MLC的读写性能。
SD TLC在tlc模式下,读时间只有90微秒,并且之前一直有问题的写时间减少到1.1ms。(不是3D的tcl,写时间2.4ms)

闪存flash进阶知识相关推荐

  1. (闪存)存储基础知识

    闪存的特性: 1.闪存在写之前必须先擦除,不能覆盖写,于是固态硬盘才需要垃圾回收(Garbage Collection,或者叫Recycle): 2.坏块: 闪存每个块(Block)擦写次数达到一定值 ...

  2. flash写保护原理_一文详解闪存flash读写的原理

    首先讲述的是基本原理,因为前面总结了很多基本原理,所以这个位置比较粗略的带过. 1.基本原理 从图上可以看出,Vt为开启电压,对于N沟道的cmos,当门极加的电压逐渐变大的时候,多数载流子被门极所吸引 ...

  3. linux 区分flash和u盘,闪存盘和u盘的区别

    U盘,全称USB闪存盘,英文名"USB flash disk". 它是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用.但U盘和闪 ...

  4. 闪存浪潮下不得不知的知识(2)-颗粒篇

      近两年随着闪存颗粒密度增加.价格下降,SSD成为一个炙手可热的话题:今天有幸跟大家交流一下闪存颗粒的相关技术.闪存(Flash)是相对于HDD而言的一种非易失性存储器,Flash分为NOR ...

  5. Linux文件系统与持久性内存介绍:块设备、闪存(NAND/NOR)、NVDIMM(非易失性内存)、PMEM(PMDK)- ndctl

    <持久内存开发套件(Persistent Memory Development Kit-PMDK) - pmem.io: PMDK> <PMDK介绍> <PMDK(NVM ...

  6. 【精华】构建闪存系统和生态环境

     ICT架构师技术交流(微信号ICT_Architect) 介绍分析和交流ICT行业最前沿技术,分享云计算.存储.服务器.数据中心.网络.软件定义和虚拟化等相关知识,旨在知识交流.开放共享和共同进 ...

  7. 内存,外存,运存,显存,闪存,硬盘,SSD等概念

    内存 (Memory / RAM): 快速存储数据的部件,电脑运行时会读取内存中的数据.当电脑关闭后,内存中的数据也会消失. 外存 (Storage / Hard Drive): 慢速存储数据的部件, ...

  8. [闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC

    固态硬盘(Solid State Drives),简称SSD.它是一种电脑存储设备,由闪存(FLASH). 闪存控制器.高速缓存(DRAM)组成.这是是固态硬盘的三个基本部件,对性能有关键影响. 闪存 ...

  9. Flash闪存颗粒和工艺知识深度解析

    Wafer即晶圆,是半导体组件"晶片"或"芯片"的基材,从沙子里面高温拉伸生长出来的高纯度硅晶体柱(Crystal Ingot)上切下来的圆形薄片称为" ...

  10. 内存颗粒和闪存颗粒的区别_NAND Flash闪存颗粒与SSD知识深度解析

    谈闪存,须从Wafer开始.Wafer即晶圆,是半导体组件"晶片"或"芯片"的基材,从沙子里面高温拉伸生长出来的高纯度硅晶体柱(Crystal Ingot)上切 ...

最新文章

  1. 未来区块链技术将赋能多个领域促进全球经济发展
  2. SuperSQL:跨数据源、跨DC、跨执行引擎的高性能大数据SQL中间件
  3. ObserveIT Client安装后屏幕延迟问题
  4. 2016 - 2 - 20 ARC知识总结(二 autorelease概念及实现)
  5. What’s New in Virtio 1.1
  6. XmlPullParser文件解析android
  7. python绘制贝塞尔曲线_贝塞尔曲线数学原理及Python实现
  8. 《虚幻4 VR开发指南》视频教程
  9. Win10中英文切换 win键+空格
  10. 【Qt】仿QQ表情选择控件
  11. 怎么办,linux的常用命令就是记不住?于是每天推一些linux指令实践总结 -1
  12. 用python实现数度游戏
  13. Pycharm中运行yolov5-pytorch出现错误:AttributeError: ‘Hardswish‘ object has no attribute ‘inplace‘
  14. Blender人物骨骼绑定
  15. 遇到问题---CDH重启namenode--Command timed-out after 150 seconds--角色正在启动
  16. STC12驱动PCF8575
  17. linux上ftp和ns有什么区别,Linux下ftp使用及nfs网络文件系统
  18. html网页设计期末大作业——化妆品html+div商城(19页)
  19. Qt打开指定目录并选中指定文件
  20. itextword加公章 java_使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章...

热门文章

  1. 编译原理教程_10 代码优化和目标代码生成
  2. Python,OpenCV制作全透明图,简单的图片
  3. 怎么解苹果7手机ID锁
  4. javascript中关于日期和时间的基础知识
  5. Python-xlsx转置,行转列,列转行
  6. 学生信息管理系统(数据库)
  7. html缩小照片尺寸像素不变,怎么修改照片像素,但又不改变照片大小呢?——解决照片因大小无法上传的方案...
  8. 通俗易懂讲PID,附参数调试口诀
  9. ADC芯片——AD7705最详细讲解(STM32)
  10. 从键盘输入10个整数,求其平均值