根据palimpsest
在我的新OCZ Vertex 3 120 GB 固态硬盘,SMART 属性ID 234 是
无法纠正的 ECC 计数
无法纠正的 ECC 错误数
我一直在观察这个值,自从读取以来它一直在增加78
。
然后我跑过去smartctl -a /dev/sda
看到了这个:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
195 ECC_Uncorr_Error_Count 0x001c 120 120 000 Old_age Offline - 0/51803881
233 SandForce_Internal 0x0000 000 000 000 Old_age Offline - 51
234 SandForce_Internal 0x0032 000 000 000 Old_age Always - 135
看起来 OCZ 将 ID 234 分配为其他内容,而 ECC 无法纠正的错误实际上是 ID 195。
我的问题是......
SandForce_Internal
SMART 属性 233 和 234是什么?
答案1
自从第一次提出这个问题已经有一段时间了,但它仍然具有相关性,因为这些信息在网上仍然有点难以找到,所以这里还有更多信息。
我的 Kingston HyperX Fury 上也有这两个神秘的 SMART 属性,它使用 Sandforce SF-2281 控制器。
如前所述,这两个数字跟踪“主机写入”(234)和“NAND写入”(233)。
这些 SMART 属性通过记录已写入驱动器的数据量来跟踪 SSD 闪存的磨损程度。
需要两个不同属性的原因在于,SandForce 2000 系列控制器尝试通过在操作系统发送到硬盘的数据写入实际闪存之前应用“Durawrite”数据压缩来最大限度延长闪存的使用寿命。
然后,当您的操作系统读取数据时,控制器会透明地解压缩数据,以便逐位地与原始数据相同。
他们这样做的原因是,通过压缩存储在驱动器上的数据,他们可以在驱动器的使用寿命内向闪存中写入更少的字节,从而减少磨损并延长闪存芯片的使用寿命。
...但并非所有数据都是可压缩的,所以有时“Durawrite”压缩确实有效,有时则不那么有效,所以这两个属性会跟踪您从压缩中获得了多少好处。
它们的工作原理如下...
主机写入(我的 Fury 上的属性 234)复制了“LBA 写入”属性(我的 Fury SSD 上为十进制 241)并返回相同的值,该值仅跟踪自首次安装以来操作系统在 SSD 的整个生命周期内写入 SSD 的总数据量(以 GB 为单位)。
“NAND 写入”(属性 233)通过显示实际写入(压缩后)NAND 闪存的总数据量(以千兆字节为单位)来显示“Durawrite”在压缩数据方面的效率。
通常情况下,“NAND 写入”会小于“HOST 写入”,其比率由您存储在硬盘上的数据的可压缩性控制。浏览器缓存 (HTML) 之类的数据压缩效果非常好,但已压缩格式(如 ZIPPED 数据、JPG、MP3 和 H264 或 MPG 视频)的压缩效果并不好,因为它们已经高度压缩,因此如果驱动器主要用于存储此类数据,则 HOST 写入和 NAND 写入几乎相同。
请记住,这两个数字都是以 GB 为单位的,并且这两个数字都与任何类型的问题无关,它们只是帮助您跟踪 SSD 的总使用情况。借助 3K 周期闪存芯片,240 GB 的 HyperX Fury 3K 可以承受超过 700 TB 的总写入量(700,000 GB),即使是不可压缩的数据。
答案2
SandForce_Internal 属性对应主机写入和 NAND 写入,较大的值表示主机写入。主机写入是控制器被告知要写入的数据量,而 NAND 写入表示控制器实际写入的数据量。
答案3
SmartCtrl 值:
-v 233,raw48,SandForce_NANDWrite_GiB -v 234,raw48,SandForce_HostWrite_GiB -v 241,raw48,Lifetime_Writes_GiB -v 242,raw48,Lifetime_Reads_GiB
所有都以 GiB 为单位进行测量(您会看到内部属性 234 报告的值与公共属性 241 相同)。
该工具的当前来源smartctrl
目前没有命名这 233 和 234 属性,而是使用“SandForce_Internal”。
这可以在其“drivedb.h”数据库文件中修复(该文件使用没有隐藏页眉/页脚的部分声明/*comments*/
,使其可嵌入并可解析为 C/C++ 或 JSON)。
输出示例(带有smartctl -x
):
SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE 1 Raw_Read_Error_Rate POSR-- 120 120 050 - 0/0 5 Retired_Block_Count PO--CK 100 100 003 - 0 9 Power_On_Hours_and_Msec -O--CK 083 083 000 - 15087h+46m+25.780s 12 Power_Cycle_Count -O--CK 099 099 000 - 1074 171 Program_Fail_Count -O--CK 000 000 000 - 0 172 Erase_Fail_Count -O--CK 000 000 000 - 0 174 Unexpect_Power_Loss_Ct ----CK 000 000 000 - 154 177 Wear_Range_Delta ------ 000 000 000 - 5 181 Program_Fail_Count -O--CK 000 000 000 - 0 182 Erase_Fail_Count -O--CK 000 000 000 - 0 187 Reported_Uncorrect -O--CK 100 100 000 - 0 194 Temperature_Celsius -O---K 028 064 000 - 28 (Min/Max 16/64) 195 ECC_Uncorr_Error_Count --SRC- 100 100 000 - 0/0 196 Reallocated_Event_Count PO--CK 100 100 003 - 0 201 Unc_Soft_Read_Err_Rate --SRC- 100 100 000 - 0/0 204 Soft_ECC_Correct_Rate --SRC- 100 100 000 - 0/0 230 Life_Curve_Status PO--C- 100 100 000 - 100 231 SSD_Life_Left PO--C- 100 100 010 - 0 233 SandForce_NANDWrite_GiB ------ 000 000 000 - 13821 234 SandForce_HostWrite_GiB -O--CK 000 000 000 - 18743 241 Lifetime_Writes_GiB -O--CK 000 000 000 - 18743 242 Lifetime_Reads_GiB -O--CK 000 000 000 - 10313 ||||||_ K auto-keep |||||__ C event count ||||___ R error rate |||____ S speed/performance ||_____ O updated online |______ P prefailure warning
注意:这smartctl
最初是一个命令行 Linux/Unix 工具(GPL 许可),但它已本地移植并在 Windows(32 位或 64 位)上完美运行。它可以通过 UI 界面使用,gsmartcontrol
也可以在 Windows GPL 许可上移植。
在我看来,这两种工具都是 Windows 上最好的 SMART 工具,因为它已经在其积极开发中捕获了大多数知名硬盘和 SSD 制造商已经使用的补丁、数据库和测试(西部数据、希捷、三星、东芝/苹果、英特尔、Crucial、金士顿、迈拓、Plextor、SanDisk、Transcend、惠普、JMicron、SandForce、OCZ、Corsair、IBM/联想/日立、富士通、InnoDisk、InnoStor、戴尔、昆腾、LaCie……)