256TB AliExpress Drive Testing

This isn’t a new thing, but I wanted to explore it myself.

I found a 256T portable drive on AliExpress for $31USD. I had to check it out.

The Hard Disk

Someone on Discord mentioned that AliExpress’s 11.11 sale was coming up, so I browsed the app to see if there’s any stupid stuff I wanted to buy (spoiler alert: there was), but one thing that stuck out was USB portable drive. Not only was it super cheap, but it ranged in sizes from 1T to 256T! Amazing! A steal!

After buying, it arrived the following week. It said 256TB on the box, so they were sticking with that claim I guess. My first impression was it was LIGHT. Obviously no spinning disks in the case, but it was light even if it was going to hold solid state storage. I’m beginning to think it wasn’t the amazing deal I thought it’d be.

Opening up the box, you can instantly tell the “metal housing” is actually just cheap plastic. The hard disk (I’m going to keep calling it a hard disk despite it not being one) does actually use a USB-C plug, surprisingly. It comes with a USB-C to USB-A cable, as well as two adapters: one USB-A to USB-C and one USB-A to USB-A micro.

Using a plastic spudger tool, it was pretty easy to crack open the plastic case and see what was inside.

As you can see, the “hard disk” is just a couple sd cards hot glued into a some slots, with a controller for each, and then a chip to the right that likely handles the USB traffic (I think, I’m not good at identifying uses of chips). What’s interesting(ish) is they lasered off the top of the three ICs, so you can’t identify what chips they are.

So two 128T micro sd cards. Looking at sd card info, the specification does exist to have a maximum 128T on a card with SDUC, but there’s no, or very few, commercial products even using the standard so far, and definitely not for cheap. Obviously, the cards are a lie too, assuming they are supposed to be 128T each.

At this point I had posted the above photos to a couple different chats. Some people were guessing it was going to present as two 128T drives instead of a single 256T, others thought it might show up as a single slow USB 2 drive. It was time to find out just how bad this was.

Connecting

I grabbed an old laptop and put a clean copy of Fedora KDE 43 on it (no way I was plugging this into anything that holds my real data), as soon as that was done, I plugged in the hard disk and… nothing. Dolphin, the KDE file manager, didn’t present any removable devices. Looking at dmesg and /dev though, I was able to identify two drives attached, each 128T:

It instantly wasn’t happy, though:

The critical target errors continued a bit more before it finally settled down. So, good start.

Looking at the partitions in fdisk, each disk had two. A small “Microsoft reserved” partition (gpt code 0c01), and then a ~128T fat partition, except it had the fs-type of NTFS specified (or gpt code 0700, “Microsoft basic data”, which might be fine for exfat.. I’m just used to that being NTFS).

Anyway, mounting /dev/sd[ab]2 into separate directories with some default settings (the only thing I did was have the mount be owned by my user account), I can now start some testing.

Testing and Stats

To start with, I used bonnie++ to do some basic disk writing and reading. Each test took hours to run.. glad I wasn’t doing it on my normal machine as I could just set the laptop aside and focus on whatever else I was doing without interfering with these tests. I did three tests: one on sda by itself, one on sdb by itself, and one with both sda and sdb running at the same time. This basically took a day to run them all. For all of them, I used the command bonnie++ -d /mnt/sdX2

This does the standard test reading and writing files to the mounted drive. I then used bon_csv2html to collate the results into an html file. It does the colouring itself. The html results are linked here (and the csv source is here), but if you don’t like clicking here’s a screenshot:

As you can see, it sucks. Latency actually reaches out of microseconds range into the seconds range in some cases. Reads are worse than writes, but I think that’s because it’s not actually writing to these fake/hacked sd cards, so it can fly.

After this I was going to use badblocks to see what that would do, but badblocks apparently doesn’t work with large filesystems, where numbers go out of the 32-bit range and into the 64-bit. So with a quick kagi search, I ended up finding f3 (“fight flash fraud”), something made specifically for these shenanigans.

Scanning the two drives with f3 (using f3probe —destructive —time-ops /dev/sdX), I got similar results for both:

It instantly recognised these were junk.

I wanted to do a reading/writing test with the f3 tools, just to see, but I figured I’d redo the partitions first to see if I could get it to format as ext4. I went into disk, deleted all the partitions, and then created a single partition on each disk, gpt type 8300 (Linux Filesystem). I then tried to format the drives as ext4, but as expected, it didn’t work:

Attempting to mount the partitions as ext4 then failed. I might be able to make it at least mount by using a filesystem that doesn’t try to write superblocks throughout it, but for now I think I’m done.

Results/Conclusion

As expected, this “hard disk” is just fake rubbish. It’s interesting to dig in and see just how bad it is, though. At some point I’ll probably scrape the hot glue off and plug the sd cards into an adapter to see if I can read/use them normally, but I’m sure they’re bottom of the barrel in quality. Thanks AliExpress!