再见读头!或闪存如何工作

嗨,极客时间!我们经常谈论SSD的优点,消解神话有关的固态存储,就在最近,甚至在生产访问但是,事实上,闪存如何工作?不同类型的NAND有什么区别?欢迎所有希望了解这些问题的人关注。


回顾过去


在开始对话之前,让我们简要回顾一下硬盘驱动器。如您所知,后者将信息存储在几个磁性板中,这些磁性板通常称为拼盘。以简化的形式,带有读取头的致动器接收信息,并且为了完成读取/写入过程,磁盘一直在旋转。在这里呆很长时间几乎没有道理,但要明白这一点很重要。

由于磁盘磁头的块必须与用于读取或写入数据的特定区域(磁道)重合,并且磁盘不断旋转,因此它们需要一些时间才能访问信息,并且所需的扇区将位于磁头下方,特别是在请求混乱的情况下。尽管HDD的延迟以毫秒为单位进行度量,但这足以使CPU等待,其延迟以纳秒为单位进行度量。在平均一毫秒,一百万纳秒的时间内,硬盘驱动器需要10到15毫秒来搜索信息并开始读取信息。是的,现在有一些解决方案,其转速达到每分钟1.5万转,但是即使最快的HDD也不会达到我们想要的速度。

一点理论


也许您和我会对“非常”快速的HDD感到满意(正如Henry Ford所说:“如果我问人们他们想要什么,他们会要求我制造快马”),但会带动制造商,其中包括您的谦卑的仆人,利益不会停滞不前。出现了SSD(固态驱动器或固态驱动器),其中的信息不是存储在旋转磁盘上,而是使用NAND闪存存储。我们将详细介绍它。

在NAND的情况下,信息存储在存储单元阵列中-这些单元是具有浮栅(Floating Gate)的晶体管。根据电压的方向,电子在控制门和NAND通道之间移动。

一旦将电压施加到控制栅极,电子便开始被向上吸引-产生的电场帮助它们到达浮栅,克服了由氧化物制成的障碍。后者用作绝缘体,因为有了它,电子才不会移动到浮栅之外。这就是单元编程的过程。


擦除单元的过程与之完全相反-向通道施加电压,电子从浮栅通过氧化物通过控制栅的接地移回氧化物。

具有单个晶体管的单元如下操作。根据浮置栅极上电荷的存在或不存在,确定晶体管的状态为打开还是关闭。当将提供给控制栅极的电压视为存储单元的初始化时,可以通过源极和漏极之间的电压来判断浮置栅极上电荷的存在与否。如果在浮动栅极上放置电子并向控制栅极施加电压,则晶体管将关闭。我们得到了可以存储一位的存储单元。当使用热电子注入方法时,电压将施加到漏极和控制栅极,这将导致电子移动通过势垒。


具有两个晶体管的单元是单个晶体管的修改。在这种情况下,晶体管(正常)将位线与浮栅晶体管隔离。

通过向控制栅极施加负电压(源极为正电压)将电荷从浮栅中移除。结果,我们有了Fowler – Nordheim隧道:电子从浮动栅区域移动到源极(隧道)。

重写周期。在用新电子对新电池进行编程之前,必须先清除旧电子。实际上,由于SSD资源对于任何数量的记录数据都足够容易,因此大多数用户不必注意重写周期的数量。是的,有令人讨厌的例外,但这就是为什么制造商的保证

在SSD中,闪存由块组成,而闪存由页组成。信息被写入这些页面,并且为了更新数据,仅重写不相关的页面是不够的。因此,首先将数据从旧页移动到新页,然后发送到另一个块,然后才删除具有不相关数据的块。一旦擦除该块,就可以自由写入新数据。这样一个棘手的过程-在视觉格式下,似乎更容易理解。


显然,没有移动磁盘(实际上没有移动部件)是SSD相对于硬盘的主要优势之一,这就是SSD能够以比HDD更高的速度工作的原因。为了清楚起见,这是有关各种类型的NAND和HDD的延迟时间的摘要表。


SLC,MLC,TLC不仅是缩写,还指示每个单元中的位数。对于SLC(单),这是1位,对于MLC(多),这是2位,对于TLC(三重),分别是3位。因此,尽管单元数相同,但MLC所存储的信息是SLC的两倍。通常,这些类型的NAND的工作原理是相同的,这不能说是持久性。

在一段时间内,由于由电子活性引起的氧化物层的减少,电池的物理结构可能会磨损。结果,电子积累负电荷并被卡住,施加了更高的电压,并且氧化物层再次减小。事实证明,这样的恶性循环。

SLC,MLC和TLC的耐力有所不同。例如,如果我们采用密度为16 Gbit的NAND晶体,则尽管每个单元中只有一位,但我们获得了16 Gbit SLC。因此,对于MLC,它将是32 Gbps,对于TLC,将是48 Gbps。的确,在后一种情况下,仍然必须切割NAND晶体,因此,对于MLC而言,其等效值为32 Gbit。您认为谁能承受最大的电压变化?

SLC具有两个级别(0.1),是该参数的最佳指示器-这种类型的NAND可以承受各种电压波动。随着级别的增加,该范围减小,因此,单元中具有8个级别和3位的TLC具有最少的重写周期数。

由于芯片减少问题一直是一个问题,因此3D NAND正在取代现代的平面NAND闪存。由于在向单元写入数据时不需要高压,因此不易磨损。制造商正在积极开发这一领域并给出自己的技术名称(对于Samsung-3D V-NAND,对于Toshiba-BiCS 3D NAND等)。关键是在这种情况下,我们得到了一个具有顶层的圆柱体,它充当控制百叶窗,而内层则充当绝缘体。单元本身彼此位于下方,形成堆叠。控制逻辑位于存储阵列下方,释放了芯片区域,随后他们在此处找到存储单元的“原位”。



一点练习


我们不能独自观察以上所有情况(至少在没有特殊设备的情况下)。这是印刷电路板制造,焊接,安装芯片和微电路之后的所有情况:


OCZ Trion 150

在这里,我们可以看到闪存和缓冲微电路,以及一个小心地用热橡皮筋覆盖的控制器。是的,这里的主题不是关于SSD设备,而是关于闪存的工作,但是没有控制器就没有地方。这就是为什么。

控制器将记录分发到闪存单元,从内存和TRIM单元中读取(稍后会详细介绍)-通常,“我们无可替代”这一短语与他无关。正是他控制着SATA和PCIe上的数据传输,并在NAND上分发信息以减少磨损。如果没有固件的帮助,当然不能在这里做。

控制器并行连接到闪存,并且如您所见,它扮演着关键角色之一。例如,Trion 150使用东芝控制器,而Vertex 460A 0已经拥有OCZ的Barefoot 3 M10。


哦,是的,我几乎忘记了缓存。它是可靠的控制器伴侣:一旦给出了将文件更改为SSD的命令,该块首先进入更改发生的高速缓存。此时,NAND中不相关的数据将被删除,控制器将找到放置在缓冲区中的信息的位置。主要原理是选择磨损最少的单元,这是控制器的工作,在其发出命令后,已更改的数据将发送到新的“房屋”。

现在,大多数固态硬盘(包括OCZ的固态硬盘)也支持TRIM(一种记录无关数据的特殊技术)。在这种情况下,不需要的信息不会被记录在其他存储块中,这不仅有利地影响重写周期的数量,而且还影响记录速度本身。

哲学时刻


显然,与传统硬盘相比,NAND是真正的突破,但也有其自身的问题和缺点。是的,NAND在存储容量方面具有广阔的前景,但是每GB的价格还有很多不足之处。该参数在不久的将来不太可能能够“捕获”硬盘驱动器。

通过使用SLC缓存和快速数据标准,SSD变得更加高效,具有良好的带宽。尽管如此,从长远来看,人们认为还会有其他东西来取代NAND。实际上,3D NAND是第一个“钟”,它表明了这一点。

现在NAND肯定在马背上-他们说真正的山王。而且他将至少在接下来的4-5年内继续担任国王。

Source: https://habr.com/ru/post/zh-CN392891/


All Articles