SSD性能优化之4K对齐

简介: 【引语】你是否听人说 SSD 买来一定要先对齐,不然平时用起来会很顿。究竟是真有这种说法还是人云亦云呢?请往下看,相信聪明的你会自有判断。


4K对齐是什么?

那么究竟什么是叫做“4K对齐”呢?


4K对齐相关联的是一个叫做“高级格式化”的分区技术。“高级格式化”是国际硬盘设备与材料协会为新型数据结构格式所采用的名称。


随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以就有了“4K对齐”的概念。


SSD为什么需要4K对齐?

固态硬盘SSD的核心是NAND Flash闪存芯片,其寿命主要有闪存芯片的擦除读写次数决定的,出厂之后,这个读写次数是一定的,那么我们要做的就是优化算法,尽量减少读写次数。


4K对齐就是减少固态硬盘读写次数的有效方法


4K对齐之后好处多多,原理比较复杂,打个比方:


SSD就好比一个大仓库,里面由很多小“房间”组成,每个房间的容量都是一样的(4KB的倍数)。每个房间放入货物(文件)的次数是有限制的(10万次)并且每个房间只能放一种货物。


货物的放入和拿出是由管理员(操作系统)来协调解决的。但是无论货物有多大,管理员都会把这些货物分成好多块放入房间。每块的大小都是一样的(XP系统是0.5KB,win7可以自己定)


没有对齐的仓库,最开始的一个房间被管理员占用了一点的,因此很多文件可能同时占用了两个房间。如果要把货物搬出去就相当于两个房间各使用了一次(寿命)。


对齐过后的仓库,货物分成小块的大小和房间大小一样,放进去非常方便,效率大大提高,提高了房间的使用率。


这里是通俗点描述一下,会和SSD实际工作原理会有小小的偏差。


同时大家也可以看出为什么在固态硬盘SSD上推荐使用win7系统,而不使用XP。XP每次放入0.5KB,效率比较低,发挥不了SSD的优势。但是win7系统则不同,ssd的最小单元是多少(现在4kb比较多)。因此4k对齐实际上也可能是8k对齐,16k对齐......


win7可以把货物分成的快调成和最小单元大小相同,优势显而易见,同时win7还可以告诉SSD,那些房间是空的可以用,那些房间不可以用,这样就少走了不少弯路。


如何查询SSD是否4K对齐

方法有二:

其一,利用window自带CMD:

1. 使用快捷键Win+R或点击"开始"-->"运行",

2. 进入CMD界面,输入“fsutil fsinfo ntfsinfo c:”,

从上图可以看到每个扇区的字节数为512B,每个簇字节数为4096B。


其二,利用软件AS SSD Benchmark查看是否4K对齐。

可以看到“31K-BAD”,说明没有4K对齐。

1. 对于新的,未经分区的SSD,可以借助Disk Genius软件来实现4K对齐。

我们可以利用Disk Genius软件直接建立分区。如果你一块硬盘分了多个区,那么每建一个分区,都要按照下面的方法操作一次!否则就会出现第一个分区对齐了,但是其它分区没对齐的现象。


如何实现4K对齐

下面是软件自己检测硬盘


2. 如果已经分区了,可以利用软件paragon alignment tool实现无损4K对齐。


绿色的硬盘表示已经4k对齐,黄色没有4K对齐的硬盘

对齐开始前要进行一下设置,如下图



然后paragon alignment tool软件就会进行全自动对齐

等它自动完成,它完全之后需要重启电脑转移数据,数据越多,硬盘越大,需要的时间越多,请耐心等待。


验证4K对齐的功效
从对比的图可以看到,4K对齐之后,4K读写的速度得到大幅的提升,得分从301直接提升到836.


相关文章
|
7月前
|
编译器 Linux C语言
C++新特性“CPU优化对齐”
C++新特性“CPU优化对齐”
132 3
ly~
|
2月前
|
缓存 中间件 数据库
FileRun 的性能如何?
FileRun 的性能受网络环境、硬件配置等因素影响。在网络和硬件条件优越的情况下,文件传输速度快,系统响应迅速,资源占用低。面对大量文件或高并发访问,需注意资源分配与系统优化,以维持稳定性和可扩展性。支持插件扩展,可与第三方应用集成,提升文件管理效率。
ly~
61 3
|
4月前
|
Web App开发 API 图形学
QtWebEngine性能问题
QtWebEngine性能问题
170 1
|
JSON 数据库 数据格式
性能和可测试性的选择
性能和可测试性的选择
|
缓存 Ubuntu 网络协议
virtiofs性能
virtiofs性能测试
534 0
|
算法
HIMA F8621A 用于需要高带宽和低噪声性能
HIMA F8621A 用于需要高带宽和低噪声性能
HIMA F8621A 用于需要高带宽和低噪声性能
|
存储 Web App开发 缓存
使用ServiceWorker提高性能
service worker 是一种在独立的处理线程上执行后台任务的 worker,允许用户拦截网络请求并有条件地将其存储在称为 CacheStorage API 的特殊缓存中,此类缓存不同于本地浏览器缓存,因为它允许在用户脱机的情况下从缓存中提供数据,还可以提高页面的性能。其工作原理建议阅读《ServiceWorker工作原理、生命周期和使用场景》
458 0
cudaMemcpy的性能问题
cudaMemcpy的性能问题
239 0
|
算法 测试技术 索引
性能优化技巧 - 位置利用
SPL的特征之一是数据有序,适当地利用位置,可以显著提高性能。让我们先从一个典型场景开始,逐步掌握利用位置的各种技巧。 快速查询对排序后的数据进行二分查找,可以获得较高的性能,但有些算法需用到原始顺序,看上去似乎不该再排序。
1056 0