作者:手机用户2502916411 | 来源:互联网 | 2023-06-22 19:38
一、引语有人说SSD买来一定要先对齐,不然平时用起来会很卡。究竟是真有这种说法还是人云亦云呢?二、4K对齐是什么?我们先来回顾一下机械硬盘的结构。机械硬盘主要由盘片(platter
一、引语
有人说 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.22.对齐分区 2.1 linux查看现有磁盘是否是4k对齐,可以用fdisk -l -u 2.2 windows可以用命令fsutil fsinfo ntfsinfo查看是否4k对齐 2.3 linux如何用fdisk 对齐分区 linux如何用parted进行4k对齐
windows如何进行4k对齐 PS:部分图片来源于网络,参考存储随笔博客。