mis*_*256 18 ssd hard-drive partitioning advanced-format
我有一个 SSD,它可以配置为以两种不同的方式向操作系统报告其物理扇区大小:
选项 1:逻辑 = 512 字节,物理 = 512 字节
选项 2:逻辑 = 512 字节,物理 = 4096 字节 (4K)
考虑到 4K 物理扇区大小,操作系统可以获得什么好处:
操作系统必须以 512 字节的扇区与驱动器通信,无论如何
所有现代操作系统都与 4K 对齐并使用 4K 或 4K I/O 的倍数,无论如何
该设置似乎毫无意义,因为现代操作系统已经针对 4K 扇区驱动器进行了优化。现代操作系统不需要“询问”驱动器的扇区是 512b 还是 4K,因为默认情况下,操作系统以 4K 友好的方式执行所有操作。
例如,Windows 7 将分区对齐为 1MB(4K 的倍数),NTFS 簇大小为 4K 或其倍数,所有 I/O 均以 4K 或其倍数进行。Windows 不在乎你有什么硬盘,它会在所有情况下应用上述行为。
无论如何……我的 SSD 有这个“物理扇区大小”设置,所以它必须存在有一些很好的理由……这就是我正在寻找的原因。
顺便说一句,就其价值而言,该驱动器是Intel SSD DC S3510。驱动器的数据表说明了这一点(第 27 页):
通过使用 SCT 命令 0xD801,State=0,Option=1,ID Word 106 可以从 0x6003 更改为 0x4000(4KB 物理扇区大小到 512B 物理扇区大小支持更改)。
bwD*_*aco 16
当旧操作系统尝试写入高级格式磁盘时,可能会出现性能问题,因为写入的逻辑扇区可能与物理扇区不匹配。
[...] 硬盘必须首先读取包含主机写入请求目标位置的整个 4K 扇区,将现有数据与新数据合并,然后重写整个 4K 扇区:
在这种情况下,硬盘驱动器必须以读取 4K 扇区、修改内容然后写入数据的形式执行额外的机械步骤。这个过程称为读-修改-写循环,这是不可取的,因为它对硬盘性能有负面影响。
传统上,硬盘上的第一个分区从扇区 63 开始。Windows XP 和较旧的操作系统以这种方式对磁盘进行分区。较新版本的 Windows 将在 1 MB 边界上创建分区,确保与物理扇区正确对齐。这称为对齐 0。
由于 LBA 63 不是 8 的倍数(8 个 512 字节的旧扇区适合一个 4K 扇区),以旧方式格式化的高级格式化磁盘将具有簇(文件系统数据分配的最小单位,通常大小为 4K ) 未与 4K 磁盘上的物理扇区对齐,这种情况称为Alignment 1。因此,原本涉及 4K 数据的 I/O 操作现在跨越两个扇区,从而导致读取-修改-写入操作,从而降低性能。
数据中心通常具有由传统 512n 驱动器组成的存储阵列。4K 驱动器,即使是模拟 512 字节扇区的驱动器,也可能与此类阵列不兼容,因此此功能是确保兼容性所必需的。请参阅此论坛主题:
我们不能只将 4K 驱动器插入格式化为 512b 磁盘的阵列中。许多阵列(最著名的是基于 ZFS 的存储,随着软件定义存储的兴起而越来越流行)不接受具有不同物理扇区格式的替换驱动器。
请注意,如果将驱动器配置为使用 4K 扇区,则在现代系统上将获得更好的性能。
如果操作系统知道底层物理扇区大小,它可以优化其查询以需要尽可能少的物理操作。特别是对于 SSD,物理操作限制(4KB IOPS 限制)通常是设备速度的最终限制,因此能够充分利用此容量非常重要。
无论如何,当操作系统必须与 512 字节扇区中的驱动器进行通信时,操作系统通过了解物理扇区大小可以获得什么好处。
逻辑大小是传输数据的最小大小。由于这是一个块设备,主机和驱动器之间的任何数据传输都将是该逻辑块大小的倍数。
物理尺寸是最佳尺寸传输数据,并且反映了实际的尺寸的读取和写入操作中的控制器/驱动电平。
当主机请求读取逻辑扇区时,控制器/驱动器将执行包含逻辑扇区的物理扇区的读取操作。
当逻辑扇区大小等于物理扇区大小时,操作简单。当逻辑扇区大小小于物理扇区大小时,控制器必须从物理扇区中提取逻辑扇区以传输到主机。
当主机请求写入逻辑扇区时,物理扇区的大小很重要。
当逻辑扇区大小等于物理扇区大小时,写操作简单,可以直接进行。扇区先前内容的状态不会影响写操作。
当逻辑扇区大小小于物理扇区大小时,控制器必须先对包含逻辑扇区的物理扇区进行读操作。
如果读取成功,则将逻辑扇区插入到物理扇区中,并将物理扇区完全写入其中。
如果读取不成功(即使重试后),也无法完成写入操作。
如果操作系统使用物理扇区大小(通过利用 ATAPI 命令集中可用的多扇区操作)执行读取和写入操作,则将更有效地执行写入操作(并且没有不必要的不完成机会)。
LOGICAL 扇区大小完全定义了操作系统如何与驱动器通信。没有例外。当您只允许以逻辑扇区大小进行通信时,知道物理扇区大小有什么用?
您关于“无例外”的论点是不正确的。
随 IDE HDD 引入的 ATAPI 命令集始终具有使用sector count参数执行读写操作的能力。这仅仅是现有磁盘和软盘控制器接口的扩展,它们也能够进行多扇区读/写操作(只要扇区在同一轨道上)。
| 归档时间: |
|
| 查看次数: |
21712 次 |
| 最近记录: |