Ultra-cheap USB 4TB flash drives
WARNING:
I have become suspicious about the memory capacity. I changed the
filesystem to ext4 and the 'mount' utility crashed when tried to mount
the partition. In theory, it is possible to hardwire a smaller block of
memory so that it repeats over the 2TB -- need to find out if this has
been done. ext4 marks out the entire partition, and that would explain
its failure. Doing some more tests.
A 4TB (4 terrabyte, 4,000GB) SSD flash drive for AU$51.88 including
postage, too good to be true? That's about US$30. These cheap "SSDs" are
being sold all over the place, on eBay, Aliexpress and Amazon. Most
intrigued, I had to buy a couple, to test and find out whether they are
telling porkies ("telling porkies" is British slang, meaning telling
lies).
Found a couple of vendors on ebay with AU stock, bought these two, first one claimed 2TB, second 4TB:
https://www.ebay.com.au/itm/353667413462
https://www.ebay.com.au/itm/284436751673
The 2TB drive cost me AU$36.66 and the 4TB drive AU$51.88 including
postage. They are even cheaper if bought from Aliexpress, from China.
Here is the "2TB" drive:
And here is the "4TB" drive that I purchased:
...370MB/s write speed, surely they jest!
Note about that second one: they packed the wrong USB cable. Minor annoyance.
I did see some feedback on Amazon, can't find it now, that they are cheating on capacity claim. First, tested the 2TB drive...
The 'fdisk' and 'gparted' utilities do show size as 1.91TiB, single
exfat partition. I wondered if they were fudging capacity somehow, so
decided to use 'dd' to write zeroes, until it ran out of drive:
# dd if=/dev/zero of=/dev/sda bs=1M conv=fsync status=progress oflag=sync
470956376064 bytes (471 GB, 439 GiB) copied, 81754 s, 5.8 MB/s
449139+0 records in
449139+0 records out
470956376064 bytes (471 GB, 439 GiB) copied, 81755.5 s, 5.8 MB/s
...notice that time, 81755.5 seconds -- that's 22 hours and 42
minutes. I just left it running overnight, but then realised how long it
was going to take to get through all the 2TB. So, skipped ahead:
# dd if=/dev/zero of=/dev/sda bs=4M conv=fsync status=progress oflag=sync,seek_bytes seek=1950G
3351248896 bytes (3.4 GB, 3.1 GiB) copied, 663 s, 5.1 MB/s
dd: error writing '/dev/sda': No space left on device
801+0 records in
800+0 records out
3355443200 bytes (3.4 GB, 3.1 GiB) copied, 664.265 s, 5.1 MB/s
...seems like it is 2TB, but using 'dd' does not really confirm that
it is 2TB. If a small memory is just mapped repeatedly at higher
addresses, to fill the entire 2TB address-space, 'dd' won't know that.
That sustained write speed, 5.1MB/s, is down amongst the cheapest flash sticks that you might buy in the bargain-bin at your local supermarket.
I put an f2fs filesystem onto it, and wrote a file to it:
# dd if=/dev/zero of=/mnt/sda1/dummyfile bs=4M count=256 conv=fsync status=progress oflag=sync
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 213 s, 5.0 MB/s
256+0 records in
256+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 213.047 s, 5.0 MB/s
For the record, 'fdisk' reports:
# fdisk -l /dev/sda
Disk /dev/sda: 1.9 TiB, 2097152000000 bytes, 4096000000 sectors
Disk model: SSD
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xedc4bd24
Device Boot Start End Sectors Size Id Type
/dev/sda1 32768 4095967231 4095934464 1.9T 83 Linux
I did the same for the 4TB drive, that is the red one in above photo, put f2fs onto it, and did a file write test:
# dd if=/dev/zero of=/mnt/sda1/dummyfile bs=4M count=256 conv=fsync status=progress oflag=sync
1061158912 bytes (1.1 GB, 1012 MiB) copied, 105 s, 10.1 MB/s
256+0 records in
256+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 105.965 s, 10.1 MB/s
Interesting, the 4TB drive is internally two separate 2TB drives, so shows up as sda and sdb:
# disktype /dev/sda
--- /dev/sda
Block device, size 1.907 TiB (2097152000000 bytes)
DOS/MBR partition map
Partition 1: 1.907 TiB (2097118445568 bytes, 4095934464 sectors from 32768)
Type 0x83 (Linux)
# disktype /dev/sdb
--- /dev/sdb
Block device, size 1.907 TiB (2097152000000 bytes)
DOS/MBR partition map
Partition 1: 1.907 TiB (2097118445568 bytes, 4095934464 sectors from 32768)
Type 0x83 (Linux)
The write speed of 10.1MB/s is
much better! This is getting above the bargain-bin flash drives. My
SanDisk Ultra drives give about 15MB/s sustained write speed, and my
SanDisk Extreme is up around 90MB/s. SanDisk do sell cheaper ranges.
Notice from the photo, they are claiming up to 370MB/s write speed.
It may be true, because this is where they are being sneaky. Flash
drives usually have an internal cache, and a small number of bytes
written to the drive will first go into the cache, then it will fill,
and then writing to the flash media will occur, much slower. So, the
"sustained write speed" that I have measured, is more accurate.
So, were they worthwhile purchasing, did I waste my money?
UPDATE PENDING!
I have opened up the "2TB" drive to see what chips are
inside. Two chips, no way is that 2TB! Can't find a datasheet, the chip
has a "i" on it, pretending to be an Intel chip. I found a photo of the
chip elsewhere with "AMD" on it. Numbers on each chip:
29F64B2ALCTH1 200827 ZB170528
I am conducting a test to find out just how much memory there actually is.
Will do the same to the "4TB" drive. Stay tuned.
EDIT 20211002:
The actual capacity of the "2TB" drive is only 128GB, see test here:
https://bkhome.org/news/202110/claimed-2tb-usb-ssd-is-only-128gb.html
Tags: tech