资讯详情

固态硬盘SSD之Flash闪存的基本概念

文章目录

  • 固态硬盘SSD之Flash闪存的基本概念
    • Flash闪存的类型
    • NAND Flash的结构
    • NAND Flash闪存的读写
    • 闪存转换层(FTL:Flash Translation Layer)

固态硬盘SSD之Flash闪存的基本概念

,又称固态驱动器,是由固态电子存储芯片阵列制成的硬盘。以下存储介质大致可分为以下类别:

  1. 闪存(FLASH芯片) 数据保护不受电源控制,适用于各种环境和个人用户。根据不同的闪存介质,使用寿命更长。可靠性也很高。优质家用固态硬盘可轻松达到普通家用机械硬盘故障率的十分之一。
  2. DRAM 随机动态存取存储器(Dynamic Random Access Memory,DRAM)它是一种半导体存储器,其主要原理是利用电容器中存储的电荷数量来代表二进制比特(bit)是1还是0,需要定期充电定期刷新。
  3. 3d XPoint 3D XPoint工作原理及NAND根本不同。NAND不同数量的电子是通过绝缘浮动栅极捕获的bit值定义,而3D XPoint它是一种基于电阻的存储技术,通过改变单元电阻水平来区分0和1。

关于DRAM和3d XPoint以后有机会再谈,这个博客主要讲目前应用最广泛的——基于Flash闪存的SSD。

Flash闪存的类型

Flash闪存可分为两类:NOR闪存和NAND闪存。

NOR闪存的访问模式为线性随机访问,存储能力比较低,擦写次数约为10~100万次,写入和擦除的速度较慢,比较适合用来进行程序的存储;NAND闪存访问模式为页面访问,单元存储密度高,擦写次数约1~10万次,写入和擦除速度快,更适合存储大量数据。这两者也有一些共同点,比如NOR闪存和NAND闪存的写作成本和擦除成本明显高于读取成本,需要写前擦除操作,擦除次数有限。 目前,几乎所有的BIOS和一些机顶盒一起使用NOR Flash,它的大小一般为1MB到32MB之间,价格昂贵,而且NAND Flash广泛应用于各种存储卡,U盘,SSD,eMMC现有的大部分研究都是基于大容量设备等。NAND Flash。

NAND闪存有两种类型:SLC(Single-Level Cell)和MLC(Multi-Level Cell)。MLC比SLC由于存储密度较高,MLC比SLC因此,它已被用于许多低端消费电子产品,价格较低,容量较高。但是,SLC结构简单,写入数据时电压变化范围小,使用寿命长,传统SLC NAND闪存能承受10万次读写。由于SLC比MLC速度和寿命更高(寿命通常是MLC的10倍[ChenKZ因此,SLC多用于性能和可靠性要求较高的工业应用。

NAND Flash的结构

闪存芯片由多个层次组成,粒度由小到大:页面(page)——块(block)——分组(plane)——晶圆(die)——芯片(chip)

chip:芯片层是最外层结构。通常,芯片层有一套完整的外围电路和外部信号线。在许多情况下,为了节省成本和空间,闪存制造商在物理上叠加多个芯片。叠加在一起的每个芯片都有一个独立的芯片选择信号和一个独立的工作状态信号线。从外部看,这些芯片是一个整体,被称为颗粒(package)。

die:晶圆层是闪存的第二层。每个晶圆都有一个内部工作状态信号线。与芯片层的工作状态信号线不同,用户看不到内部工作状态信号线。它存在于芯片中,用于查询每个晶圆的当前状态。

plane:分组层是闪存的关键层次。为了提高闪存的读写速度,在每个分组中设置了一个或多个寄存器,数据通过I/O逐步传输或传输信号线。

block:块层是闪存中擦除操作的基本单元。通常,一个分组中有固定数量的物理块。

page:页面是闪存中读写操作的基本单元。通常,物理块中有固定数量的物理页面。

NAND Flash闪存的读写

  1. NAND Flash通过页面访问,每个闪存页面的状态可以是以下三种状态之一:(1)有效;(2)无效;(3)自由/擦除。当没有数据写入页面时,页面处于擦除状态,页面中的所有位置都是1。写作操作只针对处于擦除状态的页面,然后将页面的状态改为有效。异地更新会导致一些页面不再有效,它们被称为无效页面。

  2. 闪存存在初始阶段,所有位置设置为1。读取操作:返回读取目标页面的所有位置;编写操作:从1到0选择目标页面中的一些位置;擦除操作:将目标块的所有位置设置为1。

  3. 页面将在块内顺序写入,即当块中的第一页写入时,块中的第j页(1<j<i)直到这个块被擦掉,才能写入。

  4. 闪存不支持直接覆盖原始数据。为了更新存储在闪存中的现有数据项,必须在编写数据之前执行耗时的擦除操作,然后在擦除页面上编写新数据。擦除操作的平均延迟为1500微秒,远慢于编写操作。闪存的特点严重限制了写作操作的性能。为了避免每次更新操作都带来昂贵的擦除操作,闪存一般采用异地更新的方式,即在更新数据时,将更新操作引导到其他空闲页面。原始旧数据所在的页面可以暂时不擦除,只要简单设置为无效,只需等到垃圾回收。

  5. DRAM与磁盘具有读写操作的对称性,即读写操作的时间成本相同,而闪存显示读写操作的不对称性,写作操作的时间成本高于读写操作的数量级。此外,闪存中还有耗时的擦除操作。擦除操作的时间成本高于读取操作成本,但DRAM磁盘中没有擦除操作。

由于上述读写特征,SSD有闪存文件系统和闪存转换层,必须在设备内部提供一些机制,以确保硬盘能够高效读写。(FTL:Flash Translation Layer)。

闪存转换层(FTL:Flash Translation Layer)

闪存转换层:Flash Translation Layer,简称FTL,闪存设备通过中间层模拟成块设备,应用广泛,代表各种产品FTL机制,比如BAST、LAST

FTL地址映射、垃圾回收、磨损平衡、断电恢复等基本功能。FTL它位于文件系统和闪存之间,为文件系统提供虚拟磁盘,文件系统可以像磁盘一样使用闪存。

FTL主要角色之一是提供LBA(逻辑块地址)到PBA(物理块地址)由此功能映射FTL实现映射表。

  1. 闪存擦除块通常在任何时候都包含有效页和无效页。如果一个擦除块包含一个有效的页面,那么有两种选择:(1)首先将擦除块B中的有效页面复制到内存中,擦除块B,然后将内存中的有效页面重写到擦除块B中;(2)将擦除块B中的有效页面直接复制到其他带有空闲页面的块中,然后擦除块B。

  2. 典型的磨损均衡策略主要包括:(1)基于阈值的控制方法:当块之间的擦除次数差距超过事先设定的阈值时,就启动回收过程,收回擦除次数最少的闪存块,从而实现更好的磨损均衡,这种做法的代价是,可能会在一定程度上降低垃圾回收的效率;(2)移动数据页的方法:在各擦除块之间周期性地移动数据页,避免一些更新频率较低的块的擦除次数过低,使不同块之间的擦除次数相对平衡;(3)基于双队列损耗的均匀控制方法:当块的擦除次数过多时,冷数据(很少访问的数据)存储在块中。由于冷数据的访问频率很低,因此可以降低块在未来一段时间内的擦除频率。

  3. 固态盘中通常都会配置少量易失的SRAM,用于存储地址映射表,加快从逻辑地址到物理地址的转换过程,提高请求响应速度。但是,当断电时,SRAM信息会立即丢失。FTL必须设计相应的断电恢复机制。

标签: 固态电容长时间使用会容量增加吗

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台