NAND Flash底层原理,SLC MLC TLC比较 (转发)

2024-02-08 05:20

本文主要是介绍NAND Flash底层原理,SLC MLC TLC比较 (转发),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NAND Flash底层原理,SLC MLC TLC比较

NAND-Flash 的存储原理

  固态硬盘最小单元的基本架构如下:
 

  我们知道计算机中所有的信息储存最终都必须回归到 0与1,原则上,只要存储单元能提供两种或两种以上可供辨识的状态,便可以拿来纪录数据。

(1)写入数据

  在 NAND-Flash 中,当我们需要写入数据时,会在图中的控制闸(Control Gate)施加高电压,然后允许源极(Source)与汲极(Drain)间的 N信道(N-Channel)流入电子,等到电流够强,电子获得足够能量时,便会越过浮置闸(Floating Gate)底下的二氧化硅层(SiO2)为单元所捕获,这个过程我们称之为穿隧效应(Tunnel Effect);

(2)数据稳定

  一旦电子进入了浮置闸,即使移除电源,只要没有足够能量,电子是无法逃离底下的二氧化硅层的,捕获电子的状态便会一直维持下去,时间可以长达十数年之久,视用来绝缘的二氧化硅层耗损状况而定。

(3)读取数据

  读取数据时,我们同样会在控制闸施加电压,好吸住浮置闸里的电子,但不用到穿隧注入(Tunnel Injection)电子时那么高,同时让 N通道流过电流,利用电流来感应浮置闸里电子捕获量的多寡,靠感应强度转换为二进制的 0与1,最后输出成数据。

(4)擦除数据

  假如我们需要擦除数据,就必须靠释放浮置闸里头的电子来达成,此时我们不会对控制闸施加任何电压,而是反过来对单元底下的 P型半导体(P-Well)施加电压,源极与汲极间的电流流过二氧化硅层底下的 N通道时会反向让浮置闸里的电子再次穿越二氧化硅层被吸引出来,我们称之为穿隧释出(Tunnel Release)。

SLC MLC TLC 简单分析

1、SLC MLC TLC介绍

  SLC Single-Level Cell,意味着每个存储单元只存放 1bit讯息,靠浮置闸里电子捕获状态的有或无来输出成数据(即使在 0的状态浮置闸里其实还是有电子,但不多),也就是最简单的 0与1;

  MLC Multi-Level Cell,意味着每个存储单元可存放 2bit讯息,浮置闸里电子的量会分为高、中、低与无四种状态,转换为二进制后变成 00、01、10、11;

  TLC Triple-Level Cell ,更进一步将浮置闸里的电子捕获状态分成八种,换算成二进制的 000、001、010、011、100、101、110、111,也就是3bit。

2、SLC与MLC的比较

  SLC 与 MLC 的比较主要可以分为寿命、成本、功耗、效能与出错率五个面向。

(1)比较寿命

  • 原理说明

  固态硬盘存储数据主要靠单元中浮置闸所捕获电子的量,电子要进入或离开浮置闸都得藉由穿隧效应进出用来阻挡电子的二氧化硅层。而二氧化硅层其实只有10nm左右厚度,在每一次的穿隧注入电子或释出时,二氧化硅的原子键会一点一点地被破坏。因此,数据的擦除工作会愈来愈慢,因为电子会慢慢占据原本用来绝缘的二氧化硅层,抵销掉施加在控制闸上的电压,导致需要更高电压才能完成工作,而这会让氧化物更快被击穿,等到整个二氧化硅层被电子贯穿,该单元也就正式寿终正寝啦。

  • 得出结论

   SLC 只有有或无两种状态,MLC 却有四种电压状态,为了达到这四种状态,电子得频繁出入二氧化硅层,加速单元的耗竭,这也就是为什么 SLC 可以有十万次擦写寿命而 MLC 却只有一万次的原因。

  当然啦,TLC更惨,平均只有五百到一千次擦写寿命,所以主要拿来做市售的亲民价随身碟。

(2)比较速度、功耗、稳定性、出错率、成本

  SLC因为只有两种状态,最容易辨识,所以在同一种主控芯片与计算逻辑下速度最快,功耗也最低,状态稳定,以现代技术而言出错率几乎可以忽略不计。

  SLC的一个Cell只存1bit数据,MLC的一个Cell却能存2bit或者更多的bit数据,但芯片的体积并没增加,等于压缩存储了数据,这样的结果就是相同的一块芯片存储的容量变大,自然价格就便宜了。

  MLC与 TLC都十分仰赖 ECC,一有出错就会导致倍数以上的数据损失,好的是,截至 2012年底,各大厂 ECC技术其实都已经相当成熟。

(3)比较存储容量

  截止2017-08-01有对于单颗Flash,SLC最大支持512GB,MLC最大支持4TB,TLC最大支持6TB。

内存颗粒等级释疑

  上面这张图就是所谓的晶圆,刚出厂切割完就长这样,上面每一个小方块都可以拿做成一张记忆卡。问题是,就像内存颗粒即使刚出厂都会有坏块一样,刚出厂的晶圆上也不是每片颗粒都是优等生,就英特尔、镁光(Intel、Micron这两家公司的晶圆由共同合资的IMFT,IM Flash Technology生产)来讲,

(1)有些可以拿来做最高等级的同步颗粒;

(2)有些修复校验后可以拿来当次等的同步颗粒;

(3)而有些不管怎样折腾都是鸡肋,食之无味,弃之可惜,但还是可以卖,就拿来做最低阶的异步颗粒,主要用在国民价记忆卡上。

所以,千万不要看到打上英特尔或镁光就以为是什么极品,没那么神,还要对照颗粒表面的编码才能判定质量良窳。

同步与异步

  颗粒的同步/异步,主要是两个管脚的定义不同,同步模式下,颗粒不需要告诉主控“我准备好了,可以读/写了”,而是随时ready的状态,这样可以省下一个时钟周期。

  用英特尔 25nm颗粒的分级表来总结,给您个清晰的轮廓。

【科普】【SSD/U盘】SLC MLC TLC 傻傻也能分清【转】图片6

 

转自:https://www.cnblogs.com/Christal-R/p/7246415.html

这篇关于NAND Flash底层原理,SLC MLC TLC比较 (转发)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/690008

相关文章

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

哈希表的底层实现(1)---C++版

目录 哈希表的基本原理 哈希表的优点 哈希表的缺点 应用场景 闭散列法 开散列法 开放定值法Open Addressing——线性探测的模拟实现 超大重点部分评析 链地址法Separate Chaining——哈希桶的模拟实现 哈希表(Hash Table)是一种数据结构,它通过将键(Key)映射到值(Value)的方式来实现快速的数据存储与查找。哈希表的核心概念是哈希

STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介  1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 2 通过在程序中编程(IAP)实现程序的自我更新 (OTA) 3在线编程(ICP把整个程序都更新掉) 1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动  4 IAP(自己写的Bootloader,实现程序升级) 1 比如蓝牙转串口,