1. 机械硬盘

机械硬盘(HDD)主要是通过机械装置来控制磁头在硬盘上对磁性物质进行磁化来进行写读操作的装置,因此机械硬盘可以直接覆盖写,所以不需要特别的擦除操作。
操作系统(包括磁盘驱动及文件系统)对机械硬盘的此特性进行了专门优化。当用户删除硬盘上的文件时,操作系统并没有告诉硬盘删除操作,操作系统只是将文件系统的数据映射表进行相应的标记(如FAT表中标记FAT表项为空),并不是真正是删除文件数据。这样做,可以提高操作效率。下次有新文件写入时,操作系统会通过文件系统表项中空白项对应数据区的位置,直接进行覆盖写操作即可。

2. 固态硬盘

固态硬盘(SSD)主要是通过NandFlash来存取数据。操作系统按照操作机械硬盘的方式来操作固态硬盘时,会面临一些问题。
当用户删除文件时,操作系统只是在文件系统中标记对应数据区为空闲,并不真正擦除对应数据区。下一次写操作时,是直接覆盖写。FLASH对应的SLC块容量为1MB,操作系统删除100MB文件之后,假设写128K数据大小文件,此时直接是覆盖写,覆盖因为需要搬移,并且实际搬移的数据可能是需要擦除的无效数据,这就非常影响写速度。

3. Trim

针对固态硬盘的这种问题,操作系统层面还有各种协议协会,共同提出了专门针对固态硬盘的优化方案——Trim。Trim命令在ATA命令集中,被称为TRIM,在SCSI命令集中被称为UNMAP。
Trim,就是操作系统在删除文件时,直接告诉固态硬盘删除操作,而不只是在文件系统中标记一下。例如,操作系统删除200MB文件,通过Trim告诉固件,那么固件就直接将对应200MB的NandFlash擦除。这样写的时候,就不用进行过多搬移,尤其是针对无效数据的搬移。
所以Trim主要有两个作用:
将擦除操作从覆盖写移到删除操作时。
将对无效数据的搬移操作直接消除掉。
Trim的效果必须是操作系统与固态硬盘匹配,才能发挥效果。windows7默认状态下trim指令是开启的,如果想查询目前的trim指令状态,我们可以在管理员权限下,进入命令提示符界面,

  • 输入“fsutil behavior query disabledeletenotify”,之后会得到相关查询状态的反馈。
  • 提示为“disabledeletenotify=0”即trim指令已启用;
  • 提示为“disabledeletenotify=1”即为trim指令未启用。
  • 输入“fsutil behavior set disabledeletenotify 0”,启用TRIM功能。
  • 输入“fsutil behavior set disabledeletenotify 1”,关闭TRIM功能。

4. 补充

传统机械硬盘没有TRIM,也不需要TRIM。但是最新的机械硬盘,为了追求更高的容量,采用了SMR(叠瓦式磁记录方式),这就导致写的时候需要写更宽的磁道,也就是说写的时候,如果当前磁道相领磁道有数据,
也是需要有一个相应的搬移操作,这同样影响写速度。为了避免这种情况,主要是删除文件时,需要提前完成一个搬移操作,以此来避免影响写时的速度。所以此种方式的机械硬盘也是可以响应操作系统的Trim指令,并且有良好的效果。

SSD Trim介绍相关推荐

  1. MAC OS X 10.9.X下用命令行开启SSD trim的方法汇总

    From: http://www.jb51.net/os/MAC/238531.html 网上有很多MAC OS X开启trim的教程,但都是老系统的了,并不支持现在的10.9.X版本,经过一番研究, ...

  2. SSD网络接口介绍(包含完整代码)

    SSD网络接口介绍 1. Keras SSD结构 2. ssd_net.py 3. ssd_layers.py 4. ssd_utils.py 1. Keras SSD结构 SSD300网络结构 网络 ...

  3. 什么是SSD TRIM (by quqi99)

    作者:张华  发表于:2016-03-23 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 普通 ...

  4. 关于SSD Trim功能

    TRIM指令是微软联合各大SSD厂商所开发的一项技术,属于ATA8-ACS规范的技术指令.   TRIM是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令.当相关页面的数据可以被覆盖时,操 ...

  5. 教你铁威马NAS开启SSD TRIM提升速度

    如果卷全部由 SSD(固态硬盘)构成,建议你启用 SSD TRIM.此功能可提升 SSD 上所创建卷的读写性能.提高效率以及延长 SSD 的使用寿命. 启用 SSD TRIM TOS 桌面-控制面板- ...

  6. SATA SAS SSD 硬盘介绍和评测

    SATA SATA的全称是Serial Advanced Technology Attachment,是由Intel.IBM.Dell.APT.Maxtor和Seagate公司共同提出的硬盘接口规范. ...

  7. (训练一)王朗自然保护区---目标检测数据集介绍  balancap/ssd训练介绍

    1数据集准备 1 王朗DIY 2 这个数据集要放在ssd目录下: /home/hp/z../Tensorflow/Deeplearning/SSD-Tensorflow-master 我们使用的tf框 ...

  8. SSD 通俗易懂介绍

  9. 【整理】SSD的TRIM指令作用与GC关系

    声明:内容来自网络+自我整理 TRIM(disable delete notify,禁用删除通知),是为了增强SSD主控垃圾回收效率.解决硬盘降速问题而引入的ATA指令.其正常工作的三个前提:操作系统 ...

最新文章

  1. 第六课.NLP文本分类任务
  2. ubuntu18.04.4 pip3 换清华、阿里、豆瓣 源
  3. mysql 触发器 for each row 理解_“for each row”如何在mysql中的触发器中工作?
  4. pat乙级 1014 java_pat乙级1014 福尔摩斯的约会
  5. WIFI,WiMAX和WAPI
  6. 程序员最想要十八般武艺俱全的“保姆型”项目经理!
  7. VDI ROI不包括硬成本节约
  8. python培训班骗局-深圳盐田区python专业培训机构,真实经历分享
  9. [原创]一篇无关技术的小日记(仅作暂存)
  10. java小数正负数据类型_Java - day001 - 8种基本数据类型
  11. 简单几步配置gitlab
  12. html grid插件,grid.html
  13. 外星人双系统ubuntu18.04安装killer E3100网卡驱动
  14. kjb文件 解析_十四期全国BIM一级考试真题及解析
  15. sumif单列求和_Sumif、Sumifs单列多条件求和
  16. android的otg功能,Android实现OTG功能
  17. factorytalk找不到OPC服务器,simatic net 做远程opc服务器问题
  18. FreeMarker的基础操作
  19. active控件读取服务器文件,Delphi下利用ActiveX控件读取PDF文件
  20. python制作录屏软件_【Python成长之路】用python制作一款录屏小工具(1)

热门文章

  1. 《老路用得上的商学课》21-30学习笔记
  2. 微信小程序日期选择器控件xxxx-xx-xx格式
  3. PgSql时间格式转换
  4. UVA - 10041 Vito's Family
  5. DS18B20数字温度计 (一) 电气特性, 寄生供电模式和远距离接线
  6. 一元线性模型用R语言进行拟合
  7. 同个网络计算机之间怎么共享,在局域网环境下的多台电脑之间如何实现文件共享需求呢?...
  8. 五款免费开源的语音识别工具
  9. 使用token验证登录信息,把token存到数据库中
  10. Java #JDK下载以及环境配置