SSD性能优化----4K对齐

一、引语

有人说 SSD 买来一定要先对齐,不然平时用起来会很卡。究竟是真有这种说法还是人云亦云呢?

二、4K对齐是什么?

我们先来回顾一下机械硬盘的结构。
机械硬盘主要由盘片(platter)、磁头(head)和相应的控制电路等部分所组成。盘片表面镀有磁性物质,二进制位被存储在这些磁性材料上。硬盘工作时,盘片围绕着一根中心主轴(spindle)旋转,磁头在电路控制下移动到指定位置然后将数据存储或读取出来。盘片有两个面,都可以储存数据,因此每个磁盘片对应两个读写磁头。如果有N个盘片,就有2N个面,对应2N个磁头。以盘片中心为圆心,把盘片分成若干个同心圆,每一个划分圆的"线条",就称为磁道(track)。所有盘面上半径相同的磁道构成了柱面(cylinder)。盘片中有多少个磁道,就有多少个柱面。
在这里插入图片描述
每个磁道又被等分为若干个弧段,这些弧段便是磁盘的扇区(sector)。扇区大小是固定的,两扇区之间以间隙(gap)来分割,间隙未被磁化。由于越接近磁盘圆心,磁道就越小,因此每个磁道的扇区数可能是不同的。在一些硬盘的参数列表上可以看到描述每个磁道的扇区数的参数,它通常用一个范围标识,例如373~746,这表示,最外圈的磁道有746个扇区,而最里面的磁道有373个扇区。早期的磁盘规范将扇区大小定义为512字节。然而随着硬盘容量的不断扩展,这一大小已不再能满足硬盘管理和性能提升的需要。为了提高容错能力和硬盘的使用及管理效率,IDEMA(International Disk Drive Equipment and Materials Association)将原来的每个扇区512字节改为每个扇区4096个字节,也就是现在常说的“4K扇区”。支持这一标准的硬盘称为高级格式化(Advanced Format)硬盘。

三、SSD为什么需要4K对齐?

固态硬盘SSD的核心是NAND Flash闪存芯片,其寿命主要有闪存芯片的擦除读写次数决定的,出厂之后,这个读写次数是一定的,那么我们要做的就是优化算法,尽量减少读写次数。4K对齐就是减少固态硬盘读写次数的有效方法。
4K对齐之后好处多多,原理比较复杂,打个比方:
SSD就好比一个大仓库,里面由很多小“房间”组成,每个房间的容量都是一样的(4KB的倍数)。每个房间放入货物(文件)的次数是有限制的(10万次)并且每个房间只能放一种货物。货物的放入和拿出是由管理员(操作系统)来协调解决的。但是无论货物有多大,管理员都会把这些货物分成好多块放入房间。每块的大小都是一样的(XP系统是0.5KB,win7可以自己定)没有对齐的仓库,最开始的一个房间被管理员占用了一点的,因此很多文件可能同时占用了两个房间。如果要把货物搬出去就相当于两个房间各使用了一次(寿命)。对齐过后的仓库,货物分成小块的大小和房间大小一样,放进去非常方便,效率大大提高,提高了房间的使用率。
在这里插入图片描述

四、如何实现4K对齐

1.查看系统中磁盘物理大小扇区和逻辑大小扇区
1.1linux系统
[root@demo ~]# cat /sys/block/vdg/queue/physical_block_size
512
[root@demo ~]# cat /sys/block/vdg/queue/logical_block_size
512
可以看到我的这块测试磁盘的物理扇区大小是512字节,逻辑扇区大小也是512字节,这样我们物理块到逻辑块的映射都是512字节的。
1.2windows系统
如下2.2
2.对齐分区
2.1 linux查看现有磁盘是否是4k对齐,可以用fdisk -l -u
在这里插入图片描述
2.2 windows可以用命令fsutil fsinfo ntfsinfo查看是否4k对齐
在这里插入图片描述
2.3 linux如何用fdisk 对齐分区
在这里插入图片描述
linux如何用parted进行4k对齐

在这里插入图片描述
windows如何进行4k对齐
在这里插入图片描述
PS:部分图片来源于网络,参考存储随笔博客。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值