Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

According to palimpsest on my new OCZ Vertex 3 120 GB SSD, S.M.A.R.T. attribute ID 234 is

Uncorrectable ECC Count

Number of uncorrectable ECC errors

[Screenshot of <code>palimpsest</code> displaying SMART data on KDE]

I've been watching this value, and it has been increasing since it read 78.

Then, I ran smartctl -a /dev/sda and saw this:

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

It looks like OCZ assigned ID 234 as something else, and the uncorrectable errors by ECC are actually ID 195.

My question is...

What is SandForce_Internal for S.M.A.R.T. attributes 233 and 234?

share|improve this question
up vote 4 down vote accepted

It has been a while since this question was first asked, but it's still relevant, because this info is still a little tough to track down on the web, so here is a little more info.

I have these same two mystery SMART attributes on my Kingston HyperX Fury, which uses the Sandforce SF-2281 controller.

As already stated, these two numbers track "Host Writes" (234) and "NAND Writes" (233).

These SMART attributes keep track of the wear level on the SSD's Flash memory by recording how much data has been written to the drive.

The reason that two different attributes are needed, is because the SandForce 2000 series controllers try to maximize the life of the Flash Memory by applying "Durawrite" data compression to the data your operating system sends to the hard drive BEFORE it writes it to the actually Flash Memory.

Then when your O.S. reads the data, the controller transparently decompresses the data so that bit-for-bit it is identical to the original.

The reason they do this is that by compressing the data stored on the drive, they can write fewer bytes to the Flash Memory over the life of the drive, which causes less wear and tear and makes the Flash Memory Chips last longer.

... but not ALL data is compressible, so sometimes "Durawrite" compression is really effective, and sometimes not so much, so these two attributes keep track of how much benefit you are getting from the compression.

Here's how they work...

The HOST Writes (attribute 234 on my Fury) duplicates the "LBAs written" attribute (241 decimal on my Fury SSD) and returns the same value, which just keeps track of the TOTAL amount of data, in Gigabytes, that your Operating System has written to the SSD during its full life since first installed.

"NAND Writes" (attribute 233), shows how effective "Durawrite" was at compressing the data by showing the TOTAL number of Gigabytes of data that was ACTUALLY WRITTEN (after compression) to the NAND Flash Memory.

Normally the "NAND Writes" will be smaller than "HOST Writes" with the ratio being controlled by how compressible the data you store on your hard drive is. Things like your browser cache (HTML) compress really well, but already compressed formats like ZIPPED data, JPGs, MP3s, and H264 or MPG video don't compress much at all because they are already highly compressed, so if the drive is used mainly to store that kind of data, HOST Writes and NAND Writes will be almost the same.

Remember BOTH numbers are in Gigabytes, and neither one is associated with a problem of any kind, they just help you keep track of total SSD usage. With 3K cycle Flash chips a 240 Gigabyte HyperX Fury 3K can survive more than 700 terabytes of total writes (700,000 Gigabytes) even for non-compressible data.

share|improve this answer
I have a Kingston SV300S37A60G (60GB) that I use as root drive on a server. Little writes, mostly logs, and some package update (it's not linux, not many updates). After 22k hours of use, my 177 Wear_Range_Delta is 7 (an average of 7 writes per cell), the 233 Sandforce_internal is 9092 and both 234 Sandforce_Internal and 241 Lifetime_Writes_GiB are 5161. Value 242 Lifetime_Reads_GiB is lower, 2329 (of course memory cache works well). In my case according to your explanation I have almost twice NAND writes compared to host writes??? that's strange. – OlafM Oct 16 '15 at 14:42
@OlafM: I have exactly the same situation on a Corsair Force 3 120GB one. My current guess is: The data used on the device isn't compressible and the device needed for writes due to garbage collection/reordering. But really, I don't know. – Elrond Jan 24 at 20:22

The SandForce_Internal attributes correspond to Host writes and NAND writes, with the larger value being Host writes. Host writes is the amount of data the controller was told to write whereas the NAND writes represents the amount of data the controller actually wrote.

share|improve this answer
Could you elaborate on your answer and clarify what units the values are measured in? And I just checked the values for attributes 233 and 234 again. Their values are now 798 and 586, respectively. The larger value now belongs to attribute 233. What does this mean? – Deltik Nov 15 '12 at 23:05
@Nunyo great info, thank you! – randomstring Apr 17 '13 at 23:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .