So I got the dump and I looked at the data, here is what I sent
@NugentS
There is conflicting information, got to love those drive manufacturers:
Percentage Used Endurance Indicator = 15, meaning 15% of the drive is used.
ID 231 which is also a media wear indicator for most drives = 97, meaning 97% good.
Media_Wearout_Indicator = 100, meaning your value is 100% not used.
The script looks at these values in this order and if one of the values exist, it stops looking for other values. In this case the Percentage Used Endurance Indicator has a value so the script stops looking there.
Why do I use Percentage Used Endurance Indicator first? Because I have found it to be the most accurate when it’s present. The descriptions of it have not waivered.
So lets look at some additional data to see if we can figure out which one is most likely correct…
You have:
Blocks = 250069680
Bytes = 128035676160
Logical_block_size = 512
Physical_block_size = 512 (good thing this is not 4096 for a 4K block)
--- math results are you have a 128GB drive. I multiply blocks * block size to get my value, I could take bytes and just divide it, either way works to get 128GB for your drive. I have run into drives that do not have the “bytes” value which is why I multiply.
Unused_Rsvd_Blk_Cnt_Tot = 100 (meaning none have been used, this value is normalized)
Logical Sectors Written = 7155013221 (this is actual value, the math is this value * Logical Block Size = 3,663,366,769,152, or 3.66 TB)
Total_LBA’s_Written = 100 (I suspect meaning you are 100% good, this value is normalized)
Unfortunately you do not have a value for blocks erased which would allow us to know how many erase events remain, or how many blocks are failed, but since the unused reserved blocks are still at 100% (actual value is 60) then I have to assume you have no failed blocks yet. I do not know if 60 is the starting number of blocks or maybe it was 65 and 5 blocks are bad, the data does not give me a starting point.
Now for some assumptions: The typical number of erase cycles is 3000, but that is completely dependent on the flash memory in the device but 3000 is a good number to start with. I do know there are some flash memories with 2500 erase cycles and some up to and over 5000 erase cycles, but the really high values are expensive. If we assume 128GB * 3000 then that means you can erase and write approximately 384 TB of data, well it’s not data it’s 384GB worth of blocks written. Some data may consume only a few bytes of a block but the entire block gets erased so it counts as 512 bytes of data written. You only have 3.66 TB as of right now so it looks like you have used up approximately 1% of your erase cycles.
This all leads me to believe that the either ID 231 or ID 233 are more correct. But am I correct in my assumptions? This is why I use ‘Percentage Used Endurance Indicator’ as it has been more trust worthy in the past. Heck, it might actually be correct for your drive but my gut says you are either 97% or 100%.
I really wish the manufacturers would standardize these values, maybe someday? I’m not holding my breath.
If I could create a formula that would identify which value is more accurate, I would, however if it works for one person, it will likely fail for someone else.
My advice: Keep an eye on it. When this value drops significantly please toss me another dump so I can analyze the data again. Maybe I will figure out the true value and be able to create some formula like, if multiple values exist, then calculate erase cycles and choose the most likely correct value. It sounds easy in my mind but in practice, it’s never that easy.
Sorry I could not provide you a definitive answer but unfortunately I can only work with the data provided by the drive.
I also invite comments, good or bad, but if you have something negative to say about my process, please provide a viable alternative/solution. I'm absolutely willing to learn and adapt. My goal has always been to create the best script I can.