首页 » 智能 » 不用闪存了Optane SSD为何还要28%的OP?_闪存_容量

不用闪存了Optane SSD为何还要28%的OP?_闪存_容量

admin 2025-01-01 05:31:23 0

扫一扫用手机浏览

文章目录 [+]

上一篇《Intel Optane P4800X内存模式背后技能:ScaleMP》我写的偏运用模式或者增值软件方面,这两天看到同行朋友们对硬件底层也挺感兴趣的,我也来凑个热闹,班门弄斧写点东西。
OP(Over Provisioning,即超量配置)这个观点在SSD上已经不陌生了。

3D XPoint Memory有没有写放大?

不用闪存了Optane SSD为何还要28%的OP?_闪存_容量 不用闪存了Optane SSD为何还要28%的OP?_闪存_容量 智能

关于写放大的问题,源于我在前文中写过的上面这段话。
根据目前理解到的信息,3D XPoint Memory可能不是普通的相变(结晶/非结晶态转换)或者电阻式存储介质,不像闪存要有一个P/E Cycle,即改写数据时不用前辈行擦除操作了。
这样也就不须要垃圾回收(GC),理论上编程的长度单位可以不受诸如页面、块之类的限定。
那我为啥还给了个“写放大”的评价?

不用闪存了Optane SSD为何还要28%的OP?_闪存_容量 不用闪存了Optane SSD为何还要28%的OP?_闪存_容量 智能
(图片来自网络侵删)

前两天有位朋友曾为此和我深入谈论。
由于当前的Intel Optane SSD DC P4800X是NVMe块设备,对操作系统的驱动来看也是像SSD闪存那样仿真512byte、4KB的磁盘扇区。
这是进出SSD最小的I/O单位,如果底层介质的性子足够好,在此根本上可能就真的没有写放大了。

而我在前文中谈论的是合营ScaleMP来仿照内存,这时如果我只发出64byte的操作要求,如果不是连续地址不考虑预读/写合并的话,落到P4800X的NVMe块设备上就会“变大”。
除非有一天Optane能真正按照内存的办法来事情。

举个大略的例子,一个文件如果我只改几个字节,落到磁盘I/O上最小单位也是块(扇区),P4800X该当只能按照后者来处理。

记得几年前我曾经写过一篇《十亿IOPS不是梦?Fusion-io闪存API另类剖析》,个中就谈论过8块PCIe SSD如何跑出1.25 IOPS。
这里是通过Fusion-io的Atomic WriteAPI来仿真出来的“64byte块”,真正落到闪存上的是经由了合并,以达到一种空想的顺序I/O。
如果是换成读操作就没这么大略了。

为啥是7个通道、28%超量配置?

根据之前看到的资料,Optane P4800X利用的3D XPoint Memory技能为128Gb 20nm,每颗16GiB(把稳我这里利用的单位)。
如上图,背面14颗加上正面一共28颗芯片,物理容量为448GiB。

那我用448除以375GB的标称容量,是不是就可以算出OP比例呢?答案是不准确

375 /(1024/1000)/(1024/1000)/(1024/1000)=349 GiB

有的朋友可能没把稳到我在前文中写的“349GIB”,实在是个大略的道理,SSD一贯沿用硬盘标称容量的办法,按照1000进位,而实际格式化容量是1024,以是会有一个差值。

这时再打算P4800X的OP便是28%——一个在NAND闪存企业级SSD上常见的超供比例。
对付这28%都用来干啥用,国外网站上是这样写的:

“3D XPoint memory media doesnot have or require the extra capacity, so over-provisioning doesn't reallyapply. With that said, spare capacity beyond the user defined area is leveragedfor ECC, firmware, and other maintenance operations”

前面说过,由于3D XPoint能就地改写,不像NAND闪存SSD那样须要OP来做垃圾回收,那么便是用于ECC、Firmware和其它掩护操作了?

关于这方面,我与下午在微信群里看到的一位朋友不雅观点基本相同。
(由于没有官方资料确认,只好大胆预测一下,如果写错欢迎示正)

我们知道内存是在芯片之间做ECC,而NAND闪存是在颗粒内部(实际容量比用户容量要大),那么128Gb 3D XPoint Memory会不会内部已经包含了ECC校验位呢?

在企业级SSD上,比较常见的颗粒间容错技能是XOR,有点像RAID 5磁盘阵列。
也便是说单个芯片失落效仍担保数据可用。
接下来的一个问题便是,XOR或者P+Q校验是在芯片之间,还是通道之间?

如果在芯片之间,那么除了6+1之外,还可能有13+1和26+2这样比例的可能,有些情形下须要7个通道2-4次并行操作才能写完一轮数据。
这样对预防单个芯片失落效该当可以,并且掌握器内部集成少量DRAM或者SRAM也是很正常的。

而我还看到一种说法——目前的3D XPoint介质误码率还比较高。
当然这只是相对而言,而且Intel肯定也在产品设计中用了各种技能来填补。
因此我方向于认为6+1的通道间XOR比较合理,这样也能达到ECC的效果。
而如果设计更多的通道数,则碰着“双缺点”的概率会增大,也不用除另一种说法——7个通道性能已经够用。

这里借用GreenLiant绿芯的一张图参考下(详见《FPGA搞不定LDPC?分布式ECC助阵SSD》),由于我听说Optane利用的3D XPoint每颗芯片上也包含局部掌握功能。

假设上述预测属实,448GiB减去1/7剩下384GiB,比349GiB还多出大约35GiB。
剩下末了两点,Firmware——按照常规理解单独一个小容量Flash Rom就可以吧?不愿定3D XPoint Memory须要多大容量,如果像元数据那样放在主存储介质中,就有点不像底层Firmware的觉得了。

至于掩护操作,显然还是须要有的。
虽然不用GC了,但磨损平衡还要做,包括数据完全性扫描、搬移这些后台操作该当会有,以及像NAND闪存那样预留一些空间更换破坏的存储单元。

大略写这么多吧,在专家眼里我的认识可能又浅薄了:)

注:本文只代表作者个人不雅观点,与任何组织机构无关,如有缺点和不敷之处欢迎在留言中批评示正。
进一步互换技能,可以加我的QQ/微信:490834312。
如果您想在这个"大众年夜众号上分享自己的技能干货,也欢迎联系我:)

尊重知识,转载时请保留全文。
感谢您的阅读和支持!
《企业存储技能》微信"大众号:huangliang_storage

原文链接:https://mp.weixin.qq.com/s?__biz=MzAwODExNjI3NA==&mid=2649775702&idx=1&sn=4e8f533c3a511e3693c6c1911815f926&chksm=83773f0bb400b61d67a05c08290f29c2ba8092fe6e77a48ab211db2ce553183034b6568afb8d#rd

标签:

相关文章

IT语言排行榜,介绍编程界的潮流与趋势

随着信息技术的飞速发展,编程语言作为开发者的工具,也在不断演变。近年来,各大编程语言排行榜频繁更新,揭示着编程界的潮流与趋势。本文...

智能 2025-01-05 阅读0 评论0

IP协议,网络时代的基石与未来发展趋势

随着互联网的普及,网络已经成为人们生活中不可或缺的一部分。而IP协议作为互联网的核心技术,其作用不言而喻。本文将深入探讨IP协议的...

智能 2025-01-05 阅读0 评论0

LFU算法在C语言中的应用与方法

在当今信息爆炸的时代,数据量呈指数级增长,如何高效地处理海量数据成为一项极具挑战性的任务。在数据存储和检索领域,LFU(Least...

智能 2025-01-05 阅读0 评论0

LR汇编语言,探索计算机编程的奥秘

汇编语言作为计算机编程语言的一种,具有着悠久的历史和独特的魅力。LR汇编语言作为其中的一种,更是承载着编程者们对计算机世界的探索与...

智能 2025-01-05 阅读0 评论0