Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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:

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

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

2 Answers 2

up vote 2 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

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.