# remap ssd



## kr651129 (Aug 18, 2012)

I've got a friend with a SSD that's throwing a lot of errors, I think there are bad blocks on it, if it was a traditional hard drive I would know how to fix this but I don't have a clue on how to work this out.  I've googled for software to remap the SSD and I've come up empty handed.  Does anyone know of any software that will remap the NAND?  Data loss isn't an issue as I've already backed up what data I can.

Thanks


----------



## wblock@ (Aug 18, 2012)

If it is still in warranty, use that first.  Otherwise, it's likely to have the same bad block remapping as a drive.  Writing to every block should force remapping.  dd(1) should be fine.

What brand and model is it?


----------



## kr651129 (Aug 18, 2012)

its a corsair ssd (I suggested it since I've had good luck with mine) I don't have the model right now.

here's what I was going to do.


```
$ dd if=/dev/zero of=file bs=1000000000 count=512
```

if I mount the drive to /media/hdd and run the above command in that location it should fill the ssd with actual data correct?

how does writing data to the drive force a remap? once this is complete I should he able to load an OS back to it and the bad block would be skipped since it was remapped correct?

thanks for the help wblock


----------



## wblock@ (Aug 18, 2012)

Huge buffer sizes with dd(1) won't help (explained).  Depending on how much RAM you have, it may actually start swapping.
`# dd if=/dev/zero of=/dev/ssddevice bs=128k`

Use
`% diskinfo -v /dev/ada*`
to locate the correct device.  Make certain, because dd will wipe out everything on it.

Drives are supposed to remap blocks on write.  It tries to write, fails, then marks the block as bad and uses a spare.  That only happens with writes, because it can't reconstruct what data was on the block when there is a read error.

A drive firmware update may help, too, but I'd check the manufacturer forums first.


----------



## kr651129 (Aug 18, 2012)

awesome, thank you! before loading data to the drive should I do a test first and if so what would be the most accurate way of doing this with FreeBSD


----------



## tingo (Aug 18, 2012)

Also (if you haven't done it already) check if there is newer firmware for the drive, in some cases that makes all the difference.


----------



## kr651129 (Aug 20, 2012)

follow up question -- does this method work on traditional hard drives too?


----------



## wblock@ (Aug 20, 2012)

Traditional hard drives is where it definitely works.


----------



## kr651129 (Aug 21, 2012)

thanks wblock I dd'd the ssd it usually doesn't throw error until its hit around 30% full so I'm going to load some video files on and a few other things for a real world test if you want to call it that. FreeBSD doesn't come with a hdd test utility does it? I have a few old drives I wanted to test too.


----------



## wblock@ (Aug 21, 2012)

There's sysutils/smartmontools.  Some SSDs don't support SMART.


----------

