三星固态硬盘“Wear_Leveling_Count”的含义

Nic*_*ick 43 ssd smart

我在自己的笔记本电脑和一些服务器上安装了三星固态硬盘。

当我做:

smartctl -a /dev/sda | grep 177
Run Code Online (Sandbox Code Playgroud)

我得到了我无法理解的结果。这里有些例子:

# my laptop Samsung SSD 850 EVO 500GB (new)
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count     0x0013   100   100   000    Pre-fail  Always       -       0

# server 256 GB, SAMSUNG MZ7TE256HMHP-00000
177 Wear_Leveling_Count     0x0013   095   095   000    Pre-fail  Always       -       95

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (1 year old)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (suppose to be new)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 480 GB, SAMSUNG MZ7KM480HAHP-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       3

# server 240 GB, SAMSUNG MZ7KM240HAGR-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       11
Run Code Online (Sandbox Code Playgroud)

知道如何阅读Wear_Leveling_Count吗?

有些值在最小值,有些值在最大值。

如果考虑 "laptop" Samsung SSD 850 EVO 500GB,它是 0 并且可能会达到 100,然后会失败。

如果首先考虑“服务器” 256 GB, SAMSUNG MZ7TE256HMHP-00000,它是否已经达到最大值?会降为零吗?

Jon*_*nno 55

金士顿对这个 SMART 属性的描述如下:

平均每个块的擦除/编程周期数。该属性旨在作为即将磨损的指标。归一化方程:100 – ( 100 * 平均擦除次数 / NAND 最大额定擦除次数)

忽略Raw Data这些情况下的(制造商可以操纵它们以不同的方式工作),并查看Current Value列。

来自Anandtech 的这个来源很好地说明了如何使用这个数字:

磨损均衡计数 (WLC) SMART 值为我们提供了所需的所有数据。当前值代表驱动器剩余寿命的百分比,这意味着它从 100 开始并随着驱动器写入而线性减少。原始 WLC 值计算消耗的 P/E 周期,因此如果在写入驱动器时监视这两个值,我们迟早会找到标准化值下降 1 的位置。

所有驱动器都在95到100之间,并且将最终下降到0。这是多少的估计writeeraserewrite每块等周期可能失败之前通过,并在那一刻,你的驱动器中的一个估计到已经使用了它当前预期寿命的 5%。再次,这里的关键词是估计的。

另请注意,您的驱动器可能使用不同的 NAND 技术,因此感知寿命不同。一些 NAND 技术预计每个块可以持续大约 1000 个 PE 周期,其他的可以达到 30,000 个。

  • @Granger 你有“值”或“当前”列吗?原始值通常由 OEM 决定它们的用途,并且不一定是清晰的数据。请注意,在提供的 OP 示例中,“VALUE”为 100,“RAW_VALUE”为 0,表示它们的 850 EVO。 (4认同)
  • @Nick 是的,没错。 (2认同)
  • 啊。如果我完全忽略“原始值”列,那就更有意义了。 (2认同)

小智 6

SMART 报告我的 Samsung SM951 (AHCI) 128GB 存在 PREFAILED 状况,在 Linux 中报告为SAMSUNG MZHPV128HDGM-00000 (BXW2500Q).

但就我而言,我认为这是驱动器的固件错误,

因此,我的建议是检查您的驱动器/系统的这些值,并据此得出结论。

skdump我更喜欢提供的低级实用程序,它与Gnome Diskslibatasmart使用的库相同。

使用以下命令,替换/dev/sdc为块设备的路径:

sudo skdump /dev/sdc

  • 请注意,如果一行被列为“PREFAIL”,这并不意味着该属性**具有**“预失败”,而是它充当潜在的预失败指标(因此,如果它处于不良状态,例如,标准化值较低,您的驱动器可能很快就会出现故障)。 (5认同)