Linux 和 Windows 报告英特尔傲腾 SSD DC P4801X 系列的物理扇区大小不同

Linux 和 Windows 报告英特尔傲腾 SSD DC P4801X 系列的物理扇区大小不同

我有一个英特尔傲腾 P4801X.它是一款NVMe存储设备。

在 Linux 中,报告的物理扇区大小为512字节:

$ sgdisk -p /dev/nvme0n1
Disk /dev/nvme0n1: 195371568 sectors, 93.2 GiB
Model: INTEL SSDPEL1K100GA
Sector size (logical/physical): 512/512 bytes

在 Windows 中,报告的物理扇区大小为4096字节:

PS c:\> get-disk | select model,LogicalSectorSize,PhysicalSectorSize

model                LogicalSectorSize PhysicalSectorSize
-----                ----------------- ------------------
INTEL SSDPEL1K100GA                512               4096

我很困惑,哪一个才是正确的?

我确实注意到了以下输出smartctl -x

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -     512       8         2
 2 -     512      16         2
 3 -    4096       0         0
 4 -    4096       8         0
 5 -    4096      64         0
 6 -    4096     128         0

答案1

英特尔文章 如何更改 NVMe 驱动器中的逻辑扇区大小 说得很少:

通用英特尔® NVMe SSD 仅支持传统的 512B 和 4096B 扇区大小。

文章中介绍了一种查找(和更改)LBA 格式的方法 如何更改 Intel Optane P4800X 扇区大小。我认为该磁盘与您的型号非常相似。

文章说:

此驱动器的 LBA 格式在出厂时并非最佳。如果您运行:

nvme id-ns -H /dev/nvme1n1

它将显示您:

LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good (in use)
LBA Format  1 : Metadata Size: 8   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good 
LBA Format  2 : Metadata Size: 16  bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good 
LBA Format  3 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0 Best 
LBA Format  4 : Metadata Size: 8   bytes - Data Size: 4096 bytes - Relative Performance: 0 Best 
LBA Format  5 : Metadata Size: 64  bytes - Data Size: 4096 bytes - Relative Performance: 0 Best 
LBA Format  6 : Metadata Size: 128 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best

上述前三种格式效率较低。请注意,更改格式很可能需要重新格式化磁盘。

本文介绍了这些工具的 Linux 版本。它们有可能在 WSL 中工作(尽管在 WSL1 中可能比在 WSL2 中更好),但 Windows 版本也许可以在 英特尔固态硬盘工具

运行该nvme工具,您可能能够找出磁盘所宣传的 LBA 格式,如果它不是列出的“最佳”格式之一,则可以更改它。

由于这是 SSD,我假设实际物理扇区大小为 4K,但 512 和 4096 也都可以。但是,如果操作系统不知道实际物理扇区大小,它将无法有效地处理磁盘。

答案2

您的驱动器很可能是 512e 格式,就像当今生产的大多数驱动器一样:

512e 是一种高级格式,其中物理扇区大小为 4,096 字节,但逻辑扇区大小模拟 512 字节扇区大小。512e 的目的是让新设备与尚不支持 4Kn 扇区的操作系统一起使用。然而,本质上,512 字节模拟涉及设备固件中每个非 4KB 对齐的写入操作的读取-修改-写入过程。

来源

看起来 Windows 能够检测到这一点,并会报告真实的物理扇区大小,并且不会为您提供除它认为最适合您的驱动器的选项之外的其他选项,而 Linux “信任”驱动器固件。或者也许 Linux 想让您选择在 512b 模式下使用驱动器,并假设您有足够的专业知识来评估后果。

相关内容