NVMe协议与PCIe固态硬盘:深入解析非易失性储存器控制协议及其应用

日期: 2024-12-09 03:09:44|浏览: 279|编号: 86052

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

NVMe协议中的NVM实际上就是我们之前英文提到的非易失性存储器。整个名称可以简单理解为非易失性存储器控制协议。

由于M.2接口的高速SSD采用NVMe协议和PCIe总线,因此一些厂商干脆将SSD做成PCIe接口,插入PCIe插槽中使用。这是PCIe固态硬盘,一般采用NVMe协议。

例如Intel的高端AIC固态硬盘一般都带有PCIe接口。

其他接口:SAS/AIC/U.2接口

以上介绍了我们日常生活中比较常见的一些固态硬盘接口类型。这里简单介绍一下比较少见的接口。这些接口一般是企业级的或者常用于服务器中。如果我们使用服务器主板,仍然有机会看到它们。 。

SAS和U.2是由SATA接口修改而来的接口。目的是为了兼容SATA硬盘,并且能够使用其他协议总线。例如,SAS可以使用服务器中常见的SCSI总线,而U.2可以使用使用NVMe协议的PCIe总线。

SAS 和 U.2 接口是什么样的

SATA硬盘可以插入SAS和U.2接口,但SAS硬盘和U.2硬盘不能插入SATA接口。

AIC 表示 PCIe 附加卡。事实上,它类似于PCIe固态。也可以直接插在PCIe接口上。这主要是因为服务器上很多设备都比较老旧,无法使用其他接口。插入 PCIe 是最直接的方式。

爱国者AIC企业级固态硬盘

接口兼容性和速度上限

接下来我会用实际的例子来谈谈不同接口的固态硬盘的速度上限。首先,不言而喻,SATA等接口最大损耗为600MB/S。

B KEY的M.2接口与速率上限的关系

M KEY的M.2接口与速率上限的关系

检查存储设备的传输模式

例如,常见的NVMe固态硬盘采用PCIe 3.0x4,因此速度上限为4GB/S。如果是更贵的PCIe4.0 NVMe固态硬盘,速度上限是PCIe4.04,即8GB/S。

爱国者PCIe4.0 P7000固态硬盘(1TB)速度最高可达7GB/S左右

固态驱动颗粒及主控

虽然固态硬盘采用的接口协议总线决定了读写速度的上限,但固态硬盘实际能跑多快取决于颗粒的品质和主控算法。

SLC/MLC/TLC/QLC颗粒

这些术语是我们购买固态硬盘或者看别人评论时最常提到的参数。如果是后两种颗粒,通常都伴随着对厂家的蔑视。但它们到底是什么?

评论里提到QLC基本上都是被诟病的。

事实上,人们通常对于在其后面添加颗粒并不是很严格,因为它们物理上是由无数相同的浮栅晶体管组成的NAND闪存颗粒。无论是SLC还是MLC或以下的,它们使用的存储单元都是相同的浮栅晶体管,但区别在于每个浮栅晶体管组成的存储单元及其状态数(常用的层数来表示)用于其他科普)不一样。

在上一章中,我们已经使用TLC演示了现代固态硬盘NAND闪存颗粒的原理。通过给存储单元施加阈值电压,检测电路是否导通,即可读取存储单元中的数据。其他几种类型也类似:

TLC检测数据过程动画也见上一章

现在连PLC也即将问世了。根据上述原理,一个存储单元可以存储5bit数据。

这样做的好处自然是显而易见的。在相同面积的存储单元中,QLC可以存储比SLC多4倍的数据。这意味着闪存颗粒的密度增加了4倍。这已经是一个惊人的差别了。如果同一个闪存颗粒全部QLC都能有容量的话,那么TLC只有750G,MLC只有500G,SLC只有256G。

并且由于数据密度的增加,相同容量的TLC固态价格约为SLC的1/4,这意味着它同时更便宜和更大。这听起来不错,那么为什么大家都如此抵制使用 TLC/QLC 存储单元的固态硬盘呢?

多层存储单元的缺点

首先,在存储单元上,划分的阈值电压越多,需要读取的次数就越多。例如,TL​​C每次读取一页数据时,必须依次给出7个阈值电压。每次给出阈值电压时,都要一一给出。为了检测存储单元是否开启,SLC只需要检测一次阈值电压。每增加一个需要检测的阈值电压,读取速度就会慢很多倍。

多个阈值电压也会造成读取困难。在上一章中我们也提到,预设电压不能无限细分来无限提高容量密度。即使只达到TLC级别,也会造成阈值电压范围太小的问题,因为当我们向存储单元写入数据时,我们无法精确控制电子数量。如果阈值电压太小,电子量恰好卡在中间,那么数据是010还是隔壁的011?这时就需要加入ECC纠错算法,通过验证数据来纠正存储单元上的信息,然后重写正确的数据。这一步大大减慢了阅读速度。

写作时也是如此。阈值电压越高,存储单元存储数据所需的电子数量越精确,就越容易出错。当出现错误时,需要ECC纠错算法来验证并重写正确的数据,写入速度也会变慢。阈值电压的设置也会影响存储单元的寿命。我们先不说上面提到的重复书写对寿命的影响。我们知道,每次写入都会对包括浮栅在内的绝缘层造成物理损坏,而闪存颗粒在每次写入数据时,都需要先擦除对应的块,然后再写入数据。这样,随着时间的推移,存储在浮置栅极中的电子将越来越容易通过绝缘层逸出,空穴也会增加。

对于SLC来说,0和1两种状态的电子数量相差很大,即使跑掉,也完全不会影响读数;但对于QLC来说,各态之间的电子量差异很小,只需要一点点。当电子从浮栅逸出时,该存储单元读取的数据改变为另一种状态。当写入后短时间内逃逸的电子数量大于两种数据状态之间的差值时,主控将判定存储单元出现故障。了解了原理后,我们不难发现,相比SLC、MLC/TLC/QLC等,层数越多的存储单元发生故障的时间就越少。

SLC与其他类型存储单元比较数据时间、写入时间、擦除时间和平均寿命

多层存储单元还会带来其他问题,如数据可靠性不足、对存储环境要求更高等。

从MLC到QLC,容量密度越来越高,价格也越来越便宜。与此同时,上述缺点也会越来越严重。简单总结就是,相比之下,SLC的读写速度最快,数据存储最稳定可靠,寿命也最长。通过比较,我们知道SLC除了数据密度低和价格昂贵之外,其他方面都很好。难怪公众批评厂商在TLC/MLC上“偷工减料”。

对多层存储单元的正确认识

看完上面的部分,很多人可能会觉得哦,一定要花很多钱去买一块SLC/MLC固态硬盘,不然总感觉用不了多久,不靠谱。

但实际上没有必要。我觉得只要在产品详情和包装盒上标明存储单元类型(虽然几乎没有厂家这样做),并且容量性价比确实足够低,那么根据自己的需求还是值得购买的(虽然现在市面上基本没有全SLC的消费类产品,估计很快连全MLC的产品厂商都不会再生产了)。

SSD指示存储单元类型

如今厂商会采用DRAM或者模拟部分SSD空间作为SLC作为缓存,来解决TLC/QLC的速度问题。而即使是QLC,只要容量足够大,有一个好的主控,那么我们每天使用的一个存储单元的擦除和写入数据就可以控制得很低。只要不是一天24小时不停地写,基本上有十几年的寿命(详细参数下面会介绍)。所以最终还是要看个人需求。如果你确实对数据可靠性和速度有很高的要求,而且对价格不敏感,那么你真的不应该考虑QLC,甚至TLC。我感觉大部分时间都还好。我会进行具体购买。那一章有详细介绍。

说实话,很少见到硬盘颗粒破裂的情况。一般都是主控制器先坏,不然也不会有那么多厂家回收固体颗粒当新的卖。

各大厂商的QLC SSD价格依然不便宜。

当然,这并不意味着你可以不假思索地购买。一些无良厂商会用回收的或者无论如何都只是垃圾的劣质颗粒和控制器来制作完整的QLC,然后添加一点高质量的DRAM或SLC缓存作为高端配置。这种固态硬盘以固态形式出售,在外部速度、寿命和可靠性方面都是一团糟。 。

就连各大厂商也时常有偷偷更换颗粒的消息,所以我们在购买前应该搜索一下固态型号,看看有没有相关的黑历史;另外,同类型的颗粒也会有厂家原装颗粒。我会在购买章节详细解释黑膜、白膜的区别。

只需检查固态硬盘上的颗粒类型

说了这么多,我们终于到了实际操作的部分了。本节我将教大家如何查看自己的固态硬盘使用的闪存颗粒类型以及闪存颗粒的质量如何。

您可以拿出自己的固态硬盘观察一下,或者在网上搜索相应的照片再购买相应的固态硬盘。闪存颗粒上通常有一些代码。当然,有些厂家也会使用未编码的闪存颗粒,或者刮掉闪存颗粒上的编码丝印。在这种情况下,如果想知道颗粒的具体参数,就只能咨询厂家了(除非把闪存颗粒从电路上拆下来,连接到这类软件上查看数量)。

闪存颗粒无编码丝印

检查闪存颗粒数

一般来说,不同厂家使用的不同颗粒的编码会有很大差异。例如,正规的大厂家通常会在颗粒上有晶圆厂的标识、自己的品牌或者产能等。

西数SN550上的颗粒非常清晰。

但一般我们只需要关注底层或唯一的代码。说实话,闪存颗粒和芯片一样都是高精度技术。目前(文章发表时),闪存颗粒市场仅有三星、海力士、东芝、美光、西部数据(闪迪),而我国的长江存储占据了绝大多数闪存颗粒市场。基本上你能看到的固态都逃不过上述公司的颗粒。

这些公司的原始颗粒看起来像这样

如果闪存颗粒上只有一个数字,没有其他信息,那么它很可能是一个自我标记的闪存颗粒。自封式闪存颗粒仅在原厂生产,后续封装和测试均由公司自行完成。因此,自密封并不意味着它是不好的。品质取决于企业的技术和良心。

这样的数字只有一个,它是一种自密封粒子。

如果是原装闪存颗粒,我们可以使用SSD-Z或者此类应用程序来获取详细的存储单元类型和颗粒生产信息。但如果是自封式闪存颗粒,就只能拿固态的型号或者代码去问客服或者谷歌了。是的,是这样的,因为原来的颗粒是好的,但是现在很多固态都使用自密封颗粒,并且没有办法使用或者这样的应用来查询。

原颗粒搜索结果

目前,检测自密封闪存颗粒最有用的方法是使用俄罗斯瓦迪姆救国公司开发的Flash ID检测工具。该工具利用固态硬盘主控的命令来读取闪存颗粒的序列号。获取闪存颗粒的序列号后,再与内置数据库进行比较,即可得到闪存颗粒的真实编码。

Flash ID检测工具

至于如何辨别闪存颗粒是原装颗粒、黑片、白片还是工程版,每个原厂颗粒的命名规则和具体方法最终决定了颗粒的品质。此过程没有 100% 准确的方法。我将把细节留给采购章节。

其实最好的办法就是直接询问对应品牌的客服。一般情况下,客服会反馈给工程师,然后得到结果。如果一次不行而你又很想知道,你可以多问几次,他们通常会得到答复。

主机/SSD控制器

从物理状态来看,粒子擦除和写入的次数其实并不高,所以主控的好坏非常重要。主控水平的高低,关系到同一颗粒的读写速度,以及寿命等,甚至比闪存颗粒的质量还要重要。对于使用相同闪存颗粒的两个固态硬盘,如果一个使用好的主控,另一个使用普通的主控,不仅读写速度可以相差数倍,寿命甚至可以相差10倍。

爱国者P7000 SSD主控

主控制器也称为 SSD 控制器,本质上是一个小型处理器,甚至可能像真正的 CPU 一样具有多个内核和 SRAM 缓存。与闪存颗粒不同,制作固态硬盘主控芯片的厂家有很多。国外比较知名的有三星( )、汇融科技( )、群联( )、大陆(大陆)等,国内则有Sage。 、国科、MAXIO、德仪微电子()、英仁科技()、易芯科技()、大唐存储()、大普微电子()还有很多。虽然现在的技术不如国外大师,但他们正在不断追赶。

主控芯片来自三星、汇融科技、群联、

主控内部还会有一个小型操作系统。很多发烧友的“开盘”操作就是拆盘或者修复主控坏掉的SSD,然后换上新的主控,刷新ROM(固件)。

以NVMe固态硬盘为例,主控主要完成以下任务:

典型主控结构

这是主控的主要工作。例如,NVMe固态硬盘往往需要性能比较强的多核处理器,因为NVMe协议的队列长度和深度都比较大,而且还支持乱序执行。主控除了我们上一章提到的控制数据的写入和读取外,还同时执行下面提到的FTL算法、调度算法、缓存算法等任务。

FTL(层)算法

FTL算法就是上一章提到的将物理地址转换为逻辑地址的算法。主控会将不同页的物理位置转换成逻辑代码,形成映射表,每次写入都会实时更新每个地址。逻辑扇区的状态。这样做的好处是文件系统不需要关注实际的物理设备是机械硬盘还是固态硬盘。只需要发送同一逻辑扇区的读写指令即可,其余的交给机械硬盘或固态硬盘的主控即可。

映射表本身也存储在闪存颗粒上。

不同的FTL算法也会显着影响SSD的4K读写速度。由于映射表本身需要频繁的读写,因此SSD上电后映射表通常会被放置在缓存中,这意味着它会占用缓存空间。如果FTL按页映射,4K读写速度会更好,但映射表会很大,占用大量缓存空间;如果FTL按块映射,虽然不会占用太多缓存空间,但4K读写速度会比按页映射差,而实际的SSD主控FTL算法一般是两者的混合。

垃圾收集机制/TRIM回收说明

另外,我们之前了解到,如果闪存颗粒上的块不为空,则需要先擦除后才能写入,每次输出都会对相应的存储单元造成物理磨损。因此,FTL算法还保证每次写入新块时,不会先擦除旧块,以减少擦除次数,增加块的寿命。

但这会导致原块上的相同数据变得无效(先读取原块的内容,然后与新数据合并并写入到另一个地方,但原块并没有被擦除,只是在FTL表上将原始块标记为可擦除),因此主控还负责等待,直到这些无效数据块累积到一定数量,然后一次性擦除这些块(不同的垃圾收集算法会略有不同) )以获得可用的空白闪存块。这个过程就是垃圾收集,这也是主控和FTL算法的主要工作。

此外,固态还有一个类似的专有机制,称为 TRIM。这种机制更加极端。如果系统(如WIN10)检测到固态硬盘支持该命令,那么在删除数据时根本不会发出删除命令,而只会创建那部分数据。磁盘快照(在空白块中创建快照的速度比擦除该块然后写入要快得多),然后将这个快照交给,在空闲时会根据这个快照慢慢擦除对应的块,然后等待擦除完成。然后通知系统,以便下次系统需要写入数据时,可以直接写入相应的块。

可见固态一般都支持TRIM指令,并且默认开启。

大多数系统默认启用此功能。例如,我们可以通过在命令行输入query来检查TRIM是否启用。您还可以在其他系统上搜索类似的说明。如果你想关闭它,也可以使用类似的指令来关闭它。

通过命令行检查TRIM状态。如果禁用 TRIM,则启用 TRIM。

通过垃圾收集和TRIM指令,不仅可以大幅提升固态硬盘的写入速度,而且可以均匀所有块的擦除次数,最大限度地延长闪存颗粒的寿命。

控制通道和队列

为了优化性能,固态硬盘会将闪存颗粒放置在多个通道上。每个通道都有一个 I/O 总线来接收输出数据。每个通道还有一个独立的通道控制器,负责与主控进行通信,并将主控连续发送的读写命令进行排队,然后一一交给对应的闪存颗粒执行。

由于固态硬盘不像机械硬盘那样具有机械结构,因此拥有多个通道意味着可以同时执行多条指令,确保固态硬盘能够发挥其最高性能。而且,通道控制器生成的队列还有一个深度参数,即一个队列中可以排队多少条命令。现代NVMe固态硬盘使用的NVMe协议可以支持数万个队列,每个队列的深度为数万个命令。 ,因此可以同时支持数亿条读写命令,这也是NVMe固态硬盘顺序读取能够达到8GB/S的重要原因。

ECC 算法纠正位翻转错误

检查并纠正闪存颗粒上存储单元的错误对于主控制器来说也是一项非常重要的工作。如果我们看一下闪存颗粒的企业说明​​书,我们会发现上面还有一个重要的术语——(R)BER(Raw Bit Error Rate),即比特翻转率。

我们在上一章和本章中多次提到,浮栅中的电子会慢慢穿过绝缘层,“越狱”走。这会导致读取时读取到不正确的数据,例如SLC存储。将代表0的电子数量写入该单元。由于绝缘层太磨损,时间太长,或者环境温度太高,里面的大部分电子慢慢跑走了。然后读取该存储单元中的数据。就会变成0,也就是所谓的位翻转。

BER是指存储单元发生错误的概率,RBER是指在没有纠错算法的情况下存储单元发生错误的概率。为了防止错误的发生,主控在每次写入数据时都会向闪存页的附加存储区域写入附加的校验码,然后定期使用校验码配合ECC纠错算法来进行校验。检查是否有错误。如果发现某个存储单元出现错误,纠错算法就会利用校验码计算出该存储单元的正确数据并重写。

由于纠错需要频繁进行,并且每次需要检测大量的存储单元,因此主控中通常会内置一个专门用于纠错的硬件——纠错码引擎,其中包含很多编码器和解码器。并行计算提高了效率。

RBER是衡量闪存颗粒质量的重要特性。随着闪存颗粒擦除和写入次数的增加,情况也会变得更糟,导致绝缘层磨损,呈指数分布。

固态硬盘擦写次数与RBER指数分布的对应关系

当一个存储单元通过纠错算法纠正后不久又再次出错时,该存储单元就被认为是无药可救了。 UBER(误码率)是指出现不可纠正错误的概率。当UBER达到一定程度的时候,我们可以说这个闪存颗粒就报废了。当所有闪存颗粒的UBER达到一定程度时,那么固态硬盘就报废了。

事实上,不仅是写入,读取每个闪存过多的块也会改变其中的电子数量,从而导致数据错误。这个问题称为读干扰。

这里也可以看出,TLC/QLC由于状态太多,更容易出现无法通过纠错算法纠正的错误。

控制缓存/模拟SLC缓存

前面我们也提到,固态硬盘厂商为了在成本和性能之间做出权衡,会在固态硬盘上放一颗DRAM颗粒或者让一些闪存颗粒模拟SLC进行缓存。读写数据时,它们会先写入缓存,空闲的再让缓存写入速度不那么快的其他粒子。

DRAM使用的缓存通常为1GB:1MB。这种方法比较容易理解。为了防止断电时数据丢失,很多固态硬盘还增加了电容,让缓存的数据在断电后有时间写入闪存颗粒,这样DRAM的缓存就没有缺点了。但现在很多固态硬盘已经没有DRAM缓存了,所以我们来详细讲一下动态模拟SLC缓存。

上面我们也了解到,SLC和其他类型的存储单元物理上使用的是相同的浮栅存储单元,因此厂商想到了简单牺牲部分容量,将MLC/TLC/QLC固态硬盘的部分模拟为SLC,而将这部分SLC视为使用缓存。这样厂商就可以节省相对昂贵的DRAM颗粒,同时把固态硬盘做得小一点,整体成本降低很多(至于价格会不会下降,就看厂商良心了) )。很多业内人士和评测博主不会对没有DRAM的固态硬盘给出很好的评价,因为DRAM缓存和SLC缓存的速度差异太大。同时,使用部分闪存颗粒进行缓存也会使闪存颗粒寿命变短。

当SSD使用DRAM时,主控还负责动态调整SLC缓存空间。毕竟,如果使用固定的区域进行SLC缓存,那么每次读取或写入数据时,都必须经过这部分。闪存颗粒的质量再好,也会瞬间死亡。因此,主控一般会动态分配未使用的块作为SLC缓存,并在一段时间后清除SLC缓存中的所有数据,恢复为TLC/QLC等其他类型(这个过程一般称为升级/降级)。

除了速度不够快之外,SLC缓存还有一个显着的缺点,那就是缓存容量会随着SSD的剩余容量而减少。比如256G的QLC固态硬盘,如果厂家分配了30GB的SLC缓存,那么就会占用30*4=120GB的QLC空间。当用户使用这款固态硬盘到256-130+30=156GB时,剩余的空间就不足以分配这么多的SLC缓存了。

有良心的厂家会额外增加一些空间来弥补,而无良的厂家就会直接破坏它。毕竟,用户使用156GB后,可以通过减少SLC缓存容量来继续安装数据,但这样SSD的速度就会降低。会越来越慢,最后成为QLC真正的速度。很多垃圾固态硬盘被戏称为大U盘。如果没有缓存,实际速度甚至会低于 USB 闪存盘。即使是顺序写入也只有几MB,根本无法与机械硬盘相比。

杂牌“大U盘”固态硬盘外置速度慢,图片来源:有什么值得买@

此外,还有HMB等类似技术。原理是支持的操作系统可以分离出一部分运行内存作为固态硬盘的缓存。这不会使用DRAM颗粒来节省成本,还可以避免SLC缓存的缺点。但是,目前,目前只有NVME固态驱动器和Win10 1709或更高版本才能实现这项技术。

我专注于促进这项技术的 SN550促销页面。

OP空间

阅读上述部分后,小心的朋友可能会发现,除了用户数据之外,固态驱动器还需要安装许多其他数据 - FTL映射表,检查校正代码以进行错误校正,SLC CACE等。

因此,制造商通常使固态驱动器的实际容量大于名义容量,范围从5%到30%,具体取决于良心程度。换句话说,256克固态驱动器的真实空间甚至可以是332GB。此额外的空间称为OP空间(OP = Over,这意味着其他配置)。

空间的这一部分也是动态的,并通过主控件进行调整。除了存储上面提到的额外数据外,当某些存储单元被打破时,主要控制还负责将OP空间中的容量释放到正常使用情况下,以确保用户可用的总容量保持不变。此外,拥有一些额外的空间来平衡擦除的数量,还可以在一定程度上延长固态驱动器的寿命。如果OP空间的容量有30%,它甚至可以将固态驱动器的寿命延长超过50%。

对于某些SSD爱好者来说,所谓的开放操作的一部分是使用特殊的工厂软件来打开这一部分空间以获得额外的自由容量。想要玩它并碰巧拥有免费固态驱动器的朋友可以找到相应品牌的工厂软件并使用它。

东芝的SSD管理软件可以轻松调整OP空间

至于我们如何检查缓存容量和OP空间尺寸,OP空间通常需要相应品牌的工厂软件才能查看。需要通过实际测试对缓存容量进行测试。在下面的实际测试部分中,我将教您如何详细地进行操作。

主控制协议ONFI/

至于闪存粒子界面标准和主控件之间的交互协议,目前有两种类型的ONFI/。制造商还围绕这两个方案建立了联盟。 ONFI协议联盟主要包括Intel,和Hynix;主要方案包括三星和东芝。 ,ONFI协议主要是为了与三星和东芝的垄断作斗争,背后有一个故事。我不会详细介绍该协议的细节以及它们背后的故事。有兴趣的朋友可以阅读相关文献中的内容,或者自己查找。

了解我们对主要控制的常用工作内容了解的知识,算法越先进,每个部分的效率越好,并且越高级算法对主控制的性能有更高的要求。我相信每个人都对主要控制性能和算法质量的重要性有更深入的了解。

就像CPU需要冷却风扇一样,SSD主要控制的性能每天都在改善,颗粒产生的热量需要冷却背心来抑制它。将来,甚至有必要为SSD准备一个特殊的冷却风扇。

温度升高后,PCIE4.0固态驱动器的速度立即下降。

其他SSD参数p/e(/擦除周期)擦除和写作周期的数量

在固态驱动器部分中,我们反复介绍了擦除对闪存颗粒寿命的影响。实际上,有一个特殊的参数可以量化固态驱动器的寿命,即p/e。

一个p/e意味着一次擦除整个固态驱动器上的所有块。如果固态驱动器的产品参数说10000 p/e,则意味着在产生固态驱动器10,000次之后,内部的存储将无法存储电子,这就是其中的寿命固态硬盘。

通常,SLC SSD的市盈率超过10,000次,MLC SSD为10,000次,TLC SSD为3,000次,现在越来越多的QLC SSD仅可怜1,000次或以下(,2021.04)。

听起来比预期的要少得多。一些朋友甚至可能会怀疑QLC固态驱动器能持续多长时间。但是,当我们引入上面的主要控制工作内容时,所有工作内容的最终效果几乎是为了减少块磨损。降低磨损的统一操作称为磨损升级。

最初,p/e是指每个存储单元一次被删除一次,但是由于磨损的升级,出色的FTL算法和OP空间允许每个存储单元尽可能均匀地擦除和写入,因此P/E成为所有块整个SSD被擦除一次。

让我们看一下实际情况。如果512克固态驱动器每天都会写20克数据,则:

除了PLC外,这似乎还不错,但是所有类型的SSD实际上都可以使用更长的时间。首先,即使对于系统磁盘,每日写入卷20克也相对较大。除非您每天安装并卸载大量软件,游戏或高清音频和视频文件,否则您将无法使用太多。

其次,根据上述计算,您是否发现容量越大,寿命越长,因此,如果您使用大容量固态驱动器,无论如何,您基本上都不必担心寿命它的类型是。因此,许多人在购买固态驱动器时要注意P/E周期的数量,这实际上没有多大意义。

当然,如果您遵循另一种计算方法,它将更令人恐惧,即连续写作,这意味着每天24小时将文件写入固态驱动器。根据这种计算方法,QLC将在短短三天内挂起。这种情况在平民领域相对较小,但仍然存在,例如悬挂PT下载或进行监视和实时广播。在这种情况下,请勿选择SLC以外的固态驱动器。

实际上,SSD写作还存在一个称为写入扩增的问题。首先是上述空闲GC垃圾收集和由修剪机制引起的无效数据传输,这增加了擦除和写入的数量。此外,当用户使用一部分后的SSD较大(例如,400G用于512GB)时,只剩下一小部分可用空间来安装新数据。如果用户目前没有移动前400GB,则它会继续删除和编写新数据。目前,无论主要控件如何执行磨损升级,都只能在100GB闪存块中写入数据。结果,比其余400G的100GB闪存块具有更多的擦除和写作时间。 。这将缩短固态驱动器的实际寿命,其余空间将容易出错。连续误差校正将导致读取速度降低。这也是固态驱动器在使用大量容量后会放慢速度的原因之一。

写入卷参数:tbw/dwpd

写作量不是专注于P/E,而是更重要的是,这是制造商认可的。尽管消费者固态驱动器通常没有标记预期的写作量,但企业级固态驱动器将标志着TBW/DWPD,并将其用作保修标准之一。

TBW(TB Write)是固态驱动器的总写作量,通常以制造商的保修条款书写:

该单元是TB。通常,保修期和TBW应首先确定。 TBW的单位是TB。不要认为普通用户不能使用太多。以下是仅在几个月内开采虚拟货币的固态驱动器的参数:睁开眼睛:

已经开采了几个月的 SN550,您是否看到了以快速阅读和写作速度的固态驱动器?

更不用说企业用户了,因此还有另一个参数DWPD适用于具有更多写作的业务用户。该参数每天代表每次全次,即每天写多少硬盘容量。

DWPD通常只敢于以昂贵的企业级别的固态来标记。民事级别的固态不敢这样。以上述示例的512GB QLC固态。计算:512*150/5120 = 15天,您可以在半个月内干燥此磁盘,因此您知道为什么在购买第二盘硬盘时应该小心。企业级别的固态仍然可以拥有几年的保修,足以看到颗粒和主要控制质量之间的差距。

三星在DWPD和TBW上的介绍

除了实心状态硬盘本身的容量外,P/E时间的数量可以转换为P/E的数量,并且可以通过长期保修时间获得DWPD。

通常,闪光粒子或固体硬盘的寿命基于颗粒类型。可以在此基础上延长良好的颗粒质量和主控制算法。

查看固体 - 状态硬盘寿命

看到这里的许多朋友迫不及待地想知道他们坚固的硬盘的盈余生活。实际上,实体硬盘的主要控制有助于我们计算读写量。您可以直接看到使用此类软件的总写作和读取卷,然后检查与您的固体状态硬盘相对应的产品参数。结合颗粒类型,您可以计算此实体硬盘的健康和剩余寿命。此外,左侧的健康程度实际上是相同的,但更保守。实际值将比这更糟糕。它表明,少于60%的人基本上可能与生活一样快。

健康,全部写作和访问量

就我用过系统磁盘的普通NVME固体硬盘驱动器而言,它已使用了两三年。目前的金额是书面的,而p/e的转换约为71。预期寿命为14%。这是我日常用户的大概使用,因此最好担心主要控制是否会担心颗粒状生活。毕竟,大多数固态都是主要控制,并且颗粒可以再次由制造商回收。

相关文献:

[1]。固体硬盘的主要规模标准可以是指全球网络存储行业协会的SNIA的引入。

[2]。 NVME协议和相应控制器的详细条件可以参考NVM的此官方开发人员文档。

[3]。查看存储粒子的详细参数可以在本网站上或使用。此外,这里还放置了由俄罗斯Vadim制造的Flash ID读取工具。

[4]。对于闪存粒子的生产过程,您可以看到魔术上传的官方视频“芯片 - 步骤”。

[5]。引入ONFI和协议可以查看其官方文档“ ONFI”和“ DDR1.0数据表”。

[6]。每个固体状态硬盘都会更新固件,以及开放工具:装甲()Solid -State硬盘硬盘固件管理工具, -Solid-State硬盘管理工具SSD, Data Solid Hard Disk 工具WD SSD。

[7]。将来,我们可以购买便宜的PLC颗粒。

[8]。关于BICS4 3D NAND名词我们经常看到

测试实体硬盘的实际性能

了解相应的参数后,我们进入了实际的测试链接。此链接中使用的软件和基本参数所反映的显着性与机械硬盘的意义相似,在实心状态硬盘的特性的祝福下,有些链接将有所不同。

但是我们需要知道的是,它可以直接使用机械硬盘获得相对准确的速度。在不同的负载和部门的情况下,实体状态硬盘在性能上将有显着差异。此外,不同的文件系统,不同的CPU,不同的内存主板,甚至不同操作系统的格式化方法都会影响实体硬盘驱动器的实际性能。标称性能的最重要的是散热。不同的热量散热对高端固体硬盘的性能产生了巨大影响。

这也是由于这种固体硬盘驱动器的标准测试方法总是存在不同的意见,尤其是行业联盟或行业给出的测试方法通常太复杂,高要求,并且不适用于普通用户。这种复杂性还允许使用固态硬盘的国家标准测试方法直到最近(GB/T 36355-2018,2019在2019年生效)

国家标准GB/T 36355-2018的封面

但是,对于普通用户来说,国家标准测试方法仍然有些复杂,因此通常,当用户使用自己时,他们只需要根据我下面提供的方法进行测试。结束名义性能是足够的,但是这种波动已成为许多不道德的制造商。混合主控制,并秘密替换记忆颗粒的借口。

测试环境:AMD 5600X + ASUS B550M-PRO +海盗复仇者复仇者8G*2,室温27°C无散热器液体(Tucao Asus母板PCIE3.0 M.2 M.2界面)散热器套管,PCIE4.0 m。 2接口接口接口,而是没有令人发指的),新的简单卷关闭了文件压缩。

空磁盘,一半 - 板,完整的光盘测试

测试方法的简单摘要是:空磁盘,半磁盘和完整测试。在本节中,我们仍然使用ASS SSD和这两个软件。

请注意,以下测试基本上是最极端的,并且实际使用将比测试结果更好。

我们以Aigo的成本有效SATA SATA固体硬盘S500和高端NVME4.0固态硬盘P7000为例:

首先是,在两个板的格式化或容量为空之后,开始使用两个测试软件进行测试一次。

SATA固体 - 状态硬盘S500空气磁盘测试结果

NVME4.0固体 - 状态硬盘P7000空气磁盘测试结果

接下来,我们可以使用手头上的大文件,例如电影或游戏安装袋等,以使用硬盘容量的一半,然后执行相同的测试。

SATA固态硬盘S500半板测试结果

NVME4.0固体 - 状态硬盘驱动器P7000半盘测试结果

最后,我们使用所有固体状态硬盘驱动器的所有容量仅使用约50GB,然后执行最后一个测试。

SATA固态硬盘S500完整磁盘测试结果

NVME4.0固体 - 状态硬盘驱动器P7000完整磁盘测试结果

如果您只想在不同容量下测试每日速度,请在填充目标容量以恢复缓存能力后等待0.5到1小时(上述测试是此);因此,这个测试过程是最好的连续。此外,如果您想获得更准确的数据,则可以增加从1GB到10GB的数据量,但是测试时间将大量。

不允许其他硬盘从头到尾占据宽度。同时,建议打开或类似的软件,以实时查看实心硬盘的温度。如果温度太高,性能与固态硬盘本身无关,我们需要自己加强散热。

我们必须进行测试的原因是因为制造商通常标志着空磁盘1GB测试能力的连续阅读速度,这是理想情况下的最佳数据。基本上,我们在日常使用中没有这个好的场景(例如,您不会购买坚固的硬盘来保持空磁盘,而我们不仅每天都会复制一个1GB文件)。

我们分为空磁盘,半盘和完整的磁盘进行测试。我们不仅可以在每日硬盘的所有阶段模拟每天使用实体硬盘的实际场景。完整的磁盘容量加上连续测试也可以使DRAM和SLC缓存用尽。可以测量终止。真正的放缓速度,查看制造商粒子的主要控制质量。

如果实心状态硬盘运行的速度类似于官方名义标称,并且在空磁盘完整磁盘的三个状态下,运行速度不会显着下降,或者在Full Disk State中不会有严重的速度,那将没有严重的速度。那么该磁盘的质量仍然非常好。如果您在半盘的情况下开始降低速度,但这并不严重,那么该磁盘的质量就可以了。如果一半板或大量写作开始降低速度,则需要考虑此实体硬盘的质量。

高清音调Pro:测试缓慢的外部速度和缓存容量

先前的测试需要很长时间才能填充容量,尤其是当一些固体状态硬盘较慢并且外部速度较慢时,整个过程非常折磨。做5或6步是很麻烦的。如果您想简单地测量最佳速度和缓慢的外部速度,顺便说一句,您可以估计缓存容量,那么您可以尝试使用HD Tune Pro。

高清音调Pro接口

HD Tune Pro最初是为了测试机械硬盘而设计的,因此仅参考固体状态硬盘的测试数据。但是,它具有可以自动设置为不同类型文件的优势,直到测试特定的硬盘容量为止。测试结果非常清晰,直观,这非常方便。我们可以看到缓存内部和外部的速度。在跌倒的那一刻,我们还可以判断坚固硬盘的缓存能力。

SATA固体硬盘硬盘S500写作速度和缓存容量

SATA固体 - 状态硬盘S500读取速度和缓存容量

NVME4.0固体 - 状态硬盘P7000写作速度和缓存容量

NVME4.0固体 - 状态硬盘P7000读取速度和缓存容量

HD Tune Pro的使用需要注意需要注意硬盘的格式,没有格式化,也没有分区。否则,当您选择写作时,将提示您写作。如果构建了分区卷,则可以选择磁盘管理中的相应磁盘以选择删除卷。此外,该软件的默认块大小为64KB,与其他测试软件相比,该块的大小应相对应。

相应的固体硬盘必须不可能

实际复制测试

许多学生认为该测试也相对较长。最好直接获取一个大文件以复制和粘贴测试。尽管这也可以测试实际使用方案,但前提是您必须确保大型文件的原始磁盘读取速度大于目标磁盘的速度,无论您是测试4K还是连续读取和写作。例如,极限,您将50GB的电影从机械硬盘复制到NVME固态,然后您测量的写作速度仅为100mb/s。在内存中,速度保证可以达到最快。

在确保更快的原始磁盘目标的情况下,我们只需要在原始磁盘和1000个小文件(例如图片或小说)中准备一个约30至50G的文件,我们可以重复。

在空气磁盘的情况下,如果复制速度时速度突然下降,那么目前已经使用了实体 - 状态硬盘的容量,可能是实体 - 状态硬盘缓存的大小。

测试缓慢的含义

一些朋友可能会问,我们基本上使用Solid -State硬盘使用如此大的文件或很长时间的读写,因此测试的测试能力缓慢而缓存的容量?

无论我们是运行还是检查对他人的评估,缓存能力都是非常必要的测试。尽管通常足以在日常生活中缓存我们的用户,但通常没有比缓存大小文件更多的场景。但是,如果它是电影文件或安装系统游戏,则仍然可以用完实际速度,因此我们通常必须测试实心硬盘的速度。如果缓存外部的速度特别糟糕,那么这种坚固的材料和制造商良心的良心就不好。而且,由于缓存更快,因此以相同价格购买的固体状态硬盘,缓存容量越大,缓存速度越大。

以上测试方法通常用于用户或媒体进行简单测试。如果您想查看更详细和准确的数据或进行更多专业测试,则可以使用专业的存储设备测试软件,例如FIO。没有安装软件包要下载。您需要根据平台编译源代码。使用它时,还需要使用命令行。普通用户使用我建议测试的软件方法。

相关文献:

[1]。 Ying Ruida的官方简单固体硬盘测试方法。

[2]。国家标准GB/T 36355-2018“信息技术固态磁盘测试方法”

[3]。 的固体硬盘性能测试方法。

[4]。 JEDEC 的固体标准标准和实体罢工的坚实标准标准。

优点和缺点,并使用机械硬盘和固体硬盘的场景

在这一点上,您基本上了解了机械硬盘和实体硬盘以及常见参数的原理结构。在本节中,我们将比较其中两个之间的优势和缺点,以及建议的用法方案。

在发布文章之前,以下讨论的优点和缺点是在发布的。

尺寸

在尺寸方面,固体硬盘驱动器非常喜欢。即使是由2.5英寸的机械硬盘制造的移动硬盘,再加上诸如保护措施之类的外壳,仍然比银行卡大得多。实心硬盘驱动器只需要使颗粒和电路板高,并且可以很小。即使是较大的2280 NVME固体硬盘加外壳,该体积仍然仅占机械硬盘的三分之一。

因此,实体硬盘非常适合便携式设备,例如笔记本电脑,平板电脑和其他便携式设备。机械硬盘的当前使用越来越偏向大容量存储设备,例如台式机和NAS。

价格/容量

存储设备的价格通常基于每GB的数量。

就机械硬盘而言,随着16TB甚至18TB机械硬盘的出现,机械硬盘的每个GB的价格已降低到大约稍微。这个价格是一个坚实的硬盘,暂时无法捕获。

但是,通过使用QLC颗粒和其他技术,实体硬盘的价格也迅速下降。现在,每GB价格不到5美分。

容量也相似。目前,机械硬盘的容量约为20TB,固态为8-12TB。尽管两种类型将来都会推出更多的容量产品(机械硬盘和固态硬盘具有100TB产品)。但是,高容量会带来一些折衷问题,例如堆叠瓷砖的颗粒速度和寿命以及机械硬盘的固体硬盘。

写入/阅读

这方面是坚固的硬盘的世界。机械硬盘的机械结构确定其速度不太快。每个阅读和写作都需要几个等待和身体运动。 ;固体状态硬盘的完整电气化和量子隧道穿透效果使读取和写入I/O速度达到纳米水平。

此外,您还发现阅读和写作是相同的机械结构和相似的原理。机械硬盘不能区分阅读速度,而阅读和写作通常相似。坚固的硬盘是由于阅读,写作以及写作和写作的原则。实现方法略有不同,导致读写速度通常不同。

持续时间和数据恢复

在耐用性方面,它也是实体硬盘硬盘的优势,或者是因为实心态硬盘没有机械结构,因此由于振动下降而不会影响工作。磁头臂易于刮擦表面,并取消接触部分的数据。即使机械硬盘存储数据的寿命相对较长,但在日常使用下的机械硬盘和固体硬盘的寿命仍在10年之内,因此无需考虑此方面。

但是,数据恢复是机械硬盘的强度。首先,机械硬盘删除数据未直接删除,但可以写在相应的区域中。通过这种方式,在将原始数据写在顶部之前,该领域没有新数据,并且可以通过特殊方法提取。即使有新的数据覆盖范围,先前的磁性颗粒仍将在其上仍然存在一些“数据阴影”。高度技术数据恢复公司可能会恢复数据(将在数据恢复章节中介绍详细的内容)。

固体硬盘不一样。在写作之前,您需要删除块。擦除后,块上所有存储单元的所有电子都在逃跑。另外,将删除垃圾回收机制和修剪功能。一旦涵盖了数据,除非尽快删除固体状态硬盘,否则基本上是不可能恢复的。 SLC也可能有Niubi数据恢复公司根据剩余电量推断原始数据。 MLC上方的多层存储单元基本上是否。

下降速度

机械硬盘和固体硬盘都会下降,但原因有所不同。机械硬盘速度主要是在文件片段方面,而实体硬盘驱动器主要是由于缓存。但是,即使Solid -STATE硬盘驱动器使用缓存,我们每天都会遇到很多场景-4K读写能力仍然比大多数机械硬盘更好。

机械硬盘更换固体硬盘驱动器

许多人认为机械硬盘被固体硬盘驱动器替换,并且系统安装在固体状态硬盘中,但增加了功率速度。但是,实际上,除了更快的转速速度和复制文件外,整个系统的反应还会增加。原因部分是因为实体硬盘硬盘的读写速度更快,但是更直接的原因是,在实体硬盘驱动器中,I/O的数量较高。

我们每天在操作系统上运行软件游戏。除了操作系统不断调用系统目录中的各种库文件外,软件和游戏本身还在不断访问目录的安装中的文件。