报价
HOME
报价
正文内容
nand连续写页 我们熟知的NAND闪存,还有个“双胞胎兄弟”
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

我们熟知的NAND闪存,还有个“双胞胎兄弟”

【IT168 评论】无论消费者还是企业机构,大多数人在谈到闪存时,首先想到的就是NAND闪存。从一定的现实意义上来讲,NAND闪存可以说已经成为固态硬盘的代名词。基于块寻址结构和高密度,使其成为磁盘的完美替代品。

  NOR闪存是另一种与NAND不同的闪存类型,它具有不同的设计拓扑结构,某些特定的应用场景下更为适合。在比较NAND和NOR闪存在不同应用中的相对优势和适用性之前,检查其结构差异是很重要的。

  NAND闪存产品是当今已经达到高水准的存储芯片,是当前市面上嵌入式以及独立式SSD的主要原材料。多层单元(MLC)技术和3D制造工艺的结合,将NAND存储单元垂直蚀刻到硅衬底上,使存储密度和NAND芯片容量呈几何级增长。

  NAND与NOR电路基础

  尽管NAND闪存是这两种非易失性内存技术中相对流行的一种,但NAND和NOR都是由同一名东芝公司的工程师在上世纪80年代中期发明的。要理解这两个种类的区别和命名,需要简要回顾一下逻辑门的基础知识。

  NAND和NOR分别涉及到布尔逻辑函数中的逻辑“和”(and)以及“或”(or)。如下所示,NAND和NOR都生成响应两个二进制输入的输出。

响应两个二进制输入的NAND和NOR输出

  NAND和NOR逻辑门仅仅为它们各自的功能实现了上面这个真值表。

  NAND门在概念上是作为AND门实现的——当两个输入都是1时输出1——后面跟着一个NOT门,这是一个逻辑反转。相应的,NOR门在概念上是一个OR门——有任何一个输入是1时输出1,然后是NOT门,这是一个逻辑倒装。

  布尔逻辑的背景对于理解NAND和NOR闪存至关重要,因为闪存单元被连接到一个行和列的数组中。在NAND闪存中,一组中的所有单元(通常是一个字节的倍数,取决于芯片的大小)共享一条位线,并以串行方式连接每个单元,每个单元连接到一个单独的字行。同一字行连接一个内存块中的多个字节,通常为4 KB到16 KB。因此,只有当所有的字线都是高或单状态时,位线才会降低或变为零状态,这实际上将内存组转换为一个多输入NAND门。

  与此相反,NOR闪存并行组织位线的方式是,当位线和字线都处于低或零状态时,内存单元只保持高或单状态。

  NAND单元的串联结构使得它们可以通过导电层(或掺杂层)连接在衬底上,而不需要外部接触,从而显著减少了其横截面积。

  NAND闪存单元的串联连接意味着它们不需要单元之间通过金属层进行外部接触——而这正是NOR拓扑结构所需的。使用导电层连接硅衬底上的单元意味着NAND闪存的密度通常比NOR高两个数量级,或100倍。此外,组内单元的串联连接使它们可以垂直地堆积在3D数组中,位线类似于垂直管道。

  相反,由于NOR闪存单元不能单独寻址,因此它们对于随机访问应用程序更快。

  NAND与NOR产品类型

  这两种类型的闪存具有明显的特性和性能差异,它们有各自最适合的应用程序类型。除了容量外,NAND和NOR闪存还具有不同的运行、性能和成本特性,如下图所示。

  这两种闪存中也有几种不同的产品类型,它们在I/O接口、写入持久性、可靠性和嵌入式控制功能方面有所不同。

  NAND闪存产品类型

  NAND闪存以单层(SLC)、多层(MLC)、三层(TLC)或四层(QLC)的形式在每个单元(cell)中存储bit,分别为1 bit/cell、2 bit/cell、3 bit/cell、4 bit/cell。要确定哪种类型的NAND最适合于工作负载,简单来说,每个单元的位数越高,其容量就越大——当然,是以数据持久性和稳定性为代价的。

  NAND设备只是没有任何外围电路的存储芯片,这些外围电路使NAND闪存可以在SSD、U盘或其他存储设备中使用。相比之下,托管型NAND产品嵌入了一个内存控制器来处理必要的功能,比如磨损调平、坏块管理(从使用中消除非功能性内存块)和数据冗余。

  NOR闪存产品类型

  串行设备通过只暴露少量(通常是1到8个)I/O信号来减少包的pin数。对于需要快速连续读取的应用程序来说,这是理想的选择。NOR闪存通常用于瘦客户机、机顶盒、打印机和驱动器控制器。

  并行NOR产品暴露多个字节,而且通常使用内存页而不是单独的字节进行操作,更适用于启动代码和高容量应用程序,包括数码单反相机、存储卡和电话。

  两种闪存都是不可或缺的

  NAND是闪存的主力,广泛用于嵌入式系统和SSD等存储设备的大容量数据存储。不过,NOR 闪存在存储可执行的启动代码和需要频繁随机读取小数据集的应用程序方面起着关键作用。显然,这两种类型的闪存将继续在计算机、网络和存储系统的设计中发挥作用。

  原文作者:Kurt Marko

SSD新范式|NAND的扩容之路(五):掀起你的“盖头”来

上期我们提到,SSD的弱点要想治本,需要Open的心态。这是何意?

常见的SSD,对于用户/操作系统而言,完全是一个黑盒子! 譬如几个基本的操作单元,页和块,对于操作系统而言就是抽象的,用户也很难知道正在使用的SSD到底是多大的页尺寸、块尺寸。在其他存储介质的使用经验中,如硬盘和内存,用户和操作系统都有非常确定的地址的概念,譬如某数据保存在某硬盘的某某磁头(对应的碟片)、某某扇区,逻辑上和物理上是可以准确对应的,系统重启了也不会变化;再譬如内存某某地址对应的数据是010101,只要不改写,几小时后过来读这个物理地址,还是这个数据。对于目前的SSD,这种确定性不存在,操作系统不知道某数据到底保存在具体哪颗NAND Flash介质里,更不用说细节到块或页了,而且,几分钟后,可能经历一次垃圾回收或者后台数据刷新,数据说不定又挪窝了。在SSD的逻辑地址与物理地址之间,隔着控制器和FTL(Flash Translation Layer,闪存翻译层),地址的映射完全是在SSD内部进行的。

对外抽象的操作使得SSD很好地兼容了FAT硬盘背景下诞生并沿用至今的文件系统,减轻了操作系统和硬件总线的工作压力,对SSD的普及起到了非常重要的作用。但随着SSD的发展面临瓶颈,本位主义就放大了先天的缺陷,尤其是写入放大导致的寿命和性能损失,对于MLC可能完全无所谓,对TLC开始引起担忧,到了QLC阶段,恐怕就很难忍了。

让SSD Open

随着SSD的性能逐渐被发挥至极致,或者说遭遇瓶颈,试图改变SSD工作方式,深度介入SSD底层操作的人不少。一个重要的里程碑是阿里在2018的FAST大会上宣布其开发Open-Channel存储架构。之前类似的努力还是Streams SSD等。

Open-Channel的核心思想就是将FTL的工作从SSD控制器交给主机,让操作系统来直接控制底层的NAND Flash介质。操作系统完全了解数据的性质和归属(某应用程序、某租户),可以进行写入操作的组织工作:譬如将不同应用程序写入的数据,分别分配给不同的块(Chunk),这样的数据就是连续的。而传统的SSD的写入,并不区分数据的归属,只是根据指令顺序无脑写入,若干应用程序产生的文件都会持续写入同一个块(Block)中。当某个应用程序的文件被修改或删除的时候,Block中就会有若干页(Page)变成了待回收的“垃圾”,并且会导致若干Block待优化。类似的删除操作发生在Open-Channel SSD中时,这些文件被集中在相同的Chunk下,对应若干Block,一旦被删除,相应的Block可以直接清空,并择机擦除。简单说,经过操作系统层面的统筹操作,Open-Channel SSD的写入更有效率,而且垃圾回收工作量大幅度减少,其优点就是写入放大减少,随机性能提升。

Open-Channel的实现基于NVMe 1.3版本,可惜定制化程度高(如需要处理不同类型闪存介质等),支持者比较少,参与开发与部署的主要是阿里、微软、百度这样的大型企业。秉持类似思路的还有ZNS(Zoned Namespaces)SSD,已经在设备厂商和互联网企业当中推广了几年。ZNS是在NVMe 1.4基础上构建的技术提案,并被NVMe 2.0并入。成为业界标准后,ZNS SSD将会作为标准品陆续出现在市场上。

下图是ZNS SSD和传统SSD中数据组织方式的区别。虚线的方框代表一个Zone空间,类似Open-Channel SSD中的Chunk。每个Zone是由若干Block组成的。不同应用的数据会被顺序写入Zone,写满一个Zone,再写下一个Zone。在ZNS SSD中,对于同一个应用,数据是连续的,因此访问的时延大概率会降低;对于介质而言,Block中不可能存在不同应用(性质)的数据,垃圾回收的压力就大大减轻了(实际上,ZNS SSD的控制器是不需要考虑垃圾回收的)。

当然,这个图只是简洁的示意,数据的分类依据不仅仅是应用程序,也包括数据的性质(临时性的、长期性的,访问频次高或者低)等等。这种分类是位居上层的操作系统和应用程序有先天优势,所以ZNS SSD把FTL交给主机来管理,操作系统内核需要更新,应用程序建议有所优化。如果配合针对性优化的文件系统(ZenFS),性能表现会更好。

消费类SSD也可以Open

Open-Channel和ZNS SSD的定位都是数据中心/企业级的存储方案,拥有强大的主机,让操作系统和处理器多操一些心也没啥问题。但在消费类市场,这种技术思路貌似挑战过大了。

从兼容性角度,消费类的SSD确实暂时不能做这样的开颅手术,但有一个重点依旧可以借鉴:操作系统更了解用户,所以应该向操作系统移交更多的管理责任。随着Solidigm P41 Plus的上市,我们看到了这种思路的更具体的实践。

对于Solidigm P41 Plus,有一个配套的软件是Solidigm SynergyTM,它的具体效果我们会在其他测试中专门展现,这里先简单说一下这个软件与以往的一些专用驱动程序、优化软件的思路变化:它可以参与SLC Cache的管理。

传统的SSD性能优化思路大多是借用系统内存作为读写缓存,从跑分角度帮助比较明显。但SLC Cache是SSD内部的,其策略主要是由控制器和固件去决定的。早期的SLC Cache容量不大,控制器回收Cache比较积极,会及时清空Cache,并将未删除的数据转存到TLC NAND中。Cache的转写和清空会带来两个问题:1、转写也是一次写入放大(SLC写一次,TLC又写一次);2、Cache被清空了,被再次访问的时候,就起不到读加速作用了。

虽然消费类SSD的容量越来越大,TB级已经进入普及阶段,SLC Cache的预设容量越来越大,尤其是QLC SSD上,通常可以提供数百GB的Cache容量。这种背景下,SLC Cache的管理策略完全可以考虑做一些调整,首先就是可以不那么频繁地进行清理,既可以减少写入放大,也可以提升随机访问性能(SLC模式的时延还是比TLC/QLC模式要小得多的)。至于什么数据被访问的概率更高,更值得保留在SLC Cache中,这个事情显然是操作系统比控制器更了解。因此,Solidigm在Solidigm SynergyTM提供了“主机托管缓存”功能,就是一种有益的尝试。

结语

不论是数据中心/企业级,还是消费类市场,操作系统和应用程序更接近用户,更了解数据的属性,也能更准确地预测性能。让操作系统去直接管理介质(哪怕是局部,如Cache或者分层存储中的某一层),是提升性能、减少损耗的合理思路,也是SSD发展的一种趋势。

相关问答

什么是 NAND 芯片?

NAND芯片是一种闪存芯片,广泛应用于各种数字设备,如闪存卡、USB闪存驱动器、固态硬盘等。它是一种非易失性存储器,可以长期存储数据,而不需要任何电源支持。...

Uboot设备树如何移植?

移植方法:你只能通过NandFlash控制器访问NandFlash,即是只要知道Nand控制器的寄存器地址即可。NandFlash不是一个RamLike的器件。Uboot放入nand中,在nand...

嵌入式Flash读写操作该如何进行设计?

Flash存储芯片的通讯方式以SPI居多,在实现flash读写时就是要实现SPI的通讯协议,与EEPROM不同的是,SPI在操作时是按照PAGE页进行整页擦除写入的,这一点需要注...

内存和SSD的区别是什么?

SSD主要有三部分构成:SSD主控芯片,DRAM缓存以及NAND闪存,如下图。SSD主控对于SSD的作用,就类似于CPU处理器对于电脑的作用,负责指挥工作。DRAM缓存作用是进...

beeprog烧录起无法校验器件是什么问题?

估计你是烧录NANDFlash。因为NANDFlash和普通的Flash结构有些不一样,在烧录的时候需要注意ECC。为何有ECC呢?那是NANDFlash本身的特性,偶尔的出现位反转的...

麻烦解答一下 安徽省优惠时序控制器,时序控制器什么牌子好??

[回答]Nand和5cycleNand)。总结:Nand芯片内部有存储空间,并且有电路来管理这些存储空间,向外部提供统一的Nand接口的访问规则,然后外部的SoC可以使用Nand...

固态硬盘有坏块怎么办-ZOL问答

第一层:容量固定为SSD标称容量的7.37%,这是因为标称容量采用千进制为单位,而NAND颗粒容量单位为1024进制,两者正好相差约7.37%。这部分空间被默认用于作OP。第...

固态硬盘3D颗粒是什么?有什么区别呢?-ZOL问答

您说的3D颗粒应该是指“3DNAND闪存堆叠技术”,它是一种芯片封装技术,并非颗粒!接下来带大家一起了解一下“3DNAND闪存堆叠技术“。NADA闪存NAND闪存颗粒...

目前sata固态硬盘买TLC和MLC的有什么区别?

固态硬盘越来越便宜,也越来越流行。更多此类驱动器的型号出现在市场中,这不仅因为新制造商正在提供其产品,还因为"老玩家"正在使用新技术。目前,大多数公司正...

固态硬盘的4K对齐是什么意思?

超能网专注于优质内容创作,致力于有价值传播,欢迎点击关注。什么是4K对齐?在了解这之前我们先要知道什么是扇区,这是硬盘的最小读写单位,最初硬盘容量是被...我...

 北京国美第一城  香料香精 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部