Should I replace my SSD when it has 8 KB of bad sectors?
The SMART values (ie Crystaldisk) say the drive is OK, but not great. (Wear level indicator is 33%) This is a lower cost older model drive, and you are getting what you paid for. (It was released 4-5 years ago)
I don't think its necessary to change the disk yet, but if you don't already have a robust backup strategy, now is a good time to implement it.
Make sure you have a good backup of any important files on that disk.
Then do a chkdsk /R /OfflineScanAndFix
as suggested by JWO0914 in the comments.
If that causes the disk to fail: Now you know for certain it is bad, but at least you have a backup.
If the disk passes check the SMART data in CrystalDisk info again. If those got worse by the chkdsk repair the disk is about to die. Replace it asap. It can die completely anytime. (And Murphy's Law says it is going to happen on a very inconvenient moment.) Until you have it replaced: BACKUPS!
If the SMART data hasn't gotten any worse by the repair you're OK for know. Keep making frequent backups (just in case) and check the SMART numbers occasionally. If they start going up consider the disk broken and replace it.
Main issue with SSD's is they can go from OK to totally broken in a heart beat. On a spinning disk you can usually still recover a large part of your files, but SSD's frequently go completely dead when they fail.
So I can't stress the importance of backups enough!!!
Considering the wear-leveling layer in the SSD firmware, the only possible reason for a bad block to appear is for it to return a read error.
How it is possible:
- A buggy SSD firmware. It happens more than not.
- Very bad data retention, combined with insufficient error-correction data.
- The SSD being a clone of a HDD that had a bad sector mark at the moment of cloning and the cloning is done at block device level and not at a filesystem level.
The last option is rather good, but usually hard to confirm.
The other two mean that the data stored in the disk is at risk and (probably) already corrupted. Depending on the data importance, the reaction may vary between "I don't care, the longer I wait the cheaper is the replacement" and "Backup immediately, transfer the data to another disk".
I am yet to see an SSD to report a bad sector. SSDs get read-only when they exhaust their spare blocks. SSDs sometimes die for good because of firmware bugs or other controller problems.
But bad sectors? Really?
One cannot get a bad block while writing - in contrast with the traditional HDD, the block gets its physical place at the moment it is written. If there happens to be a bad block, the physical write is just repeated elsewhere and the bad block is handled invisibly (it does not get into the spare pool anymore). It is reading that can reveal a block that doesn't compute to its checksum. And even then, a subsequent write to the same LBA address is as good as any other write. The OS has to be absolutely unaware of the existence of SSDs in order to mark the block as bad on a filesystem level.
On the other hand, a read error from an SSD is really a bad thing.
The data is written on the flash media with a lot of error-correcting overhead. Few flipped bits in a 512-byte block are not a big deal because the error-correcting code fixes them transparently.
A read error means that the error-correcting code was unable to rebuild the original data. This amounts to 1% or 2% of the bits flipped. There may still be free spare blocks, but if the data retention of a particular block is this bad, one should not really expect any good.