VOGONS

Common searches


First post, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

So I was wondering how to test and format flash drives, because I think that the old ways won't work.

Testing:
Most tools test disks by trying to read every sector on them, but...

  • I usually preferred MHDD / WHDD over SMART tests because they "timed" readings. On HDDs, a soon-to-fail or reallocated sector would take more time to read, so you can see which disks are going to fail. On SSDs, that time is not measurable / makes not sense; on pendrives the time is easily altered by other operations on the USB bus.
  • In any case, those tools won't test if memory pages are going to fail... how about SMART tests? Do they do more than a simple reading test on SSDs?
  • There are some (destructive) tests that write some patterns on disk that seems better. f3 (Linux) and h2testw (Windows) write a definite pattern along all filesystem that can be later checked. Rufus can do the same thing, but have different patterns for SLC, TLC and MLC disks. Is better using Rufus than f3/h2test2? How can I know which kind of flash uses a disk (without digging very deep on technical documentation)?
  • What tool do you recommend to test those SSDs / pendrives?

Formatting:
It should be easy, but flash memories are divided in "pages" that must be erased/written completely. So if your cluster size is smaller than your page size, you could need more than one write per page (I wonder if Linux or Windows Kernel detect that situation and "optimize" writes). That makes writes slower and puts some extra strain on memory cells (and due to having a limited number of writes, that's BAD). So the best situation could be having a cluster size equal to page size (even better: sector size equal to page size, but I doubt that many OSs would like 128Kb sector size). I'm testing now a pendrive that is awfully slow with 4Kb cluster size, but is acceptable with 128Kb.

  • How can I know (again, without digging on tech docs) the page size for a given SSD / pendrive?
  • Rufus and mkfs let you choose cluster size to ensure better performance, but do they align FAT/exFAT/NTFS internal structures to cluster size? I mean, if I format a drive on FAT32 with 16Kb cluster size, would both FAT structures starts at a 16Kb boundary? Would the "data" area start at a 16Kb boundary? How can I check that If I'm paranoid enough?

A (un)reliable SSD?
Those questions came to mind because of a SSD that I was testing yesterday. The results:

  • SMART logs are OK. When testing, it gaves some temperature warning (but never exceeding 55ºC / 130ºF) No reallocated sectors, no CRC/ECC errors logged, nothing.
  • It passes every SMART test (short/conveying/comprehensive).
  • It passes f3write/f3read tests.
  • After doing the f3write test, I peeked on dmesg and it logged many write errors. It passed f3read, so I guess that the write was retried with success.

Would you keep that disk or dispose of it ASAP?

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!