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


26

我在自己的笔记本电脑和某些服务器上有Samsung SSD。

当我做:

smartctl -a /dev/sda | grep 177

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

# 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

知道如何阅读Wear_Leveling_Count吗?

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

如果考虑“笔记本电脑” Samsung SSD 850 EVO 500GB,则为0,可能会达到100,然后将失败。

如果考虑第一个“服务器” 256 GB, SAMSUNG MZ7TE256HMHP-00000,它已经是最大了吗?会降为零吗?

Answers:


43

金斯敦描述此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个PE周期。


我附上了表“ header”。什么是“当前”价值?是“ VALUE”列吗?
尼克,

@尼克是的,完全是。
Jonno

那与我的经历完全相反。我的新驱动器(Samsung 850 Pro,Samsung 840 Pro)从原始值0开始并从那里上升。实际上,我当前的840 Pro大约一个月前才是97,现在是99。(这是通过Samsung Magician软件查看SMART数据。)
Granger

3
@Granger您是否具有“值”或“当前”列?原始值通常由OEM决定如何处理,而不一定是清晰的数据。注意在示例中提供的OP,其850 EVO的'VALUE'为100,'RAW_VALUE'为0。
Jonno

啊。如果我完全忽略“原始值”列,则更有意义。
Granger

2

SMART报告我的Samsung SM951(AHCI)128GB的预定义条件,在Linux中报告为SAMSUNG MZHPV128HDGM-00000 (BXW2500Q)

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

  • 因为total-bytes-written当驱动器具有指定的75TB的总写入总字节数(TBW)时,该属性报告为1.1TB!这可能是(非常)节省的一面,因为在实际的耐力测试中,类似的(MLC NAND)驱动器全部达到了该数量的600TB
  • 除了wear_level_count警告,没有其他预故障或延误错误或警告的报告,
  • reallocated-sector-count根据该测试,它是良好的故障前指示符,但仍为0。

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

我更喜欢skdump随附的低级实用程序,它与Gnome磁盘libatasmart使用的库相同。

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

sudo skdump /dev/sdc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.