49

I recently saw Windows 7 pop up a warning or two that I should run chkdsk on my laptop. My laptop came with an SSD and I'm not sure if there are any negative implications to running chkdsk on such a drive. Are there any potential issues with reporting "bad sectors" on the drive? I would imagine that the physical concept of sectors is completely different between a platter and a microchip.

I don't think my SSD supports TRIM. It's about 14 months old and a quick web search seems to hint that it doesn't (though it's nearly impossible to find out this info for sure!). I'm also not sure if TRIM is even relevant here since there shouldn't be much in the way of deletes.

So, how safe is it to run chkdsk on my SSD drive?

The model of SSD that I have is reported as "Samsung SSD PB22-JS3 2.5".

8
  • Why don't you give the exact model of the SSD or laptop? Someone reading might know more about it than you found in your web search.
    – CarlF
    Nov 11, 2010 at 13:24
  • Trust me, there is a LOT in the way of deletes going on behind the scenes. I routinely see drives where checking the SMART data reveals host writes of 10x the drive capacity simply from normal temp files, paging, etc that's accumulated rather than constantly writing and deleting big files.
    – Shinrai
    Nov 11, 2010 at 15:35
  • 1
    Why are people so afraid of doing anything on SSDs? It's as if they were sacred devices that would explode if you were not extremely careful with them! Nov 11, 2010 at 21:02
  • 1
    @iconiK - with the newest breed of SSDs I'm sure that there's very little to worry about. But with the first generation or two of SSDs there were many pitfalls that people were worried about (though not necessarily any actual problems). SSDs in mainstream usage are a very new technology. I bet most people here (on SuperUser) don't realize that things like CDs and DVDs have a shelflife of only a couple decades. You know all those things you backed up on CDs 10 years ago? The bits might be rusting...
    – Eilon
    Nov 11, 2010 at 21:26
  • 2
    @Eilon, right, but the worst thing that can happen you is use a few write cycles on some part of the drive. With cells having tens of thousands of write cycles and smart controllers doing wear leveling and what not, SSDs can be far more reliable than HDDs (and instead of flat failing they go into read-only mode). Nov 11, 2010 at 21:42

7 Answers 7

27

Are there any potential issues with reporting "bad sectors" on the drive?

Conceivably chkdsk could report a sector or three as bad and tell the OS to stop using them. That would slightly reduce the available disk space, but it isn't permanent (you can get it back, with effort). I would be surprised to see chkdsk report an SSD sector as bad though. I wouldn't run chkdsk to find bad sectors though.

So, how safe is it to run chkdsk on my SSD drive?

Shouldn't hurt anything. It is a decent idea if there might have been file system corruption. Possible corruption sources:

  • Unclean shutdown
  • Malicious or benign software that misbehaves.
  • Randomly flipped bits from non-ECC protected poor memory.
3
  • 2
    Doesn't wear-leveling make this completely wrong? It might find a bad memory cell but then the SSD will move that area of the filesystem somewhere else behind the scenes. Also doesn't it test for bad sectors by reading and writing data to every point of the drive, wearing it out?
    – endolith
    Feb 28, 2015 at 2:56
  • The EEC or BCH recorded by an SSD on each memory cell enables it to recover a few flipped bits, and this is probably done when read. The recovery behavior is probably attempting to rewrite the cell, and if that fails, swap it with a good cell and try again. I'm not sure if there are SSDs that don't have the extra space for EEC in the memory cells, as you can't reliably use flash memory without them. Even spinning hard drives have ECC data written on each sector for the same reason.
    – LawrenceC
    Jun 30, 2020 at 19:53
  • @LawrenceC , That's fine, but if you re-read the answer, you will see that I used the term "memory" and, while some refer to storage of any duration as memory, I was referring to the ephemeral RAM. The SSD's built-in error correction may well protect against bit-rot on the SSD, but it can't prevent someone from writing incorrect data in the first place, e.g. by copying it from corrupted (non-ECC) RAM. Jul 1, 2020 at 0:32
16

I'm not sure if there are any negative implications to running chkdsk on such a drive.

No, there will be no negative implications running chkdsk on an SSD.

Are there any potential issues with reporting "bad sectors" on the drive?

Yes, while it's true that SSDs don't have sectors, when you 'wear out' a part of your SSD, the OS reports/sees it as a "bad sector".

So, how safe is it to run chkdsk on my SSD drive?

Actually, you may really not need to run it at all... Modern SSD drives automatically remap worn bits (wear leveling technology). This doesn't guarantee though that your drive is indestructable, coz it will eventually run out of usable bits when you have a bunch of worn bits...

4
  • 3
    "Yes, while it's true that SSDs don't have sectors, when you 'wear out' apart of your SSD, the OS reports/sees it as a "bad sector"." I don't think this is accurate. As iconiK pointed out, if the OS sees bad sectors, the drive is already dying. When a cell is unreadable by the drive controller (CRC fail), it will try to recover it using error correction codes and remap it internally which is transparent to the OS. If the controller fails doing this a read from the OS fails (-> bad sector).
    – georg
    Mar 13, 2011 at 23:22
  • 1
    chkdsk may need to be run if the filesystem structures on the disk are corrupted for some reason. It doesn't always mean you have bad sectors. Other things than bad sectors can cause filesystem corruption.
    – LawrenceC
    Aug 9, 2013 at 11:51
  • This is probably true, but some references would be nice
    – endolith
    Feb 28, 2015 at 2:59
  • Agree with georg. A Samsung 850 EVO SSD in my video surveillance server is reporting bad sectors in chkdsk. Samsung Magician says 104TB have been written to the disk and the SMART button shows "Uncorrectable Error Count: 99" meaning 99 times the drive firmware couldn't read enough data to correct it via CRC and move to a new block. Such errors show up as bad sectors in chkdsk and corrupted about 10 files. More info: techreport.com/review/27909/… Oct 29, 2017 at 16:19
13

While others have focused on hardware part of CHKDSK, I'll a bit write about software part.

While CHKDSK can do a surface scan on a disk which is supposed to find bad sectors, there is other part of the story. It also checks and fixes filesystem problems which may have accumulated. I definitely think that you should run it if windows is reminding you. While new versions of NTFS have various improvements which have reduced need for CHKDSK, there are still cases where it is needed to run CHKDSK.

1
  • Does it actually run a read/write surface scan on the drive though, wearing it out?
    – endolith
    Jun 11, 2015 at 23:20
6

As far as I know CHKDSK only checks if it can read from the drive if you ask it to scan for bad sectors. By that definition an SSD will get bad sectors in just two cases:

  • The controller has dies -> the whole drive is dead.
  • The cell is damaged -> the controller has failed to remap it (all spare space used?)

Note that a cell dying through write cycle exhaustion will go into "read-only mode", meaning data on it can still be read fine until the charge stored dissipates (which is expected to take at least a decade). This would not be a bad sector.

Thus CHKDSK will only warn you about filesystem errors. It does not know or report the health of the underlying drive. For the drive health, you should use a S.M.A.R.T. tool to check the health of the drive.

1
  • 1
    Actually, CHKDSK will tell user about filesystem errors and attempt to fix them.
    – AndrejaKo
    Nov 12, 2010 at 12:57
3

Run chkdsk /f (or equivalent) to fix file system errors. Do not run chkdsk /r as it is not necessary to check for bad sectors. The intensive disk activity for the check is unnecessary wear on the SSD, and is generally recognised as a bad idea.

Note that >= Win8, use /scan and /spotfix instead of /f. Win7 and older still uses /f.

http://www.makeuseof.com/tag/stuck-chkdsk-use-fix-right-way/

2

I ran check disk on a Revo Drive 120GB and lost 30 GB of space to bad sectors. I would not run check disk on a revodrive SSD. But I can not vouch for others.

1
  • 1
    Your loss is probably not inherent of all Revo Drive's.
    – HaydnWVN
    Dec 10, 2012 at 11:37
1

I just ran into this issue.

I ran CHKDSK with the "Scan for and attempt recovery of bad sectors". It found a few files with problems and "fixed" them. I did a raw file comparison of the "fixed" files, and found that sections of the file were ZEROed out.

This was running Windows 7 on a Corsair Performance Pro.

3
  • 2
    But what’s your point? Are you accusing CHKDSK of damaging your files? Because that’s probably not what happened. It looks like some areas of the disk went bad, and the data on them was unrecoverable. CHKDSK restructured your file so that it no longer points to the damaged areas, so a process can read the file without trying to access the bad sectors. But the data was lost before you ever ran CHKDSK. Jul 19, 2013 at 1:21
  • Minor correction: the data was definitely lost after running CHKDSK. He could've used recovery software like SpinRite to get the data from the damaged sector before running CHKDSK. When CHKDSK goes over a bad sector it does nothing to try to lift the bytes from that sector. But you're right that CHKDSK was not the cause of the bad sectors.
    – Jan Doggen
    Aug 9, 2013 at 12:52
  • Putting in zeros for the data is just how it works. Windows has done this for years. Under the covers, the sector that could not be read is moved to a new sector that can be read and the bad sector is marked in a way so it isn't used again. Something has to be written for the sector that could not be read, zeros are as good as anything.
    – PatS
    Jan 10, 2022 at 20:10

You must log in to answer this question.

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