历史上的今天
返回首页

历史上的今天

今天是:2024年10月30日(星期三)

正在发生

2019年10月30日 | 技术文章—如何正确解释SSD性能数字

2019-10-30 来源:EEWORLD

不难看出现实生活中的性能数据与数据表中的数据有何不同。但这是什么原因?这些性能变化如何发生以及如何正确解释SSD性能数据。

 

随着存储容量的不断增加,传输速度必须以类似的方式增加。比起传统HDD,SATA SSD提供极大的改进,最新的PCI Express SSD更进一步提升此性能。性能是固态硬盘之间的关键区别。当每个制造商发布具有MB / s和IOPS指示的数据表时,将两个设备相互比较似乎相当容易,但这根本远离现实。数据表通常对新开箱即用的性能数据提供深入了解,但重要的是能够清除不切实际的性能数据并解释它们的实际情况。

 

顺序读写性能以MB/s表示。顺序操作以连续方式访问存储设备上的位置并且通常与大数据传输大小(例如128kB或更大)相关联,而随机操作以非连续方式访问存储设备上的位置并且通常与小数据相关联传输大小(例如4kB)。随机读写操作的性能在每秒输入/输出操作数(IOPS)中说明。最新固态硬盘的数据表可轻松获得3000 MB/s的顺序写入性能和200,000 IOPS以及更多的随机写入性能。

 

最佳和最差案例表现之间的差异有多大?

 

可以预期连续达到这些数值。为了验证我们自己的闪存控制器并将其与竞争对手进行比较,我们在实验室中对它们进行了严格的测试。我们的标准测试包括CrystalDiskMark性能测试,以测试最初所谓的“开箱即用”的性能。接下来是IOmeter产生的72小时连续随机写入工作负载。在此之后,再次进行CrystalDiskMark性能测试以评估“稳态”性能,即最差情况下的性能。或许在最佳案例和最差案例表现之间确实存在差异并没有出人意外,可是两者之间的差异程度是相当大。更令人惊讶的是,IOmeter测试中的性能极短的时间内会恶化。在对几十个固态硬盘进行测试后,我们可以得出结论,绝大多数硬盘几乎无法在100秒内保持其广告性能 - 即一分半钟。所有测试中性能均显着下降。图1显示我们的一个测试中IOPS超过测试时间的示例性进展。首先要注意的是,驱动器的广告宣传“高达84k IOPS”,第一次测量显示接近26k IOPS大约50秒。在这段时间之后,性能直线下降至不超过1k。经过15分钟的测试时间后,性能开始在接下来的71小时内以1.8k IOPS的值振荡。

 

 

图1:驱动器上的连续随机写入工作负载以及IOPS中的相应性能

 

如此严重的性能下降背后的原因是什么?

 

导致固态硬盘性能下降的原因有很多。闪存控制器在后台持续执行任务:垃圾收集,耗损均衡,动态数据刷新,RAID数据计算和校准。在短暂的读取和写入访问期间,控制器能够将其隐藏不被用户发现。由于大多数基准测试通常只运行几秒钟,因此它们不会随着时间的推移而捕获性能下降。

 

在我们看到之前测试中性能如何快速下降之后,我们现在将研究性能在SSD的使用寿命期间如何变化。为了测量这一点,我们按顺序将数据写入SSD直到写满为止并回读所有数据,同时测量每项任务所需的时间。这反复进行,直到驱动器寿命结束。

 

 闪存技术如何影响驱动器的速度?

 

首先,图2显示测试的驱动器具有6000个循环的寿命。这是使用当代3D TLC闪光灯的驱动器的最佳结果之一,因为它们之中大多数都可以使用大约3000次循环。超过五分之一的测试驱动器在达到2000个周期之前就失败了。当闪存技术是新的并且最初的SLC技术提供100,000个生命周期时,时间已经过去。因为TLC闪存的引入和闪存中较大量的错误,而需要新的纠错方法。这些使用一种称为软解码的方法来应对通常会在生命结束时发现的大量错误。软解码多次从闪存中读取数据,这显着增加了读取数据所需的时间,从而最大限度地降低了性能,如图所示。           

 

图2:整个设备的读取时间延长到寿命结束。随着时间增加三倍,速度分别降低到初始速度的33%。

 

然而,使用 TLC 和 QLC 闪存技术,在使用寿命即将结束时还出现更高的误码。它们对交叉温度效应也更为敏感。这描述了一种情况,即数据在一个温度下写入存储器并在另一个温度下读出。即使在正常的笔记型电脑中,使用几个小时后,温度也很容易从室温(25°C)开始变化到50或60°C。汽车导航系统等应用则是遇到更高的温差。使用TLC和QLC闪存技术,更有可能从需要软解码的存储器中遇到大量的误码,从而降低性能。

 

除了更高的误码率之外,TLC和QLC闪存技术还有另一个缺点:闪存本身速度较慢,因为读取和编程时间增加了。为了向用户隐瞒这一点,大多数驱动器在SLC模式下使用部分内存,这样可以存储较少位,而运行速度会快很多。此SLC缓存通常占驱动器容量的百分之几。它可能导致前面解释的性能下降:一旦缓存已满,写入速度就会降低。

 

温度对性能有何影响?

 

除此之外,性能在很大程度上取决于温度 - 环境温度以及驱动器的内部温度。图2显示在室温下大约25°C完成的连续顺序写入测试的PCIe SSD。驱动器能够传输超过1.2GB/s时间约95秒,之后封装内的芯片本身明显变热了。为了防止自身过热,执行称为热节流的机制。驱动器限制了其性能,以最大限度降低功耗,从而减少内部积聚的热量。

 

 

图3:PCI Express SSD随时间和温度的连续顺序写入性能。

 

结论

 

数据表将突显只有在完美条件下才能达到绝对峰值性能,并且只能在短时间内达到。高温也可能只是因为驱动器正在使用,交叉温度效应,存储器类型,快速缓存容量和驱动器寿命阶段引起,这些都是影响性能的因素。因此,在比较SSD时,考虑数据表中的数字仅仅只是反映整个主题的单一方面。

 

SSD
推荐阅读

史海拾趣

Gennum ( Semtech )公司的发展小趣事
用于调节电路中的电流、电压以及实现特定的时间延迟等功能。
E-T-A Circuit Breakers公司的发展小趣事

自1970年代起,E-T-A公司开始积极拓展全球市场,逐渐在国际上建立了知名度。公司设立了多个分支机构和办事处,覆盖了全球60多个国家,为当地客户提供优质的销售和技术支持。这一举措不仅增强了公司的国际竞争力,也为其在全球范围内推广先进的电路保护技术提供了有力支持。

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

在激烈的市场竞争中,品牌建设和形象提升对于企业的发展至关重要。Comclok Inc深知品牌建设的重要性,从产品设计、生产到销售服务,都注重塑造公司的品牌形象。公司注重产品的品质和用户体验,不断提升产品的性能和稳定性。同时,Comclok Inc还积极参加各类行业展会和交流活动,展示公司的技术实力和产品优势,提升了公司在行业内的知名度和影响力。

Heidenhain Corp公司的发展小趣事

随着电子行业的快速发展,对高精度电子元件的需求日益增长。海德汉公司凭借其iTNC系列数控系统的高精度控制能力,成为众多电子元件制造商的首选合作伙伴。某知名电子元件生产商在引入海德汉iTNC 530数控系统后,成功实现了微型电子元件的精密加工,将加工精度提升至微米级,大大提高了产品的质量和市场竞争力。这一合作不仅巩固了海德汉在高精度加工领域的领先地位,也推动了电子行业向更高精度、更高质量方向发展。

康龙(CONCRAFT)公司的发展小趣事

面对电子行业的快速变化和发展趋势,康龙公司积极拥抱数字化转型。公司引入了先进的ERP系统和数字化工具,实现了从供应链、生产管理到财务管理的全面信息化。这不仅提高了公司的运营效率和管理水平,还为公司的产业升级和未来发展奠定了坚实基础。

Anixter Inc公司的发展小趣事

康龙(CONCRAFT)公司成立于XXXX年,创始人XXX凭借其敏锐的商业眼光和对电子行业的深入理解,决定专注于电子连接器的研发和生产。公司初始阶段面临资金、技术和市场的重重挑战,但创始人带领团队夜以继日地工作,成功开发出了具有竞争力的连接器产品。随着产品的不断完善和市场推广的加强,康龙逐渐在电子连接器领域崭露头角。

问答坊 | AI 解惑

CPU风扇,本的外置散热风扇是直流的么?51单片机可以控制其转速么?

CPU风扇,本的外置散热风扇是直流的么?51单片机可以控制其转速么? 要怎么搞?…

查看全部问答>

转载:M168训狗心得

新的AVR系列单片机(例如,ATMEGA168等)使用增强功能的看门狗(Enhanced Watchdog Timer),与原来的看门狗相比较,除了有相同复位的功能以外,还增加了中断的功能设计时。使用看门狗的中断功能,可以实现从Power Down状态唤醒CPU;另外同时能使中断和 ...…

查看全部问答>

EEW-DSO-V2.00设计思路

这段时间一直和网友东哥在讨论第二版的设计,大概确定了一下,下个版本的设计方案,采样芯片应该会换成ADC08100,最高100M采样,用两片IS61LV25616-10+CPLD来做FIFO,两片轮流寸,实现100M的读写速度.存储深度比上次用了很大的升级,CPU换成带外部总线的STM ...…

查看全部问答>

USB 2.0 规范

USB 2.0 规范 USB 是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度 可达480Mb/S。USB 支持“总线供电”和“自供电”两种供电模式。在总线供电模式下, 设备最多可以获得500mA 的电流。USB2.0 被设计成为向下兼容的模式 ...…

查看全部问答>

请各位分析这样跳槽可以吗?

目前在公司担任研发主管,负责研发部门资源团队,个人觉的资源团队搞起来没啥意思,而且本人在资源团队搞了10年了。现在想需求更大发展。准备跳槽到另一家民营公司担任研发中心下一个研发一部担任部长,负责整个研发部门的工作。我想这样对这样生涯 ...…

查看全部问答>

最近在学习 ARM2440,买了一块杭州立宇泰的板子,遇到一个难题,请大家一起帮忙分析一下,谢谢!

最近在学习 ARM2440,买了一块杭州立宇泰 (套餐六) 的板子,遇到一个难题,请大家一起帮忙分析一下,谢谢! 问题是这样的。 开发板的初始化软件是能正常运行的。 我设置成网络启动也能正常工作, 我尝试修改了文件系统,运行了自己的程序,也 ...…

查看全部问答>

请问tilt wheel mouse中的WM_MOUSEHWHEEL消息如何在Win200/XP DDK中实现呀?

在Vista中,有mouse消息WM_MOUSEHWHEEL,而在2000/XP中则没有,我想写个mousefilter在2000/XP下来支持该功能,我该如何做呢?在MouseServiceCallback()当中做吗?我看在MOUSE_INPUT_DATA结构中不知怎样才能实现.…

查看全部问答>

酬金500元,北京,请教51单片机的TCP/IP问题

本人在北京,现有一块杭州晶控电子的51NET以太网开发板,开发板介绍:http://www.hificat.com/net/net.asp,想请教一下附带光盘里的单片机源码,(源码已上传,在附件里)。 内容:讲解源码,源码我没仔细看过,是单片机和PC通信的内容,应该是TCP ...…

查看全部问答>

EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:s

EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:stack overflow。 程序如下          CVOConnection* m_Conn;          CVO ...…

查看全部问答>