使用闪存为存储载体的SSD的读写过程与传统的HDD有着本质上的不同,特别是在写入方面,HDD是可以直接对存储在磁碟上的数据进行覆盖写入的,SSD并不能这样,闪存需要先擦除原来的数据再把新的数据写进去,不能直接覆写数据使得SSD多了擦除的操作,而写入单位(Page)与擦除单位(Block)的不统一又让SSD不停地在各个Block区块之间折腾,SSD用久了需要擦除的区块就会越多,性能自然也会变慢,然而现在的SSD基本都不会这样,为什么会这样呢?
浦科特的SSD就以True Speed不掉速
SSD的写入方式决定了它越用越慢的特性,数据写入的越多性能就会越差,不过现在的SSD都支持TRIM指令与GC垃圾回收功能,在他们俩的守护下可以确保你的SSD里面即使写入得再多东西也不会轻易掉速。
TRIM指令
TRIM指令是微软提出的,但是SSD厂商也有支持与不支持TRIM之分,所以还是跟SSD有一定关系。
TRIM是基于SATA控制器的一个指令,一旦有文件删除或者分区格式化,操作系统就会发TRIM指令给SSD主控告诉它某处的数据已经删除了,SSD因而知道那些数据是能动那些不能动的,之后就可以进行清空操作以恢复性能了。不过这个过程不是马上就完成的,TRIM命令是即时发送到SSD主控中的,但是什么时候开始清空数据是主控算法的事。
对TRIM指令的支持是现在SSD主控必备的
之所以有这么一个沟通过程还是跟SSD与HDD的读写方式不同有关,首先操作系统的删除数据并不是真正把数据清空了,只是加了删除的标签而已(就像摘了门牌号,房子还在一样)就是说真实的数据还在,不过普通的操作访问不到了,但是一些专用的数据恢复软件可以把这些数据再找回来。
HDD机械硬盘是可以直接在原有数据上直接覆盖,但是SSD不行,必须要清空原有数据才能写入新数据,而系统并非真正删除数据的特性会对SSD的性能造成影响,TRIM指令的存在使得SSD能够紧紧跟随OS的操作意图,擦除已删除的无用数据以恢复SSD性能。
上图很好的说明了TRIM指令是如何工作的,前三步分别是空数据、写数据和删除部分数据,在此之后TRIM指令就会通知SSD主控可以清空红色区域的无用数据,之后SSD的性能就可以恢复如初了。
TRIM支持与否依赖于操作系统、磁盘控制器驱动以及SSD主控,Win7、Windows 2008 R2、Linux 2.6.33、MAC OS 10.6.6、Free BSD 8.2及之后的系统都支持TRIM或者类似指令,Intel 9.6.0.1014及之后的磁盘驱动都可以支持,不过TRIM指令并不强制要求AHCI,IDE模式也可以,只是SSD几乎没谁用IDE模式吧。
微软PPT中专门解释过TRIM指令的工作方式和优点
Intel在RST 11.5之后的驱动中提供RAID模式的TRIM指令支持,还有一些厂商用自己的方式解决了RAID模式下的TRIM指令问题。另外,XP系统下是不支持TRIM指令的,不过三星的工具软件也可以让其SSD实现类似TRIM的功能。
浦科特M8Se有着很高的TRIM效率,这可以提高产品的性能稳定性,能让SSD能够保持较长时间的高速运行,还可以抑制写入放大,提高闪存的寿命:
用户可以自行检查TRIM指令开启与否,打开CMD窗口定位到“fsutil behavior set DisableDeleteNotify 0”表示启用TRIM,如果是1就表示禁用状态或者不支持。
GC垃圾回收
垃圾回收(garbage collection,简称GC)是SSD恢复性能的另一大秘籍,这个主要跟厂商所用的主控有关,其意义就跟字面意思一样,通过清理无用的垃圾数据保持SSD性能如新。
它的存在还是跟SSD的特性有关,空盘下SSD写入数据所需时间以ns计,但是擦除数据的过程则以ms计,写入的数据越多,需要擦除的时间也越长,SSD的写入性能就会严重下降,GC机制相当于”腾笼换鸟”,把原本杂乱无章存放的数据整理一遍,然后写入到新的空白区,之前的区块就会进行清除操作以恢复正常性能。
GC的处理过程
由于各种写入、删除操作会在SSD留下杂乱的数据,其中有些是还有用的,有些就是无效的,GC功能启动之后就把有用的数据拷贝到另外的区块,这一步相当于“腾笼”,原来存储数据的区域就会被 清除,恢复空盘水平以准备写入新的数据,这就是“换鸟”了。
上面只是理论操作过程,具体怎么做还有个选择问题,如果在SSD读写数据的同时进行GC操作,这种实时GC(Real Time GC)对主控的性能是个考验,一方面要往空白区写入数据,同时还要照顾无效数据的“拆迁”工作,这么频繁折腾SSD的话估计SSD那有限的读写寿命也支撑不住,实时GC不可取。
浦科特在2011年的M2P就使用过相当激进的实时GC功能,性能确实不会降低,不过那个时候的闪存还是32nm的MLC,寿命相当有保障,现在无论MLC还是TLC都不够胆这样玩了。
目前的GC大都是在SSD闲置时才开始工作,也就是所谓的“Idle Time GC(闲置GC)”了。厂商会在主控中设定一个条件,比如空白容量达到某种比例才开始GC处理,这样就预先释放了空白空间,如果达到设定条件的上限,那么GC也会停止,这样处理比实时GC更利于延长SSD寿命。
闲置GC也不是完美无缺的,它会带来额外的写入放大,因为在GC处理开始之前,某些整理过的页面(page)可能正在变脏,不过闲置GC增加的写入放大率非常小,OCZ称其SSD的闲置GC只有额外的1%放大率,影响非常小,整体上依然是利大于弊。
现在的SSD大都是利用TRIM和闲置GC相辅相成工作的,当用户删除或者修改文件时,系统就会发送TRIM指令告诉SSD那部分数据可以删掉了,然后SSD在闲置时就会对这部分区域进行GC腾出空白的闪存空间,实时GC功能现在在启用SLC Cache的SSD上会比较明显,毕竟它们要快速的腾出SLC Cache空间给后续的数据,这样才能确保SSD拥有高速的写入。
TRIM指令通知给SSD的可删除数据越多,GC操作需要转移的数据就越少,写入量也会减少,对SSD来说也是延长使用寿命的一种方式。
相关推荐
研华近期推出工业级PCIe4.0新品“SQFlash 730系列”,产品采用高性能主控IC芯片,支持....
发表于 2023-10-24 14:05•
31次阅读
分享微信 2023年10月23日,上海 – 为帮助掌上游戏PC用户获得卓越性能和优质体验,西部数据公....
发表于 2023-10-24 11:00•
185次阅读
EEPROM(带电可擦可编程只读存储器)是用户可更改的只读存储器,可通过高于普通电压的作用来擦除和重....
发表于 2023-10-23 17:08•
58次阅读
存算一体片上学习在实现更低延迟和更小能耗的同时,能够有效保护用户隐私和数据。该芯片参照仿生类脑处理方....
发表于 2023-10-23 14:15•
49次阅读
被协是世界第三大闪存公司,西部数据公司第四位。目前正在推进的合并实体可能会达到和世界第一大企业三星电....
发表于 2023-10-23 10:07•
222次阅读
本工作发表于FAST 2022。首次基于一家主要存储供应商(NetApp)的近200万个SSD的大量....
发表于 2023-10-19 11:29•
95次阅读
泛林集团因为去年发表的美国最近的出口限制规定,遭受了约20亿美元的销售损失。泛林集团认为,公司在中国....
发表于 2023-10-19 10:55•
138次阅读
越来越多的应用程序依赖于庞大的数据集合,而这些应用程序必须快速响应。借助自动分层,Redis Ent....
发表于 2023-10-19 10:49•
81次阅读
“数据大爆炸”时代,存储器正成为数字时代的“新基建”。5G物联网世界需要庞大的基础设施来存储和管理数....
发表于 2023-10-19 10:18•
237次阅读
近日, 忆联企业级SSD产品UH811a / UH831a和忆联数据中心级SSD产品UH711a与腾....
发表于 2023-10-19 09:35•
290次阅读
i7-14700K/1470KF变化较大,8P+8E变成了8P+12E 20核心28线程,因此二级缓....
发表于 2023-10-18 12:35•
138次阅读
从2024年第四季度开始,DRAM和NAND闪存的价格将全面上涨,这已经导致国内存储器下游企业的闪存....
发表于 2023-10-17 17:13•
472次阅读
Nordic Semiconductor最近推出了128 MHz nRF54L15 Cortex-M....
发表于 2023-10-17 11:56•
460次阅读
以企业用ssd为例,北美云服务企业(csp)的库存仍然很高。但部分服务器品牌企业的需求比上半年有所恢....
发表于 2023-10-17 09:41•
60次阅读
起初,读/写磁头停靠在盘片在主轴附件的一个特殊区域,启停区。
发表于 2023-10-16 16:44•
113次阅读
当今世界,数据的重要性不言而喻。固态硬盘(SSD)作为最主要的数据存储介质,如何持续提供强大的数据保....
发表于 2023-10-16 15:55•
119次阅读
随之而来的影响,即从今年四季度开始,存储元器件成本上涨所带来的影响将逐渐传导至消费端,笔记本电脑、手....
发表于 2023-10-16 15:41•
240次阅读
三星决定升级西安工厂的原因大致有两个。第一,在nand闪存市场尚未出现恢复迹象的情况下,在nand....
发表于 2023-10-16 14:36•
417次阅读
据韩国贸易部16日公布的资料显示,韩国9月份的nand闪存出口额比去年同期增加了5.6%,但8月份减....
发表于 2023-10-16 14:17•
94次阅读
日前有媒体报道称,受三星等存储原厂减产以及国内闪存龙头存储颗粒产能不足的影响,内存和闪存元器件采购成....
发表于 2023-10-16 11:13•
287次阅读
近年来,为满足大规模的存储应用需求,分布式存储成为云环境下存储底座构建的重要选择,相较于传统集中式存....
发表于 2023-10-13 15:55•
102次阅读
1、从ZNS说起 Zone Namespace(ZNS)在2020年开始广泛讨论,2021年在NVM....
发表于 2023-10-12 15:55•
148次阅读
固态驱动器(SSD)是一种由固态电子存储芯片阵列构成的存储设备,由控制单元和存储单元组合而成。其接口....
发表于 2023-10-12 09:29•
82次阅读
图处理在社交媒体、导航、推荐等领域应用广泛。很多场合下图数据往往非常大以至于难以在单个机器的内存中存....
发表于 2023-10-12 09:12•
101次阅读
据悉,YR S900采用英韧自研第三代ECC纠错引擎,协同优化4K LDPC编解码及数字信号处理技术....
发表于 2023-10-11 15:48•
49次阅读
基于可编程网络设备的在网存储系统支持在数据传输路径上执行存储任务,颠覆了传统以CPU为核心的存储系统....
发表于 2023-10-11 14:47•
60次阅读
北京2023年10月10日 /美通社/ -- 日前,大普微与keyarchOS完成浪潮信息澎湃技术认....
发表于 2023-10-11 01:47•
80次阅读
首先,内存请求与闪存内存之间存在颗粒度不匹配。这导致了在闪存上需要存在明显的流量放大,除了已有的闪存....
发表于 2023-10-09 16:46•
111次阅读
手持式编程器,KUKA smartPAD-2
发表于 2023-10-08 09:23•
101次阅读
不久之前,如果您想要一个内置大量缓存的处理器,那么 CPU 是显而易见的选择。现在,即使是预算级 G....
发表于 2023-10-07 17:37•
690次阅读
9月26日,以“中国芯,存未来”为主题的2023存储产业趋势峰会在上海璀璨举行!本次峰会由上海市静安....
发表于 2023-10-07 10:31•
420次阅读
今年是新中国成立的 74 周年,从最初的举步维艰到如今的繁荣富强,得益于政治、经济、文化和军事等各领....
发表于 2023-10-01 07:45•
221次阅读
对于DIYer、硬件爱好者而言,最近一年显然是愉快的一年,往日价格高高在上的大容量SSD,现在只需数....
发表于 2023-09-28 10:49•
588次阅读
近日长江存储旗下的致态家族再添新成员Ti600.Ti600是致态推出的首款QLC SSD。SSDFa....
发表于 2023-09-28 09:50•
574次阅读
当前,数据中心市场正呈现持续增长的未来态势,在供应链安全日益重要的前提下,国产替代进程逐渐加速,也将....
发表于 2023-09-27 11:50•
220次阅读
致态Ti600系列SSD采用了长江存储最新一代NAND闪存颗粒,基于晶栈Xtacking 3.0架构....
发表于 2023-09-27 10:49•
203次阅读
9月21日-22日,由半导体投资联盟、深圳市存储器行业协会主办,广东省集成电路行业协会和深圳市半导体....
发表于 2023-09-26 13:51•
193次阅读
SSD主要由控制单元和存储单元(当前主要是FLASH闪存颗粒)组成,控制单元包括SSD控制器、主机接....
发表于 2023-09-25 09:45•
105次阅读
在上一篇文章中为大家介绍了NAND Flash的工作原理和自身的特性(点击查看 ),本次文章将继续为....
发表于 2023-09-22 18:10•
270次阅读
9月20日,由中国电子信息产业发展研究院主办的2023琴珠澳集成电路产业促进峰会暨第十八届“中国芯”....
发表于 2023-09-22 08:22•
292次阅读
RAM中的一部分通常被用作缓存,用于存储CPU经常访问的数据和指令,以提高计算机的性能。缓存能够以较....
发表于 2023-09-21 15:35•
659次阅读
1虹科ATTO光纤通道HBA随着对高速数据访问和低延迟存储解决方案的需求日益增长,虹科ATTO最新的....
发表于 2023-09-21 08:10•
212次阅读
忆联数据中心级固态硬盘UH711a顺利完成了与Red Hat(红帽)Linux 8系列的适配认证,并....
发表于 2023-09-20 18:40•
293次阅读
据消息人士透露,nand闪存价格从第三季度初的最低点开始逐渐反弹,到目前为止已经上涨了10%以上。他....
发表于 2023-09-20 10:19•
348次阅读
NVM Express ( NVMe ) 或 Non-Volatile Memory Host Co....
发表于 2023-09-19 10:43•
190次阅读
提升广告检索漏斗一致性,要求在粗排阶段引入更丰富的信号,这些信号的需求量已经远远超出了内存的承受能力....
发表于 2023-09-18 09:20•
400次阅读
M.2接口是一种新型的存储接口,它可以提供更高的传输速度和更小的体积。M.2接口的全称是Next G....
发表于 2023-09-15 14:52•
936次阅读
代码:(2) BOOT
Possible value: none/old/new
none: no need boot ...
发表于 2023-06-12 07:56•
39次阅读
我正在开发一个有很多常量字符串的应用程序。例如:
char *hello = \"hello world\";
或者
if (strncmp(hello, \"gre...
发表于 2023-06-12 06:18•
39次阅读
我想将数据保存到闪存中,这样即使断电我也可以拥有这些数据。
我尝试使用 spi_flash_write 但出现错误
代码:
 ...
发表于 2023-06-12 06:04•
44次阅读
我正在使用 LPCXpresso55S16,我想从闪存中动态分配内存,向其中写入数据,从中读取数据,并在需要时释放它。是...
发表于 2023-06-09 06:57•
113次阅读
InitTarget() 开始
- 闪存地址处的保护字节。0x400 - 0x40F 表示设置了读出保护。
对于调试器连接,设备需要不安全...
发表于 2023-06-09 06:53•
152次阅读
我正在将我的引导加载程序移植到 LPC55S69,我试图确定设备的确切闪存映射,但遇到了意想不到的困难。
表 4 显示了...
发表于 2023-06-09 06:39•
107次阅读
我正在寻找有效的 RT-UFL 设置以将 J-Link 最新驱动程序与 Adesto EcoXIP 闪存(在 Embedded Artists i...
发表于 2023-06-08 08:14•
114次阅读
任何人都可以帮助我面对像 lpc4337 闪存中的 sector13 一样无法将超过 8K 的数据写入 64k 的问题吗?即使是 64K 容量...
发表于 2023-06-08 06:39•
69次阅读
我尝试测试 RT1064-EVK 并遇到以下问题:
我正在使用 P&E multilink universal 将 LED 演示应用程序编程...
发表于 2023-06-05 08:00•
110次阅读
我们可以使用没有外部闪存的 ESP8266EX 通过 ESP8266EX 的 UART 配置使其作为 WiFi 连接到我的网络吗...
发表于 2023-06-05 07:06•
45次阅读
评论