什么是4K对齐
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
什么是4K对齐
什么是4k对齐?
硬盘分区的时候有一个东西叫做物理存储单元,俗称簇。分区的时候可以指定这个大小。这个簇不是硬盘的物理结构,而是使用方法。随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4k扇区”。随着ntfs成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以,有了“4k对齐”的概念。
传统硬盘的每个扇区固定是512字节,新标准的"4k扇区"的硬盘,硬盘厂商为了保证与操作系统兼容性,也将扇区模拟成512b 扇区,这时就会有4k扇区和4k簇不对齐的情况发生。所以就要用“4k对齐"的方式,将硬盘模拟扇区对齐成“4k扇区”。“4k对齐”就是将硬盘扇区对齐到8的整数倍个模拟扇区,即512b*8=4096b,4096字节即是4k。所以只要是8的倍数都是4k 对齐了。
什么是4k?
绝大多数的机械硬盘默认是512字节的扇区,采用的是dram 作为存储介质;
而机械硬盘,无论是slc颗粒还是mlc颗粒,都属于nand闪存存储单元。
这种硬盘的扇区是4k,这就是4k的由来!
由于win98和win xp大多数采用fat格式。
这种格式具备32位、16位磁盘格式相互兼容所以被大多数朋友采纳作为系统盘。
但是到了vista时代,已经不需要16位的dos了,所以全部采用了纯32位的ntfs格式,ntfs格式也升级到了第五代。
其实xp时代就有ntfs,虽然这种格式性能更高更安全,但是兼容性差,所以一直不作为系统分区,一般作为存储分区。
ntfs格式有一个特性,那就是起始簇的位置!
ntfs分区起始位置不是从0开始,而是从lba63开始,就是第六十三个扇区开始开始存储。
而且nfts默认认为扇区是512字节大小,而不是智能调节到第六十三个扇区。
这样问题就来了,63个扇区×512字节=31.5k,也就是说,磁盘的前31.5k是不能被使用的。
使用机械硬盘就算了,使用固态硬盘,存储第一个字,也需要占用31.5k-35.5k之间的磁盘扇区。
最过分的是这样子排列下去,恰好每到一个扇区的4k位置,就会造成一个数据存2个扇区的情况。
而且这样排列,只要到了那个能被4k整除的位置就100%占用了2个扇区,哪怕只写一个字。
固态硬盘无论是mlc还是slc,都是有写入读取次数的,这样
极大的损伤了性能和寿命。
而且,增加了读取次数。
这个时候无论簇是多大,都会造成性能和空间的浪费。
所以这个问题就叫做4k!
什么是簇?
最开始从win98一直到win xp,都是机械硬盘的天下,容量有限。而且绝大多数机械硬盘默认扇区都是512k大小。分区的时候有一个东西叫做物理存储单元,俗称簇。分区的时候可以指定这个大小。这个簇不是硬盘的物理结构,而是使用方法。
这个簇很有意思,一个簇只能容纳一个文件,但是一个簇可以包含多个扇区,当时流行小簇,因为小簇不“浪费”磁盘。
打个比方,比如我的簇是10k,文件是25k,我需要保存这个文件需要占用3个簇;那如果簇是5k,那么我想保存该数据,需要使用5个磁盘扇区单元。显得磁盘利用率更高。
那这么看来,是不是簇越小越好呢?不是!因为一个簇是一个磁盘最小的管理存储单元,如果一个文件读了4个单元和400个单元,你觉得哪个更快呢?
而且目前大容量硬盘已经不在乎那几k了,簇这个东西没必要太小。
4k对齐选扇区数多少适合? (diskgenius扇区数是选8、2048还是4096?)
到了vista时代,ntfs规范已经到了第六代,ntfs格式的起始簇的扇区位置是2m,就是2048k位置,这样无疑是不会造成浪费的,因为可以被4k整除。
到了win7的时代,ntfs格式起始簇的扇区位置是1m,就是1024k的位置,无疑也是可以被4k整除的,不会浪费。这个情况叫做4k对齐。
4k=4096字节。一般扇区大小是512字节,4096/512=8扇区。所以如果要求4k对齐的话,选8个扇区就可以了。当然,任何8的整数倍的扇区个数都满足4k对齐的要求。(如果选8,在paragonalignmenttool中显示是不对齐的,但在as ssd benchmark 中是显示对齐。)
按windows7的2048扇区对齐足可以应付当前99.99%的硬盘。
网上还有一种说法是64位4096扇区,32位2048扇区。但我觉得不论是64位还是32位,一律用2048扇区会更好一些。因为win7时代,ntfs格式起始簇的扇区位置是1m,就是1024k的位置,2048扇区,可以被4k整除的,不会浪费。另外按微软的说法,只要1024的倍数都可以,所以一般选2048扇区即可。
目前流行的硬盘分区专业,如diskgenius,分区助手,它们默认的4k分区都是2048扇区,也就是1024k。