SSD固态硬盘4K对齐操作原因及原理分析(干货科普)
近期,众多网友在微信上就SSD相关问题进行了咨询,对此,我们已撰写了数篇文章,这些文章受到了良好的反馈。
其中有网友问到:SSD固态硬盘为什么要4K对齐?
为此,我们特地为各位搜集并整理了一系列关于SSD固态硬盘4K对齐的科普资料,期待大家能仔细阅读并吸收其中的内容。
NTFS是用于NT操作系统及其后续版本,包括2000、XP、2003、2008、Vista以及7等系统的官方文件系统。
NTFS系统替代了FAT文件系统,为多个操作系统提供了文件系统支持。在NTFS中,对FAT以及HPFS(高性能文件系统)进行了多方面的优化,比如引入了元数据支持,并采用了更高级的数据结构,旨在提升性能、可靠性和磁盘空间的利用率。此外,还增加了诸如访问控制列表(ACL)和文件系统日志等额外功能。该文件系统的具体内容构成了商业机密,并且这一机密已被成功注册为知识产权。
在20世纪90年代初期,双方携手成立了一个合作项目,旨在开发新一代的操作系统。这一合作最终催生了OS/2操作系统,然而,由于双方在诸多关键问题上存在分歧,导致最终分道扬镳,OS/2至今仍归IBM所有。与此同时,另一方开始着手研究NT系统。OS/2的文件系统HPFS具备众多关键特性,随后在开发自家的操作系统过程中,微软的NTFS系统在多个层面借鉴并吸收了这些功能。
NTFS 有五个正式发布的版本:
v1.0版本伴随NT 3.1系统一同推出,并需进行源代码请求,该版本于1993年中期正式发布。
v1.1 版本与 NT 3.5 同步推出,[来源请求]亦于1994年秋季同期问世。
v1.2版本由NT 3.51(发布于1995年夏季)以及NT 4(于1996年夏季发布)所支持,有时亦称作“NTFS 4.0”,此名源于操作系统的4.0版本号。
v3.0 来自 2000(有时称作“NTFS 5.0”)
v3.1 版本源自 XP 系统,该系统于 2001 年秋季发布,亦有人称之为“NTFS 5.1”;2003 年春季,又推出了 2003 版本,亦有人将其称为“NTFS 5.2”;随后在 2005 年中旬,Vista 系统问世,也被称作“NTFS 6.0”;再后来,2008 年初,出现了 2008 版本。而在 2008 年之后,还推出了 7 版本,亦有人将其称为“NTFS 6.1”。
V1.0、V1.1及其后续版本均不支持,这意味着用NT 3.5x系统写入的磁盘在NT 3.1系统中无法被读取,除非通过NT 3.5x的光盘对NT 3.1进行升级,并且增加对FAT系统长文件名的支持。而V1.2版本则增加了对压缩文件、命名流以及基于访问控制列表(ACL)的安全性等功能的支持。
V3.0版本具备磁盘配额管理、数据加密、稀疏文件处理、重解析点功能,同时更新了序列数日志(USN)、美元符号文件夹及其内文件,并对安全描述符进行了优化,使得多个文件能够共享同一个安全设置描述符。
V3.1版本中,通过引入额外的MFT记录数这一机制,增强了主文件表(MFT)的恢复功能,以便修复受损的MFT文件。这一改进措施使得主文件表(MFT)的项得到了扩展。
机械硬盘自早期便将扇区大小设定为512字节,而最新的机械硬盘格式将物理扇区提升至4KB(即4096字节)。目前我们使用的SSD,其page数通常为4KB,下一代25nm的产品则达到8KB。在NTFS6.x规范之前固态硬盘装系统怎么4k对齐,分区起始点通常为63个扇区(相当于31.5KB),这导致用户的首个数据前4KB存储在系统逻辑扇区的31.5KB至35.5KB区间。这种状况持续下去,会使后续所有数据被限制在两个物理扇区(或page)的容量内。众所周知,扇区(或page)是磁盘写入的最小单位,若数据被卡在两个扇区之间,写入时便需执行读-改写操作(对于SSD而言,则是读-擦-写),从而引发性能降低。在VISTA系统之后,操作系统普遍采用NTFS文件系统6.x版本,此时对分区的设定为2048扇区,这样做是为了避免跨越两个扇区,从而防止因扇区未对齐导致的性能降低问题。
应当指出,分区不整齐所产生的影响,还需考虑SSD的固件算法因素。从理论上讲,这种影响对持续性能的影响较小,而对随机读写性能的影响则较大。
分区不对齐造成的差别如下:
主控分区对齐和不对齐的性能差距图
固态硬盘通过运用多通道读写机制来增强其读写效率。就主控芯片而言,当颗粒的4KB页面通过N通道主控处理时,若算法设计较为简便,比如设定每次读写操作的单位为16KB(即4KB乘以N通道),而实际读写量未达到16KB时,便会产生读-改-写的过程。
如上图所示,我们可以观察到SSD的分区存在对齐不当的问题,其读写操作恰巧位于两个16KB的边界上。因此SSD固态硬盘4K对齐操作原因及原理分析(干货科普),为了解决这个问题,必须执行两次读-改-写操作。在这种情况下,完成这些操作所需的时间将是正常情况下的两倍。当系统需要写入4KB数据时,这种情况出现的几率是25%(图中显示,第一个4KB位于边界,接下来的三个分别在16KB范围内,而第五个则又触及下一个16KB的边界),此时性能降至原水平的80%。若将写入请求扩大至32KB,概率将升至8/9,并且随着请求容量的增加,这种差距会逐渐减小。因此SSD固态硬盘4K对齐操作原因及原理分析(干货科普),对于持续速度而言,分区不匹配的影响并不显著。
镁光C300分区对齐和不对齐性能差距图:
C300分区未能正确对齐4KB写入,导致性能显著下滑,这一问题与主控算法紧密相关。算法过度倾向于4KB随机写入,若因对齐不当而偏离了预设的设计规范,那么算法的所有优化效果将不复存在,甚至会产生负面影响。
不管如何说,分区的对齐是为SSD做优化的第一步。
操作:
分区对齐方法最简单的就是:
采用WIN7正版安装光盘或2008 R2正版安装版本固态硬盘装系统怎么4k对齐,而非GHOST版本,进行硬盘分区操作时,系统将自动完成对齐设置。
对于那些特别不倾向于使用Vista、Win7系统且偏好手动分区的用户来说,若想实现分区对齐固态硬盘装系统怎么4k对齐,就必须借助特定的第三方软件。
简单点的就是DISK .操作如下:
请确保起始扇区设置为2048(与Win7格式化一致),并将磁头调整为32个,扇区设置为33个。