SSD固态硬盘的黄金原则:抱最高的希望,做最坏的打算-1

2024-01-07 16:04

本文主要是介绍SSD固态硬盘的黄金原则:抱最高的希望,做最坏的打算-1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着SSD固态硬盘日益普及,在个人电脑中已成为基本的配置选项。在体验SSD固态硬盘带来的性能优势的同时,你有没有想过一个问题,SSD的数据如果误删除或发生故障丢失,还有没有可能找回来呢?这也许是固态硬盘飞入寻常百姓家后需要面临最深刻的灵魂拷问!

图片

在介绍SSD数据恢复的内容前,我们需要先了解一个SSD文件删除相关的特性“TRIM”。TRIM是SSD的一个特性,目的是让固态硬盘SSD在进行内部GC垃圾回收的时候,避免搬迁已经被OS删除的数据,减少无用的数据的搬迁从而降低写放大,提升SSD固态硬盘的寿命,同时也可以提升盘的有效带宽。

比如在OS不支持TRIM的场景:

  • 第一步:OS层面写了数据文件A,B,C,D,同时SSD的逻辑地址和物理地址也都写入了对应的数据。

  • 第二步:删除了文件C,这个时候OS并没有立即告诉SSD这数据是无效的,特别这个阶段,如果发生GC,依然会搬迁文件C对应原始数据,因为对SSD盘来说,这些还是用户的有效数据

  • 第三步:OS层面写入文件E,覆盖了文件C的原始LBA逻辑地址,直到这个时候,SSD内部才恍然大悟:“啊!原来我之前搬迁的还是无效数据呀,做了无用功,SSD也是欲哭无泪呀!”

图片

作为对比,在OS支持TRIM的场景的工作机理:

  • 第一步:OS层面写了数据文件A,B,C,D,同时SSD的逻辑地址和物理地址也都写入了对应的数据。

  • 第二步:删除了文件C,这个时候OS立即发送了TRIM指令,也就是立即告诉了SSD,这些数据是无效的,不用处理了。这个阶段发生GC垃圾回收,会直接把文件C对应的物理数据直接擦除。

  • 第三步:OS层面写入文件E,覆盖了文件C的原始LBA逻辑地址,物理地址也写入了新的数据。

图片

注意,在OS支持trim的机器上,当你删除文件后,会自动向SSD发送trim,这个过程是自动发生的。

如何确定自己的电脑是否有打开Trim功能呢?以Windows系统为例:

以管理员身份运行cmd界面,并输入“fsutil behavior query DisableDeleteNotify”

  • 如果DisableDeleteNotify返回值是1,则Trim处于关闭状态或者不支持

  • 如果DisableDeleteNotify返回值是0,则Trim处于开启状态

图片

如果要关闭TRIM则执行:fsutil behavior set DisableDeleteNotify 1

图片

到这里,你是不是有所了解了,如果我们想要提升SSD的数据修复的概率,最好是把TRIM功能给关闭掉,不然文件删除后,想再找回真的是难于上青天了。

在了解了TRIM原理以后,我们再总结下固态硬盘常见的故障模式:

与机械硬盘HDD不同,固态硬盘没有机械零件,主要靠电学信号传输,不会出现机械故障。在固态硬盘给大家带来多重优势的同时,固态硬盘相对机械硬盘最大的劣势就是:数据恢复异常艰难,比机械硬盘HDD的数据修复概率低很多。所以,如果你有重要数据,切记一定要备份,最后备份一个SSD,一个HDD,双重保障。

图片

固态硬盘常见的故障模式,主要有以下几种:

  • 温度过高。在固态硬盘长时间大压力读写,或者机器散热不高的情况下,持续高温运行,固态硬盘内部的器件也会加速出现异常或者降速运行,最终导致OS访问硬盘出现异常。

  • 物理损坏。当固态硬盘有跌落或者撞击的影响的时候,也会影响固态硬盘上电子器件的可靠性,出现异常,严重的话,会出现数据丢失。

  • 使用不当。由于盘有固定的寿命期限,如果长时间大压力随机读写,也会加速SSD寿命的消耗。或者出现经常性的意外掉电,导致盘处于长时间的异常环境,也会加速盘的故障。

  • 固件异常:固态硬件的固件Firmware内部包括了SSD的FTL算法,读写逻辑,ECC纠错等算法,非常复杂,出现FWbug的概率也相当高。或者出现盘内部异常,FW出现锁死的情况,导致盘处于只读模式或者无法访问的状态。这种情况,数据的恢复几乎不可能了。

  • 数据损坏:当固态硬盘受到恶意病毒的感染,数据也会出现损坏,恶意破坏数据块的内容,导致无法恢复。

这么多故障的可能,那么固态硬盘SSD的数据修复,到底是否有办法呢?我们这里介绍两种尝试修复的方式,不能保证一定会成功。在你误删除一些文件的时候,可以尝试下,市场也有也有很多的修复软件。

这篇关于SSD固态硬盘的黄金原则:抱最高的希望,做最坏的打算-1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/580488

相关文章

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

C#继承之里氏替换原则分析

《C#继承之里氏替换原则分析》:本文主要介绍C#继承之里氏替换原则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#里氏替换原则一.概念二.语法表现三.类型检查与转换总结C#里氏替换原则一.概念里氏替换原则是面向对象设计的基本原则之一:核心思想:所有引py

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

【IT】软件行业发展的前瞻性和希望的广度

我说一下我对程序应用的一个看法就是 我其实个人不太建议自动驾驶技术的发展因为这个东西它说到底还是什么那么一点安全隐患 ,虽然我们平常考虑用同时实行各种各样的高级的自动作用, 但是自动驾驶可能是个特例,其实我个人觉得程序可以在以下方面发展 1.医学(包括诊断 治疗 手术等)因为现在也有很多的疾病是医学还没有能力去解决的 ,2.国防 有的时候因为国家安全真的非常重要的,因为我们每个人

win7如何设置SATA硬盘

Win7在安装时设置的是IDE,安装完后需要在注册表中设置为SATA,否则直接设BIOS会不认硬盘,具体如下 注册表子项:HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Msahci 找到Start键,将值0改为3

有关机械硬盘的基础知识

1,机械硬盘的品牌   目前市场中常见的笔记本电脑的机械硬盘品牌主要有希捷、西部数据、三星等。   2,机械硬盘的容量   硬盘容量,即硬盘所能存储的最大数据量。虽然笔记本电脑硬盘的容量会因单位密度的提升而增加,不过和台式电脑的大容量比起来,笔记本电脑硬盘的容量仍然落后许多。笔记本电脑的硬盘除了对磁盘有体积较小和数量较少的要求之外,对功耗、耐用程度、抗震性及成本等的考虑,也让笔记