Shrinkflation, SanDisk Style
ounapuu.ee
ounapuu.ee
[1] https://arstechnica.com/gadgets/2020/05/western-digital-gets...
[2] https://arstechnica.com/gadgets/2020/09/western-digital-is-t...
If Sandisk is starting to cheat, why would I pay the premium? And if I'm willing to pay a premium, whom should I buy from?
Sandisk, prior to WD, was expensive but honest. I was concerned this might happen, since WD has a bad track record here.
A certain mindset and approach has taken over a lot of companies where they want to pull a fast one on their customers and improve margins at the same time. They rely on the brand name to keep customers coming back (because research has shown that people are less likely to try a new brand in a product space over their chosen one, "'ol reliable", even if they complain about its falling quality) while lowering the quality of that product until the brand identity is all that differentiates the product from a competitor. This makes their margins better, competing with competitors, at the expense of the quality of the product.
At least until customer perception sours. Then the brand engages in "artificial" rebranding by "returning their product to quality" and advertising it as such. A recent and famous example of this cycle was Domino's pizza, which was a stellar marketing campaign built on...their 'old' pizza sucking. Many hyper margin conscious companies rinse and repeat this cycle.
They just can’t see it.
It's only their high-end stuff that was decent. For a long time, they were kings of the high-end CompactFlash and SD card market for photo/video work with their Extreme and Ultra lines. Lexar was the other major player there.
A lot of other companies offered cheaper, better performing products particularly for USB flash drives.
https://www.swissbit.com/en/products/nand-flash-products/usb...
So "should be" is not very enticing, especially if they want to charge 10x. As far as I can tell you can get generic flash chips and run them as SLC, so they should only need 3x the flash and 1x as much everything else.
And actually looking at the prices here, it's about $120 for 32 gigacells. If you get the SLC model then you're not paying 10x the cost per byte, you're paying 40x the cost per byte.
No, (2^3)x, as in 8x
TLC flash puts 3 bits into each cell. It's 3x as dense. The fact that it uses 8 voltage levels is only relevant to performance and durability.
(Also 2^1 versus 2^3 is not 8x anyway.)
BTW, there is no need to buy anything fancy for RPi, I just buy the cheap stuff, but I buy much higher capacity than what I need. Overprovisioning this way is cheaper and more reliable in my opinion vs. buying something more exotic.
For example for the most basic RPi install, I'll buy a 64GB microSD card. The card may only ever see less than 10 GB worth of data, but I know it'll last for years with plenty of chatty logs written to it daily.
Source: I've been running RPis from the very first version, and have never had a single card fail on me, ever.
- Reliable chips were placed in name-brand products
- Defective chips have the defective parts disabled, and were placed in products on tier down. A 16MB chip might be sold as an 8MB.
- Unreliable chips were given various error correcting techniques, and are placed in cheap, off-brand parts, as well as non-critical applications (such as, at the time, answering machines). A common technique was to scatter addresses, so errors were randomly distributed. For answering machines, this meant a little bit of static. For other applications, this meant a bit of ECC would make them quasi-reliable.
Cards and chips down the line failed a lot more than at the top.
I have had a few memory cards fail before. I am glad to pay for top-line parts. The premium I'm willing to pay is in the low tens of dollars, which is what Sandisk used to do.
I found non-A1/A2 cards to be significantly slower, so these days I ensure they're at least A1 rated.
You might also look specifically for "Windows To Go Certified" flash drives - not because you're actually going to run Windows from them but because they should meet some decent minimums for speed and flash endurance.
It's long been suspected that PC hardware companies have been doing this sort of stuff.
Camera manufacturers are also known for shipping review sample lenses that have been hand-assembled and perfectly calibrated, nowhere near the quality of calibration/assembly that ends up coming off the production line.
[0] https://www.pugetsystems.com/blog/2023/02/02/update-on-samsu...
According to 'misleading and comparative advertising' - https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CEL... - it seems this could fall under article 2b and 2c, defining misleading resp comparative advertising. The definition of misleading here is:
[..] any advertising which in any way, including its presentation, deceives or is likely to deceive the persons to whom it is addressed or whom it reaches and which, by reason of its deceptive nature, is likely to affect their economic behaviour or which, for those reasons, injures or is likely to injure a competitor [..]
This is a directive, unfortunately, so the actual law resides with (and is different in) each member state. OTOH, this means inhabitants might complain to their regulator, and don't need to sue sandisk themselves.I was hoping this one would help. It says which errors are allowed when measuring things. Unfortunately it only speaks of weights and (physical) volumes, not other measurements like number of bits. https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CEL...
In general, I don't have much idea about how to navigate the EU consumer protection landscape. So while I do have a lot of protections, it is sometimes hard to know which ones. Does anyone know a good site or something?
I think that it would be normal to go to your national regulator first if that's an option.
However, only advertising "usable size" is truthful, everything else is misleading.
It is sad that the legal system tolerates such cheating because it makes it harder to find the actual properties of the product. Or even makes it impossible to actually know how the product will actually work.
It's shockingly common nowadays to advertise things with an upper limit, rather than something like expected value. They're just saying, "we won't tell you what it is, but there's no way it's more than this". Bizarre that it seems to be effective.
Sure sounds better than "some amount of MB/s"! :D
But, the cable company doesn't disappoint -- since I can't find the price of an upgrade without calling, nor mention of upload speeds.
It’s estimated because they don’t know exactly how many tickets will be sold leading up to the next drawing. I’ve not tracked it, but the times I’ve seen, were under 1-2 percentage points. If it bothers you that they said “estimated $55M” and instead you win $54,333,187.42, is it really that bad?
If you don't know the answer, underestimate and overdeliver. Or consider whether you should be doing it in the first place.
We are talking about a state government backed lottery, not a business.
> If you don't know the answer, underestimate and overdeliver.
Make up your mind, is estimating bad or not? The example I gave isn’t the only possible outcome, some times it’s 1-2% more than quoted when more tickets were sold.
And even then, it's perfectly consistent to say that estimating is only OK if it doesn't make you look better than reality.
It's anti-democratic, and anti-capitalist to allow misinformation on products. Markets can't optimise if you allow misinformation.
This overestimates support because you're vague on what the policy actually is, so everyone thinks that it's going to be their preferred variant being implemented. See: the brexit vote which got a majority vote for "yes", but in reality the none of the individual proposals got majority approval.
Brexit was only a policy question if you combined two different questions. “Should we stay in the EU?” and “What kind of foreign policy should we have?” People answering Yes to the first question also had plenty of diversity in how they wanted to answer the second question.
Yes, if you're only allowed to vote for a single option. If you're allowed to vote yes/no for each option, or rank them from best to worst, then this problem doesn't happen.
Well, you can ask your representative to represent you, right?
I live in a place with direct democracy and it's much less regulated than the UK. Therefore the link between having the ability and actually regulating more is not obvious to me.
> anti-democratic, and anti-capitalist to allow misinformation on products
Is it though? I mean, it might be bad, but I don't see how it's necessarily anti-democratic, as it has little to do with the governance model.
Otherwise, probably not wonders at all.
0 - https://news.uchicago.edu/story/us-prison-labor-programs-vio...
5%+ of missing capacity is definitely large enough for the actual expected capacity to be used for marketing.
This is also something that should find its way into smartphones. Samsung's are notorious for using significant amounts of the advertised storage for bundled marketing apps that cannot be removed.
I think the original reason for that disclaimer was due to filesystem formatting, not for the GB -> GiB discrepancy or providing less usable bytes on the block device than advertised.
It is annoying though. They should just sell it as a 15GB drive.
Sadly, this is extremely common for smartphones. 64 GB iphone, who knows what usable storage it has?
> It is sad that the legal system tolerates...
Just because it's not prosecuted doesn't mean it's not illegal.
In the sandisk case, at least from what I understand, it that 16Gb used to mean like a 17Gb module, with 1Gb used for system functions, now it's a 16Gb module with 1Gb used for system functions
Phones are actually worse in that a mere OS update can decrease the amount of free space, which is something that presumably does not happen with USB drive firmware updates.
Still, a 16GiB module would be 17 billion bytes. No need to combine different sizes. Unless you're saying a single module would have a decimal capacity?
If you take a 16GiB module and sell it as 16 billion bytes then that gives you 7% overprovisioning. Overprovisioning 10% would give you a 15.4 billion byte drive. If you want 16GiB then it's a quantitative change of how much you lose. But if you go by their promise of 16 billion bytes then it's a qualitative change that they broke the promise.
As the user I care about how much storage I can use, and how durable it is. If the storage is used by the OS it isn't helpful to me, other than the "runs iOS" feature point.
(This does get slightly complicated if the OS space changes with updates, what number is best to explain to the user in this case. It isn't entirely clear but I can ensure you that if an OS update takes 30GiB more space users aren't going to care that that storage is still in their phone)
Damn man, don't give them ideas.
I also bought a Transcend 128GB USB stick, which i unfortunately did not return (yet). I have communicated with Transcend support and they said it was an issue with partitioning and filesystems - which is wrong, because the tools i use show the capacity at a lower level. They kept stubbornly repeating these statements.
I may end up returning it which shouldn't be a problem even after almost 2 years because the defect has been there since the beginning.
Here's what diskutil has to say about it:
% diskutil info /dev/disk4
Device Identifier: disk4
Device Node: /dev/disk4
Whole: Yes
Part of Whole: disk4
Device / Media Name: Transcend 128GB
Disk Size: 123.7 GB (123718336512 Bytes) (exactly 241637376 512-Byte-Units)
Device Block Size: 512 Bytes
For comparison, i get this for a Lexar 32GB USB stick: Disk Size: 32.0 GB (32008830976 Bytes) (exactly 62517248 512-Byte-Units)
You can clearly see that more than 4GB are missing on the Transcend 128GB stick. It should be around 119.2GiB (128GB) but it is 115.2GiB (123.7GB)I'm fine with that if it's sold as a 124GB drive, not 128GB. I like to buy Intel drives because they'll sell you a 480GB drive and under the hood it's a 512GB module with tons of reserve.
On macOS, f3probe isn't available, i'll have to hook it up to a Linux PC.
Some of the missing gigabyte is probably used for a memory mapping algorithm.
Anyone who has dug deeper into this issue?
I don't think memory mapping a defective stick really need additional memory, regular memory sticks already have to internally remap flash memory because of how flash memory can only delete multi-MB blocks at once.
It may just be that there's some distribution of "usable flash blocks" in every flash chip, and they happened to get one which fell at the bottom end of the acceptable range. You'd have to sample quite a few before you could be certain this isn't just an outlier.
But it would be very weird if different drives in the same batch had different capacities. That's a lot of wasted effort.
This is also how phone screens are made (a huge panel is produced, then lit up; some pixels are stuck, but phone-screen-sized pieces can be cut out of it where there's enough good pixels).
This is also how most CPUs and GPU models are made - test each sub-component, disable the parts that fail testing, then price the result according to how much of it works.
I already though it would be really weird if the flash ship is really smaller.
I’ve used VenToy just fine for a while now. Am I missing something?
And by "official", I mean an .iso or .img directly dd'ed onto a drive - this is the setup that I've found to be most reliable.
I haven't tried Ventoy, and I suspect things are slightly nicer these days now that EFI has matured, but I'm personally not prepared to spend any longer than necessary debugging why my bootable USB isn't working properly.
I've not used VenToy with anything but official ISOs so cannot comment to more unique uses but I've never had an issue with the official images of Fedora, Debian, Windows, Ubuntu, etc.
For me VenToy has been great at making life a little easier and saves me time. I have a 128GB USB drive with two dozen ISOs on it. Much easier to work with the one drive vs half a dozen I have to keep rewriting ISOs onto.
One good way to find rational approximants is to look for large values in continued fractions. Looking at log_2(10) we get the continued fraction representation
[3;3,9,2,2,4,6,2,1,1,3,1,18...]
The 9 isn't particularly large, but if you truncate just before it you get log_2(10) ~= 10/3
and hence 2^10 ~= 10^3.
If you keep going and cut just before the 18 you find that 2^325147 ~= 10^97879
This is correct to six places, as you can easily verify $ python3 -c print(str(2**325147)[:8])
10000003
No doubt manufacturers will use this to further swindle us as soon as we have storage that requires 40 KiB pointers.If you think 2^10 as unit is weird, 2^8 would make lot more sense and be quarter of 1000...
That's how people in China countered fake 2TB thumb drives on taobao. They knowingly buy the device and ask for refund (because it's fake) without returning. They have an online forum full of "which merchant is selling fake drives today".
The trick is there are "Mass Production Tools" (I think it actually means firmware configurator) for the flash controller used in these scam drives, which can turn them back to their original capacity (usually 4GB or less). So by doing so they effectively win some free tiny-ish thumb drives.
If all or part of the payment for an item is made with a credit card then the credit card issuer is jointly and severally responsible ["Section 75"]. So if a retailer doesn't play along will find themselves answerable to their payment processor; the customer doesn't have to get involved.
It's not unheard of for sellers to issue a refund and request the customer dispose of a faulty or mis-sold item instead of bothering to return it. But that's only if the customer is OK with it; if I wanted to return, say, a washing machine and the seller refused to co-operate then I'd be in my rights to dispose of it at my expense and refund the balance minus my reasonable costs to the seller.
Here is a list: http://thehowto.wikidot.com/flash-drive-recovery
Downloading the actual tools requires searching around russian and/or chinese forums though, so you should take appropriate care...
At least for my "unlimited" data plan there is contract clause mentioning "reasonable usage".
If they just slapped an overall speed cap on you after 200 GB/month, they'd be breaking their own terms of service.
And that's for a mobile plan. The fixed connection has no "reasonable usage" provisions and just has your generic "reserves the right to shape traffic" stuff.
There's a reason why AT&T Firstnet can do the things it does.
There is also the benefit from AT&T taking those federal firstnet dollars; they sunk a decent amount of money into infrastructure so these priorities / capacity matter less when they have much higher capacity now than they ever have in the past.
https://www.reddit.com/r/NoContract/comments/tn4733/qci_leve...
https://www.reddit.com/r/ATT/comments/ngn21j/how_does_att_ha...
It's very hard to obtain a phone plan here that is not some form of unlimited. The cheapest phone plans either have absolutely no Internet, or are capped to like 0.25 or 0.5 Mb/s speeds, meaning that your data cap is just a function of your slow speed.
In the US there's competition showing how fast the service is in advertising. Which of course has fine print; "during times of congestion you may experience slower speeds" which is where these priority levels kick in.
Unfortunately most consumers aren't smart enough to even notice it.
Edit: found a comment relevant to allowed variability https://news.ycombinator.com/item?id=34802080
In practice, I would trade a ~75% faster drive for <10% of storage in a thumb drive use case with zero hesitation:
Old: Probe time: 1'49" Read: 463.8ms / 4814 = 96us Write: 1'48" / 4192321 = 25us
New: Probe time: 1'02" Read: 338.2ms / 4814 = 70us Write: 1'02" / 4192321 = 14us
However it should be required to advertise the size reduction on the new packaging, including before and after price per amount.
It's basically a scam to make you feel like you are getting an ok deal because you are getting so much. But really it is just a way to charge you more without seeming like a price raise.
That was so useful to defend against viruses.
A cheap flash drive will cost say 15 dollars and one with a physical button/lock to make it read only will be 150?
The cost of materials should be maybe 5 more dollars...
On a side note, if you go into one of those "print shops" that can print things for you and use an USB stick, then how can you sanitize your stick from the multiple viruses / worms that you will get? Only thing that comes to my mind is to use a computer where the hard drives are physically disconnected and some live CD linux. But even then it is unclear if you can really format the usb flash memory to make it safe.
Just using the same SPI operations you always use for write should work fine. There's not even a lock-status register or anything to check/clear first for the switch mechanism.
https://superuser.com/questions/354473/is-the-lock-mechanism...
On other OS I don't know but there is surely a way.
But, maybe I’ve been conditioned into complacency. I do agree, manufacturers should have to post usable space. I don’t see this changing though.
Edit: Removed note about 1,000,000,000 bytes. The article isn’t specifically about that, but I’m not convinced that’s ever been the only factor.
So even with the 1,000,000,000 bytes to a gigabyte it doesn't round up to 16 GB.
We gave you what you paid for because we redefined what it is that you payed for.
Conjures images of those rusty cages they used to put people in to die..
It says:
Device geometry:
*Usable* size: 14.91 GB (31266816 blocks)
Announced size: 14.91 GB (31266816 blocks)
Module: 16.00 GB (2^34 Bytes)
So why it's only 14.91? I assume it uses GiB (1024) -- but then, why "Module" is 2^34 B? Shouldn't it also be 16000000000 B or 14.91 GB?I'm asking why Module actually has 16 GiB (as it says, 2^34).
But to reliably use that chip in a USB flash drive, the flash controller needs both:
1) some spare blocks to use to replace blocks that fail during usage.
2) some amount of space to store its own data (spare block map, in use block map, failed block map, etc.) and the controller just uses part of the existing flash chip for those purposes.
The difference between 'module' and 'actual' is likely "controller data overhead".
https://github.com/AltraMayor/f3/blob/master/f3probe.c#L497
https://github.com/AltraMayor/f3/blob/master/f3probe.c#L338
Module does not seem to be a physical characteristic of the storage device, but rather its capacity rounded up to the nearest power of 2, for legitimate devices.
https://github.com/AltraMayor/f3/blob/master/libprobe.c#L777...
Number of defects vary. Chips coming from the same factory, even same batch, are likely to have different number of defects, and will be binned accordingly.
Devices with larger (but manageable) number of defects will simply have larger ECC region reserved - leaving smaller space to show to host computer. OP's new USB stick is like that, that's it, I reckon.
I hate TLC. But at least it's not QLC.
I'd rather buy from a local electronics retailer. Sure, might be a few bucks more expensive, but at least they have a brick-and-mortar location where I can come and complain if the products suck.
[1] A fairly expensive pair of headphones failed 18 months into a two year warranty, but the manufacturer put it down to (IIRC) wear and tear. I contacted Amazon, and they agreed to swap them for a new pair.
WD used to be the brand for these around 2010, according to my uni friends.
https://axebase.net/blog/2021/11/12/ventoy-verdacht-auf-malw...
It's a shame, but due to the rare ruse I doubt it would prevent much confusion in practice.
Related subthread: https://news.ycombinator.com/item?id=34804842
For a 1kg bag of flour bought in the EU, that would be
- On average, you should get at least 1kg of flour
- No bag should be less than 985g
- Packaging does not count
For a USB stick, that would be
- On average, the actual capacity must be no less than what's advertised
- For a given product, the actual capacity must be no less than what's advertised, within a small margin
- Only usable capacity counts
it was really frustrating back in the times, when your brand new 8GB android smartphone only had 1 GB of free space out of the box (The 8GB edition of the Sony Xperia M4 Aqua only had 1.25GB of space for the user !)
Nowadays, devices have larger memories. But an android with mandatory apps and 'necessary data', or a Windows 11 can take around 20GB away. It can't be neglected on low end systems. There are still devices with 32, 64 or 80GB out there ! (your redmis or galaxy A XX)
Since most smartphone manufacturers won't let you use another OS or a custom ROM, all of that space should be reserved for them, and not advertised to the customer ! It's the same for computers. Most users buy the computer with the Windows, and will never replace it.
In CPU-land this is done by manufacturers already - they manufacture many of the same generation of processor as the most performant version, and then test the individual items produced, disabling poorly constructed parts and downgrading the specification as they do it until they're left with a range of products at various performance points.
I understand that 16GiB (16*2e30 bytes) chip is present (delivered to user), but some of it is broken and not available (industry standard). Therefore capacity is less than 16GiB. Also I believe that there is a threshold, that manufacturer is using to throw away chip that are too broken to be sold. Ok so far.
So proper declared capacity should be threshold value (minimum) or threshold to maximum value declared range. I understand that this proper capacity is not very nice round number.
Problem has past: Around 2000, manufacturers started using GB (10e9) instead of GiB (2e30) that gives them some margin (7%) for chip defects. Later margin was not enough, so they started using more misleading specs like this. It seems that margin is at least 10% nowadays instead of <7% in the past.
Personally, I would be satisfied with stated margin size (like 7%, 10%, 12% etc) to maximum capacity, f.e. "USB flash drive 16GB max capacity, at least 90% usable."
It actually started somewhere around 1995 -- with mechanical disk makers all choosing to advertise GB drives using the power of ten instead of the power of two, while maintaining the same labeling on the outer box.
And the reason was not to account for "chip defects" -- it allowed them to ship slightly less capacity, but print on the box a number that appeared larger to those who did not read the 4 point type fine print on the back.
I'd imagine the trading standards would only check to about +/-0.5% (5g); whilst the flour on the bag's surface is probably around 1g for a kilo bag (1kg)?
The figure was 985g, not 958g, but that's what you seem to have used in your calculation anyway. (Amusingly, when I pulled out bc to test which way you computed it, I immediately made exactly the same typo.)
It's frustrating that SanDisk used to give you extra bytes and they stopped -- and everyone including me HATES it when products get worse with no external indication that they changed.......but let's be honest: it's kind of SanDisk's primary MO to buy the cheapest NAND they can find and sell it on the consumer market.
G has always been 1000^3, M 1000^2, and K 1000, in the storage and communication industries. OS designers, and programmers more generally, started using 1024 instead for convenience, but that came later. The storage industry is doing it right, using the correct meaning of SI units, and programmers co-opted GB to mean 1024^3, it isn't the other way around.
There were times when the storage industry and programmers worked together to really stuff things up and cause further confusion by mixing & matching: the 1.44MB of HD 3.5" floppy disks was actually 1474560 bytes so 1.44*1024*1000.
Even then it was only the marketing portion of the storage industry playing that game, when not talking to the general public floppy disks were referred to by their maximum rated information carrying capacity, 2Mbyte, not their OS-formatted capacity at all.
The old drive had 16 billion usable bytes. The new drive has 15.4 billion.
Base 2 has nothing to do with this problem.
> [...] Operating Systems define 1 GB as 1,073,741,824 BYTES.
Mac OS, iOS, Ubuntu, and Debian operating systems at the very least all use base 10 for representing disk and storage space.
Linux (to include Android) and the BSDs (to include MacOS, and iOS?) use GB (gigabytes) to mean decimal GB (gigabytes), a conversion factor basically noone in the real world adopted because multiples of 1000 are meaningless.
So the vast majority of people and Windows to this day understand a kilobyte as 1024 bytes, a megabyte as 1024 kilobytes, and so on. Meanwhile, Linux and the BSDs and drive manufacturers/vendors understand a kilobyte as 1000 bytes, a megabyte as 1000 kilobytes, and so on because it's pedantically correct (and the conversion factors are commercially convenient).
This dissonance in understanding leads to endless "why is my drive smaller than what's printed on the box?" complaints.
As I undertood it, that tidbit comes from Sandisk and probably targets Windows user. I also believe Windows does (or did) use base 2 for file and disk sizes