推荐系统下载

硬件百科
您的位置:首页 > 系统下载 > IT知识 > 硬件百科
2014-03-09 00:00:00
固态硬盘分区
[文章导读]因为固态硬盘的构成和机械硬盘有实质的不一样,固态硬盘要达到真实的性能发挥需要TRIM指令这些特别的手法。不过很多人并不明白,或并没有留意的是,在某些较新的固态硬盘之外,分区

因为固态硬盘的构成和机械硬盘有实质的不一样,固态硬盘要达到真实的性能发挥需要TRIM指令这些特别的手法。不过很多人并不明白,或并没有留意的是,在某些较新的固态硬盘之外,分区以及格式化对于固态硬盘也有着十分重要的影响。若是您只是简便地用XP或一些较古老的用具对固态硬盘进行分区和格式化,最后的性能或许会只有几分之一!

注:Intel的固态硬盘在控制器表面上就这个问题进行了自助补偿,所以如果您使用的是Intel的固态硬盘的话,可以关闭本文章。

一.、问题的根源

问题的源头要从固态硬盘的构成部分,闪存开始。现在的很多闪存的组织构成是划分为很多个512KB的块(Block),而每个块又是很多以4KB为单位的页(Page)构成。就好比国家的行政组织是划分为N多个省,每个省又划分为N多个市区一样。闪存的工作原理决定了它的擦除操作是以块(Block)为单位,而输入操作是以页(Page)为最小单位。本站的固态硬盘技术专项会让您更多地理解固态硬盘以及闪存。

另一地方,我们的操作系统在管理硬盘时也有一个极小分配单元。NTFS的默认的最小分配单元的大小刚好就是4KB,这很好。可是问题出现在,在进行分区时寻常不是重新开始的,是有个偏移值。例如使用WindowsXP的分区工具的话,这个偏移值会给分区从一页的中部开始。换句话说,操作系统的最小分配单元和固态硬盘的页相互错位了。这样导致造成的结果就是,操作系统每次写一个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-i1。(注:这里面的1应根据您在前面看到的数值来输入。),回车后diskpar会输出类似下面的信息:

----Drive1GeometryInfomation----

Cylinders=4139

TracksPerCylinder=240

SectorsPerTrack=63

BytesPerSector=512

DiskSize=32041820160(Bytes)=30557(MB)

最后一行显示的是硬盘的大小,比如例子中的30557(MB)是个30G的硬盘。如果您的结果算出来和您的硬盘大小不同,请再次到控制面板中确认硬盘号。如果无法确认硬盘号的话,最好就此打住,不然您可能会擦除掉电脑中其他硬盘的数据。

键入diskpar-s1,这时会有如下显示:

Setpartitioncanonlybedoneonarawdrive.

YoucanuseDiskManagertodeleteallexistingpartitions

Areyousuredrive1isarawdevicewithoutanypartition?(Y/N)

请确认您之前已经删除这个固态硬盘上的所有分区,按下Y。

----Drive1GeometryInfomation----Cylinders=4139

TracksPerCylinder=240

SectorsPerTrack=63

BytesPerSector=512

DiskSize=32041820160(Bytes)=30557(MB)

Wearegoingtosetthenewdiskpartition.

Alldataonthisdrivewillbelost.continue(Y/N)?

Diskpar会显示出硬盘信息以后,警告说硬盘上所有数据将会丢失,再次按下Y。

Pleasespecifystartingoffset(insectors):

这里让您可以设置前面提到的偏移值,请输入128,然后回车。

Pleasespecifypartitionlength(inMB)(Max=30557):

这里让您指定分区大小,假如您就分一个区的话,就直接输入硬盘的容量。

Donesettingpartition.

----NewPartitioninformation----

StatringOffset=65536

PartitionLength=32041304064

HiddenSectors=128

PartitionNumber=1

PartitionType=7

YounowshoulduseDiskManagertoformatthispartition

到这里,分区就完成了!您只需要到前面提到的控制面板中的磁盘管理中对分区进行格式化就可以了。记得分配单位大小选择4096!

三、验证

如果您手里的固态硬盘已经用了一段时间,简单想知道是不是对齐了,或您按照上面的方法进行了操作,但是对操作过程不够安心,怕有什么闪失,有一个简单的方法让您检验您的固态硬盘的分区是否对齐了。

在开始->运行中,键入msinfo32。点击后弹出一个系统信息的框框,点击组件->存储->磁盘,这样会列出您的电脑中的硬盘的全部信息。找到固态硬盘,然后看它的分区起始偏移的值是不是4096的整数倍。若不是的话,您的固态硬盘的性能还有十分大的提升空间。