固态硬盘trim是什么以及固态硬盘trim功能

2023-05-27 22:04 1287

最近这几年,固态硬盘越来越受到欢迎。因为固态硬盘与传统硬盘相比运行速度要快很多。如果你已经在使用,或者你想买一个固态硬盘来提高你的电脑性能或者您正在使用固态硬盘,那么你应该了解固态硬盘trim功能。什么是固态硬盘trim,为什么它对固态硬盘很重要,如何在Windows中检查它是否开启,以及为什么找回固态硬盘删除数据相对困难?在本文中您会找到这些问题的答案。

固态硬盘trim是什么

TRIM是一个让操作系统准确了解你想移动或删除数据存储位置的命令。从win7开始,微软操作系统添加trim功能,告诉固态硬盘(SSD)哪些数据块不再需要,可以被删除,或者被标记为可重写。这样,固态硬盘就可以只访问保存数据的块。当计算机空闲时让固态驱动器擦除数据来节省时间,而不是在写入过程中使用额外的时间来删除不再有效的数据。

要彻底了解trim,我们首先要了解固态硬盘是怎样工作的,以及固态硬盘如何处理存储在其中的信息。虽然硬盘(HDD)和固态硬盘(SSD)都是存储数据,但它们的工作方式有很大的不同。它们的主要区别之一是它们如何写入和删除数据方式不同。例如,当我们在机械硬盘上删除一个文件时,操作系统将删除文件标记为已删除。当我们再进行写入文件时,文件将存储在任何可用空间上,或者存储被标记已删除的空间上。

固态硬盘是将数据存储在集成芯片中,这些芯片被组织成页,几个页组成一个块。数据写入页中完成的,但删除文件是在块级完成的。固态硬盘由三个主要零件组成,包含Controller控制芯片、DRAM以及NAND flash闪存。控制芯片是NAND flash与电脑的主要沟通桥梁;NAND flash则是由多个区块的非易失性内存颗粒所构成,也是数据主要储存的地方。

下图显示固态硬盘NAND芯片的布局--一个物理NAND页是属于同一个块的NAND闪存单元的一组。一个NAND块是由几个页组成的。几个NAND块构成一个平面。平面形成一个芯片。每个存储芯片包含一个或多个芯片。

固态硬盘组成图

 

一. 了解什么叫垃圾收集(Garbage Collection)

程序在内存空间中用不到的部分叫做垃圾。机械硬盘允许数据覆盖写入,但到固态硬盘上问题就来了,固态硬盘闪存不允许覆盖,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,固态硬盘就必须进行垃圾回收操作。垃圾收集主要做的就是两件事:

  • 找到内存空间里面的垃圾;
  • 回收垃圾,让程序可以再次使用这部分内存空间。

垃圾收集是NAND闪存控制器的一项重要功能。其目的是使闪存设备有足够的空闲区块,这样,每当必须写入数据时,设备就不必等待区块被擦除,从而使新数据可用。

下面的步骤显示了垃圾收集是如何进行的。

步骤一.  块1中的A、B和C页已经有数据存储进来了(上图所示)。该块中的其余页是空闲的,每当有新的数据需要写入或存储时,都可以使用。

步骤二.  当新数据E、F、G写入后(上图所示),第 1 区块中的 A、B 和 C 页中的数据已修改并替换为 A+、B+ 和 C+。原有A、B 和 C 页无法写入新的数据。

步骤三. 进行垃圾收集(上图所示)。E 页、F 页和 G 页和 A+、B+ 和 C+ 中的有效数据被复制到备用块 2中。块 1 中的所有页面都已擦除,并且该块标注为可用。

在这个例子中,从步骤一开始,固态硬盘通过前三个区块(A'-C')写入新值到空页。从步骤二开始,A-C块现在被标记为过期,这意味着它们包含的信息已被固态硬盘标记为删除。在空闲期间也就是步骤三,固态硬盘将把新的页面移到一个新的区块上,擦除旧的区块,并把它标记为空闲空间。这意味着下次SSD需要执行写操作时,它可以直接写到现在的空块X上,而不是执行程序/擦除循环。接着我们讨论下一个概念是Trim。

二. 固态硬盘trim是干什么的,固态硬盘 trim功能

Trim是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令。当相关页面的数据可以被覆盖时,操作系统会发给固态硬盘一个Trim指令。固态硬盘控制器等到主机开始删除和再次写入操作的时候,执行安全擦除操作。因为在写入操作过程中不用花时间去擦除原本的数据,写入速度要快得多。

机械硬盘存储和删除:我们在机械硬盘上删除一个文件时,该文件并没有被立即删除。相反,操作系统告诉机械硬盘,在下一次需要执行写入新数据时,可以覆盖并存储在删除文件所在的区域。对于传统的HDD,操作系统不需要注意数据被写入的位置,或者块或页的相对状态是什么。

固态硬盘存储和删除:固态硬盘的TRIM指令干了什么呢?操作系统一旦删除某文件,固态硬盘收到TRIM指令后,就会立刻将这些数据进行垃圾回收,并在空闲时将对应的闪存进行擦除,这样数据就很难被恢复出来了。这也是为什么您发现,固态硬盘上删除的数据不能通过软件恢复的原因。这并非软件不起作用,而是固态硬盘的TRIM指令造成的。

三. 固态硬盘数据丢失如何恢复

从上面介绍我们应该对固态硬盘删除数据的方式有一定了解,当我们发现固态硬盘数据丢失后,应立即取下固态硬盘,防止系统在休闲状态中删除丢失文件在页中的数据信息。待使用数据恢复软件恢复丢失文件时,再安装固态硬盘(固态硬盘最好使用移动硬盘盒连接电脑,待系统启动完成后连接)。

四. 补充

1.  开启TRIM功能需要固态硬盘本身的固件支持,和操作系统版本无关。
一些主要的固态硬盘主控芯片厂商已经提供了支持TRIM的固件,不过也有厂商开发出不依赖操作系统的垃圾回收技术,通过回收不再使用的闪存区块加入负载平衡算法,防止固态硬盘在长期使用后速度下滑,并延长闪存使用寿命,过程完全在固态硬盘内部完成。

2.  win7和win8系统对TRIM功能支持有所不同。
win7检测到支持Trim的固态硬盘时会自动开启该功能,并会在系统待机或者轻负载时自动向固态硬盘发送运行TRIM的指令,其缺点是不支持手动操作。想比之下win8更人性化,把trim功能和日常的磁盘整理程序整合在一起,成为一个可以手动操作的系统组件。

SSD, 修剪

黑群晖启动盘恢复

产生场景和原因: 黑群晖是一种类似于Synology群晖系统的自制系统,常用于搭建NAS(网络存储)服务器。有时候,我们可能遇到黑群晖启动盘损坏或数据丢失的情况,导致系统无法正常启动。这可能是由于误操

群晖nas防止恢复

1. 场景描述 在日常使用群晖NAS的过程中,有时会遇到意外情况导致文件或系统数据丢失,例如误删除文件、磁盘损坏、病毒感染等。为了避免这些意外情况带来的损失,我们需要采取一些措施来防止数据的恢复。 2

黑群晖中打开虚拟机失败

在黑群晖中无法打开虚拟机可能有多种原因导致,以下是一些常见的问题和解决方法: 1. 硬件限制:首先确保你的计算机硬件符合黑群晖要求,例如CPU支持虚拟化技术(如Intel的VT-x或AMD的AMD-V

如何打开设备管理器(win10/7多种方法)

如果你要更新设备驱动程序,调整系统资源,查找设备管理器错误代码,甚至只是检查一个设备的状态或者为了解决计算机硬件的某种问题,你可能需要打开在Windows设备管理器。资源管理器怎么打开?设备管理器没有

磁盘修复命令chkdsk使用方法

CHKDSK 是一个 Windows 实用程序,可以检查硬盘的完整性并修复各种文件系统错误。 当您的计算机显示各种启动错误时,建议使用此实用程序。如果您需要修复以下错误,可以运行检查磁盘实用程序: 0

U盘硬盘格式化后数据恢复方法

格式化硬盘是快速解决硬盘错误、文件系统错误以及硬盘反应迟缓的最佳解决方案。如果我们误操作导致格式化硬盘,格式化后能恢复数据吗?是的,您可以在格式化后恢复文件。 要增加恢复成功的可能性,你应该立即停止使

深度数据恢复软件使用方法

大多数数据恢复软件提供两种数据恢复模式:快速扫描恢复和深度数据恢复。快速扫描恢复模式只能找到一些被删除的文件,不能找到所有被删除和丢失的文件。深度数据恢复功能将绕过文件系统,直接扫描存储设备扇区,最大

自定义文件格式恢复

不同的电脑,不同的操作系统,使用不同的软件版本保存的相同格式文件,虽然他们的格式相同,但文件相关信息不一样。市面上的数据恢复软件一般采用的通用代码扫描数据盘,扫描后查看到的文件存在部分遗漏或恢复数据不

黑群晖异常断电

黑群晖异常断电 在企业或个人使用黑群晖(Synology)网络存储设备时,偶尔会遇到断电等意外情况,导致设备无法正常工作并可能引起数据丢失。本文将探讨黑群晖异常断电的原因、解决方案,并结合实际案例进行

黑群晖重装后恢复存储池

1. 产生原因 在使用黑群晖过程中,可能会遇到需要重装系统的情况。重装系统后,存储池中的数据将会丢失,需要进行恢复操作。 举例:用户在黑群晖上配置了一个存储池,并将重要的数据存储在其中。由于系统出现问