为什么80%的码农都做不了架构师?>>>   

如果您正在使用或者准备购买固态硬盘(SSD),肯定会其已经有了一定的了解。由于固态硬盘的结构和机械硬盘有本质的不同,固态硬盘要实现真正的性能发挥需要TRIM指令等一些特殊的手段。不过大多数人并不知道,或者并没有注意的是,除了某些较新的固态硬盘以外,分区以及格式化对于固态硬盘也有着极其重要的影响。如果您只是简单地用XP或者其他一些较老的工具对固态硬盘进行分区和格式化的话,得到的性能可能会只有几分之一! 注:Intel的固态硬盘在控制器层面上对这个问题进行了自动补偿,因此如果您使用的是Intel的固态硬盘的话,可以跳过本文了。

##一. 问题的根源

问题的根源要从固态硬盘的组成部分,闪存说起。目前的绝大多数闪存的组织结构是划分成很多个512KB的块(Block),而每个块又由很多以4KB为单位的页(Page)组成。这就好像我国的行政组织是划分成众多个省,每个省又划分成很多个市一样。闪存的工作原理决定了它的擦除操作是以块(Block)为单位,而写入操作则是以页(Page)为最小单位。本站的固态硬盘技术专题可以让您更多地了解固态硬盘以及闪存。 另一方面,我们的操作系统在管理硬盘时也有一个最小分配单元。NTFS的默认的最小分配单元的大小恰好也是4KB,这很不错。不过问题在于,在进行分区时通常并不是从头开始的,而是有一个偏移值。比如使用Windows XP的分区工具的话,这个偏移值会让分区从一页的中部开始。也就是说,操作系统的最小分配单元和固态硬盘的页之间错位了。这样导致的结果就是,操作系统每次写一个4KB的数据,在实际运行时都有会两次写操作。理想的情况应该是,操作系统的每个最小分配单元都恰好和闪存的一个页对应起来,这样操作系统每次写一个4KB的数据,只需要实际的一次写操作就可以完成。两者之间的性能差距最多可能可以达到两倍! 如果分区时没有对齐,而且格式化时又没有使用4KB作为最小分配单元的话,性能损失可能更大。在国外著名网站Anandtech的测试中,对某顶级固态硬盘使用FAT进行格式话,而且分区时也没有对齐,结果4KB文件的写入性能极其糟糕。换成对齐分区以及4KB的最小分配单元以后,4KB文件的写入性能几乎达到了之前的10倍!

##二. 如何正确地分区和格式化

这个问题的解决方法其实简单得很,那就是使用Windows7的分区工具来对您的固态硬盘进行分区,然后在格式化时使用4KB(4096B)作为分配单位大小即可。微软早已认识到固态硬盘需要操作系统的良好支持,所以在Windows7中加入了TRIM指令和分区对齐等针对固态硬盘的优化。使用固态硬盘的话,Windows7是目前最佳的操作系统选择。 但是如果没有Windows7怎么办呢?在XP和Vista下面,当然还是有办法的,而且并不算复杂。当然,这涉及到重新分区,所以如果您的固态硬盘里面已经有数据的话,会全部丢失,所以需要做好备份。另外,您还需要准备好一个装好系统的电脑。当然,这很简单,先把系统装在另一个硬盘即可,大多数使用固态硬盘的朋友应该都有不只一个硬盘吧? 这个操作可以通过一个免费的工具软件Diskpar.exe来完成,您可以通过微软的官方网站下载到这个软件 把固态硬盘连接到这个PC上,然后进入控制面板,在管理工具->计算机管理->磁盘管理中,找到您的固态硬盘当前是几号盘。比如当前您的电脑中有两块硬盘的话,固态硬盘可能是1号盘。记下这个号码。另外,把所有分区都删除,进行之前请备份好数据。 在开始->运行中,键入CMD。在跳出来的命令行窗口中,来到您放置diskpar.exe的文件夹。首先您可以通过diskpar来再次判断一下这个号码是不是正确的。键入diskpar -i 1。(注:这里面的1应根据您在前面看到的数值来输入。),回车后diskpar会输出类似下面的信息: ---- Drive 1 Geometry Infomation ---- Cylinders = 4139 TracksPerCylinder = 240 SectorsPerTrack = 63 BytesPerSector = 512 DiskSize = 32041820160 (Bytes) = 30557 (MB) 最后一行显示的是硬盘的大小,比如例子中的30557(MB)是个30G的硬盘。如果您的结果算出来和您的硬盘大小不同,请再次到控制面板中确认硬盘号。如果无法确认硬盘号的话,最好就此打住,不然您可能会擦除掉电脑中其他硬盘的数据。 键入diskpar -s 1,这时会有如下显示: Set partition can only be done on a raw drive. You can use Disk Manager to delete all existing partitions Are you sure drive 1 is a raw device without any partition? (Y/N) 请确认您之前已经删除这个固态硬盘上的所有分区,按下Y。 ---- Drive 1 Geometry Infomation ---- Cylinders = 4139 TracksPerCylinder = 240 SectorsPerTrack = 63 BytesPerSector = 512 DiskSize = 32041820160 (Bytes) = 30557 (MB) We are going to set the new disk partition. All data on this drive will be lost. continue (Y/N)? Diskpar会显示出硬盘信息以后,警告说硬盘上所有数据将会丢失,再次按下Y。 Please specify starting offset (in sectors): 这里让您可以设置前面提到的偏移值,请输入128,然后回车。 Please specify partition length (in MB) (Max = 30557): 这里让您指定分区大小,假如您就分一个区的话,就直接输入硬盘的容量。 Done setting partition. ---- New Partition information ---- StatringOffset = 65536 PartitionLength = 32041304064 HiddenSectors = 128 PartitionNumber = 1 PartitionType = 7 You now should use Disk Manager to format this partition 到这里,分区就完成了!您只需要到前面提到的控制面板中的磁盘管理中对分区进行格式化就可以了。记得分配单位大小选择4096!

##三. 验证

如果您手里的固态硬盘已经使用了一段时间,只是想知道是不是对齐了,或者您按照上述方法进行了操作,但是对操作过程不够放心,怕出什么错,有一个简便的方法让您验证您的固态硬盘的分区是不是对齐了。 在开始->运行中,键入msinfo32。回车后跳出一个系统信息的窗口,选择组件->存储->磁盘,这里会列出您的电脑中的所有硬盘的信息。找到固态硬盘,然后看它的分区起始偏移的值是不是4096的整数倍。如果不是的话,您的固态硬盘的性能还有很大的提升余地哦!

转载于:https://my.oschina.net/csmw00/blog/717352

如何正确地给固态硬盘(SSD)分区相关推荐

  1. ssd固态硬盘怎么分区

    我们在生活当中经常都遇到各种各样不知道该怎么解决的问题,就比如说ssd固态硬盘分区这个问题,这个问题就是想多的小伙伴是不知道该如何解决的,所以小编今天就来将ssd固态硬盘分区的操作方法来分享个大家. ...

  2. 迁移操作系统:如何把系统迁移到固态硬盘SSD?

    如何把系统迁移到固态硬盘SSD?很多人新买了固态硬盘之后不知道如何操作才能将现有的操作系统的所有数据完完整整迁移到新的固态硬盘上,还有的人甚至不知道还能这样迁移,直接就重装了系统,之后又进行一系列拷贝 ...

  3. 联想笔记本G510升级固态硬盘(SSD)血泪教程!!!

    #联想笔记本G510升级固态硬盘(SSD)血泪教程!!! 用了5年的联想笔记本G510,经过了四年的游戏历程,然后四年后还老当益壮的挣扎在我工作的战斗一线,是我并肩作战多年,比兄弟还要亲的兄弟,虽然此 ...

  4. 固态硬盘(SSD)原理及相关介绍

    1. 什么是SSD 固态硬盘(Solid State Drives),用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片.DRAM芯片)组成.固态硬盘在接口的规范和定义.功能及使 ...

  5. 固态硬盘多大合适 php,固态硬盘(SSD)显示容量为何比真实容量小?

    固态硬盘(SSD)显示容量为何比真实容量小?日期:2017-09-19 浏览次数: 我们都知道用固态硬盘(SSD)来给电脑做一个小升级,这样系统不仅仅会流畅很多,而且会快很多.大家买SSD的时候会遇到 ...

  6. 对固态硬盘ssd进行4k对齐

    别让SSD成半吊子!你真的4K对齐了吗? http://ssd.zol.com.cn/537/5374950_all.html SSD固态硬盘一键分区后如何检测4K对齐? http://pcedu.p ...

  7. 如何用C#检查硬盘是否是固态硬盘SSD

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何用C#检查硬盘是否是固态硬盘SSD. 转载于:https://www.cnblogs.com/fre ...

  8. 1-系统C盘迁移到新买的固态硬盘SSD中有影响但不主要,但有必要将系统盘C盘迁移到新安装的 固态硬盘SSD中吗?

    1,首先要明白2个问题: (1),自己的笔记本中的硬盘是机械硬盘还是固态硬盘,如果是机械硬盘,建议换!因为固态硬盘的读写速度要比机械硬盘快得多!读写速度越快,运行数据的速度就越快,效率越高! (2), ...

  9. 计算机硬盘写入量,如何查询固态硬盘SSD的总写入量?

    如何查询固态硬盘SSD的总写入量? 1. CrystalDiskInfo是用于固态驱动器的SMART信息检测工具. 通过CrystalDiskInfo,通常可以在软件界面的右上角看到SSD的读写卷信息 ...

最新文章

  1. Centos7创建用户并授予sudo权限
  2. MySQL 语法问题:You can‘t specify target table ‘xxx‘ for update in FROM clause. 原因及解决方法
  3. 【uni-app】深度作用选择器解决修改checkbox样式无效问题
  4. 第12章 与Spring集成
  5. 编程命名中的7+1个提示
  6. ubuntu 14 安装XML::Simple 模块
  7. springboot 上传文件_基于SpringBoot的文件上传
  8. 互联网为什么要版权,我支持资源共享。
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的公司人事档案管理系统
  10. v8go 库手动编译 v8 golang 库手动编译
  11. Keras的基本使用(1)--创建,编译,训练模型
  12. 入门需掌握的20个python代码
  13. 昼夜双色导航主题模板 WordPress导航模板
  14. Windows使用ffmpeg教程
  15. 线性同余算法 (LCG)
  16. SCI各领域国际顶尖学术期刊一览
  17. Microsoft Visual Studio 2005中使用水晶报表详细说明
  18. wordpress初体验
  19. 给你看个宝贝:GitHub 最野的开源库,把你拿捏的死死的。。。
  20. 五万字 | Flink知识体系保姆级总结

热门文章

  1. centos7 vim查找_如何在 Vim/Vi 中快速查找和替换文本内容
  2. socket接口调用 java_Java中socket接口调用(示例代码)
  3. 哈佛结构与冯诺依曼结构(含STM32系统结构解析)
  4. 计算机屏幕位置高低,电脑显示器的最佳位置
  5. Swin-Unet跑自己的数据集(Transformer用于语义分割)
  6. 书店图书销售管理系统SSM
  7. uni-APP 联系我们
  8. 自学网络结构(一):Neural Architecture Search With Reinforcement Learning
  9. 【Java基础系列】基本数据类型及包装类
  10. AD操作整理(部分)