Arch-Linux

NVMe 中的扇區大小錯誤

  • October 6, 2019

我買了一個新的 NVMe SSD ( SB-ROCKET-256) 並安裝了 Archgdisk用於分區。從理論上講,這個SSD不支持512e,我認為物理大小應該是4096,我錯了嗎?我該如何正確設置?分區表如下:

$ parted --align optimal /dev/nvme0n1
GNU Parted 3.2
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: Unknown (unknown)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                   Flags
1      1049kB  273MB   272MB   fat32           EFI System             boot, esp
2      274MB   64.7GB  64.4GB  ext4            Linux x86-64 root (/)
3      64.7GB  69.0GB  4295MB  linux-swap(v1)  Linux swap
4      69.0GB  256GB   187GB   ext4            Linux /home

smarctl 輸出:

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.2.11-1-MANJARO] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Sabrent
Serial Number:                      296E0797013700062530
Firmware Version:                   ECFM12.3
PCI Vendor/Subsystem ID:            0x1987
IEEE OUI Identifier:                0x6479a7
Total NVM Capacity:                 256,060,514,304 [256 GB]
Unallocated NVM Capacity:           0
Controller ID:                      1
Number of Namespaces:               1
Namespace 1 Size/Capacity:          256,060,514,304 [256 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            6479a7 2223093330
Local Time is:                      Sat Oct  5 14:51:26 2019 CEST

據我了解,扇區大小是自動設置的,應該是最佳的。這是最優的嗎?

如果您訪問Sabrent 的 SSD 下載頁面,您會發現一個名為“SSC 軟體”的軟體包——即扇區大小轉換器。

有了它,您可以將 SSD 呈現給系統的塊大小切換為 512 或 4096 字節,但切換過程會破壞目前儲存在 SSD 上的所有數據。

要查看系統對塊大小的目前想法,請執行lsblk -t. 對於真正的 512 字節儲存設備(據核心所知),您應該看到 PHY-SEC、LOG-SEC 和 MIN-IO 的值都為 512。

對於 512e 設備,您將看到 MIN-IO 和 PHY-SEC 為 4096,而 LOG-SEC 為 512,這表明系統知道如果以 4k 字節的塊訪問該設備將獲得最佳性能,即使它目前正在模擬經典的 512 字節塊大小。

對於真正的 4k 設備,所有三個值都應為 4096。

引用自:https://unix.stackexchange.com/questions/545245