高级格式化 4K 扇区硬盘的介绍

简介: 硬盘行业正在经历一场变革。多年来,在存储密度大幅增长的同时,作为硬盘设计最主要方面之一的逻辑块格式化大小(也称为扇区)却始终没有变化。

背景

硬盘行业正在经历一场变革。多年来,在存储密度大幅增长的同时,作为硬盘设计最主要方面之一的逻辑块格式化大小(也称为扇区)却始终没有变化。2010 年左右,硬盘公司正在将扇区从传统大小 512 字节迁移到更大、更高效的 4096 字节(一般称为 4K 扇区),国际硬盘设备与材料协会(International Disk Drive Equipment and Materials Association,IDEMA)将之称为高级格式化。

关于高级格式化 4K 扇区硬盘(Advanced Format Disk)的维基百科说明


请注意时间点:

2009 年 12 月,经过与 IDEMA 的通力合作,提名高级格式化作为 4K 字节扇区标准的名称,并获准。同时,所有硬盘制造商承诺,自 2011 年 1 月开始,所发行的台式机和笔记本电脑产品的新型硬盘平台都采用高级格式化扇区格式。

Linux版本 2.6.31 或更高版本的内核支持高级格式化硬盘

Fdisk:GNU Fdisk 命令行实用程序可对硬盘进行分区。版本 1.2.3 和更高版本支持高级格式化硬盘。

Parted:GNU Parted 图形实用程序可对硬盘进行分区。版本 2.1 和更高版本支持高级格式化硬盘。


硬盘对 AFD 4K 支持

支持AFD分三类

4Kn (Native):完全支持 4K byte 扇区格式;

512e (Emulation):虽然先进格式化技术更有优势,但是现有的操作系统有的还不支持 4K byte 扇区格式,硬盘厂商为新出的 4K byte 扇区硬盘准备了一种 512e (Emulation) 的硬盘固件,利用固件来把传统的对于 512 byte 扇区的逻辑访问转换为对于 4K byte 扇区的物理访问;

512n:传统格式的硬盘,只支持512 byte的扇区;

physical_block_size logical_block_size
512n  512 512
512e  4096  512
4Kn 4096  4096
The physical_block_size is the minimal size of a block the drive is able to write in an atomic operation.
The logical_block_size is the smallest size the drive is able to write (cf. the linux kernel documentation).


看硬盘上的logo

512e的logo

image.png

4Kn的logo

image.png


在OS层检查

方法一:


cat /sys/class/block/sdX/queue/physical_block_size
cat /sys/class/block/sdX/queue/logical_block_size

方法二:

fdisk:
# fdisk -l /dev/sdX | grep 'Sector size'


方法三:


smartmontools since 5.41:
# smartctl -a /dev/sdX | grep 'Sector Sizes:'

方法四:

hdparm since 9.12:
# hdparm -I /dev/sdX | grep 'Sector size:'

方法五

[root@base-test-01 ~]# blockdev --getpbsz /dev/nvme0n1
[root@base-test-01 ~]# blockdev --getss /dev/nvme0n1


网上卖的盘

image.png


对缺少 4Kn的困惑

按照IDEMA的规定,从2011年1月起,所有的硬盘都应该是AFD,但现在我们公司目前没有 4Kn 的硬盘,在淘宝和京东上没有找到 4Kn 盘的(logo和说明都没有),512e的盘倒是有一些,见上面的图。亚马逊上的硬盘全部注明是 4Kn,有一些有logo,有的没有。


512e的坑

在512e的硬盘上扇区的read-modify-write (RMW)

在512e的硬盘上,当要向硬盘写的数据小于4K时,会先把4k的一个扇区的数据读出,修改相应的部分后在写入。这个过程称之为read-modify-write (RMW),也有人叫写放大。这三种硬盘格式只有512e可能会出现这个现象


image.png


逻辑扇区和物理扇区不对齐的现象

由于512e硬盘的本身的缺陷,可能会发生逻辑扇区和物理扇区不对齐的现象,如下图:

image.png

如果发生这种现象,会让一次读写变成两次,同时会增加read-modify-write (RMW),也有人叫写放大的现象,造成IO性能大幅下降。避免的方法很简单,对硬盘不分区。

如果随机的在 512e 硬盘上创建的分区,发生物理扇区和逻辑扇区不对齐的可能性高达7/8,因此我们要高度重视这个问题,由于物理扇区和逻辑扇区的读写转换是在硬盘的固件(firmware)里面进行转换的,在OS层并不知道,最好的解决办法是不使用 512e 的硬盘。


相关文章
|
6月前
|
存储 Windows
怎样格式化硬盘?四种硬盘格式化方法(含详细图文步骤)
这篇内容介绍了硬盘格式化的方法,包括为何要格式化硬盘(如快速清空数据、建立新分区、修复错误、改变文件系统类型)和四种格式化方式:1) 使用文件管理器,2) 通过磁盘管理器,3) 利用分区工具DiskGenius,4) 使用diskpart命令。在执行格式化前,务必备份重要数据,因为格式化会导致数据丢失。
|
11月前
硬盘分区与格式化
硬盘分区与格式化。
39 1
磁盘格式化
磁盘格式化
100 0
硬盘被格式化了怎么找到文件??
格式化是很常见的数据恢复案例故障,如果被格式化的盘是有重要的资料,那么一定要注意马上停止往这个盘写入文件
硬盘被格式化了怎么找到文件??