- 3
- 0
- 约2.46千字
- 约 9页
- 2017-01-25 发布于北京
- 举报
(固态硬盘分区对齐设置
转个固态硬盘ssd分区对齐的贴子,看下:
/forum/viewthread.php?tid=924167 看了论坛上SSD优化之NTFS分区256K对齐这个帖子之后,仔细想了想,感觉确实有一定的道理,于是就自己实验了一下。/forum/viewth ... highlight=ntfs 提速的原理应该是通过调整第一个NTFS分区的起始位置来保证不会出现NTFS的簇跨越NAND闪存的块(block),从而提高数据读写的效率。具体来说是这样的,SLC闪存芯片的页/块大小是2KB/128KB,MLC的页/块大小是2KB/256KB或4KB/512KB(再早的MLC还有512B/32KB的,不过现在很少见了)。也就是意味着每次可以分别以2KB/2KB/4KB为单位来写入数据,但是每次擦除必须要以128KB/256KB/512KB来擦除数据。因为平衡写入算法的存在,用了一段时间之后的SSD每次写入数据时都必然是先擦除再写入这样一个过程。如果按照XP之前的起始位置放在LBA63(起始位置之前保留512Bx63=31.5KB)的分区方式,将会导致NTFS分区每32(或64或128)个簇(以现在硬盘的大小,NTFS分区几乎全是4KB/簇),就会有一个簇跨越了两个闪存块,当系统正好对跨块的簇进行操作时,就会导致需要擦除两个块之后才能写入数据,或是要分别从两个块来读取这些4KB簇的数据,这就降低了读写数据的效率。通过调整NTFS分区的起始位置,我们就可以避免这种每隔一些簇就有一个跨过闪存块的情况,从而提高读写的效率。这个开始位置应该放在哪里呢?如果只是单通道的闪存设备,只要NTFS分区的开始位置前面空出512KB,也就是开始位置放在LBA1024处,就可以保证128KB/256KB/512KB块大小的闪存芯片都可以实现NTFS分区对齐了。但事实上,几乎所有的SSD都不是单通道的,比如最常见的JM602方案是8通道的,Intel X25-M是10通道的,Intel X25-V是5通道的,这时候应该空出多少呢?实际上,多通道的闪存设备也是把数据拆成一个一个的块,然后分别对每个通道进行读写操作,这个块的大小和所使用的闪存芯片的块的大小是一样的。(关于这一点,大家可以从Intel X25-M和X25-V的4KB写入速度看出端倪。Intel的主控对写入进行了优化,随机4KB写入并不是即时写入,而是在缓存中积累达到256KB(正好是Intel使用的闪存芯片的块大小)后再一次性写入。如果这256KB数据会再进一步拆分然后才写到各个通道的话,10通道的X25-M必然会比5通道的X25-V要快,但实际上却是相差无几,这就说明多通道写入时最小的数据单位也是闪存块的大小。)因此,我们完全可以不考虑设备是几通道的,直接把第一个分区的起始位置设在512KB之后的那个簇,也就是LBA1024处即可。这个操作,XP之前的操作系统自带的分区工具是无法完成的,必须借助第三方工具;但是Vista/Win7的磁盘管理工具和光盘安装的分区界面进行分区时,会自动把第一个分区设在LBA2048处,正好是1024的倍数,因此直接使用Vista/Win7来分区就自动完成了NTFS分区对齐闪存块的操作。PS: 当然也可以根据自己固态硬盘的闪存类型来设置,比如SLC(2KB/128KB)的设在LBA256,MLC(2KB/256KB)的设在LBA512处,MLC(4KB/512KB)的设在LBA1024处等。不过这说起来就麻烦了,建议怕麻烦的直接把硬盘挂在装好Vista/Win7的机器上,使用磁盘管理工具来分一下区就可以了。 原理说完了,Vista/Win7的下分区这边不废话了,现在来看看如何使用第三方工具来操作以及实际效果如何。由于这是对分区进行操作,务必要先备份要进行操作的分区中的数据。只是对第一个分区做操作,可以用WINPE启动计算机,先使用Ghost把第一个分区做个镜像存到后面的分区中去,改好了再Ghost回来即可。因为Windows自带的分区工具无法实现根据LBA地址来分区的操作,这里要使用第三方分区工具,这里推荐DiskGenius。大家可以去其官网下载: http://www.diskman.cc/download.htm 我这里的操作和测试都是以自己手中的一个16GB的U盘为例的,另外也在自己的Sandisk SSD上试过了,确实有所改善。1. 打开主界面,左侧选中要操作的磁盘,右边可以看到当前的第一个分区是从0-1-1开始的,也就是LBA63,右键点击把它删除掉。2. 在删除后得到的空闲空间上右键点击来建立新分区。3. 在建立新分区界面中点开详细参数,把起始磁头设为8,起始扇区设为9,这时下面的起始扇
原创力文档

文档评论(0)