I guess backwards compatibility is just another form of entropy. So this is all expected, but still…
Case in point, 512e hard drives. Wikipedia has a nice article on this, so I’ll skip the intro, and just go directly to my main point.
It’s 2018. End of 2018, more precisely. Linux has long supported 4K sectors, Windows since Win10 (OK, so recent), but my sampling on existing HDDs:
- All of Western Digital’s hard drives under its own brand (WD rainbow series) is using 512e (or 512n, for ≤4TB or so); not even the (recently retired) “Gold” series, top of the top, provides 4Kn.
- HGST has a large variety for the same size/basic model, but in Switzerland at least, all the 4Kn variants seem to be rare than unicorns; whereas the 512e are available in stock all over the place.
I tried to find HDDs ≥8TB with 4Kn (and ideally ISE), but no luck; mostly “zero available in stock, no availability at supplier, no orders”. Sure, Switzerland is a small market, but at the same time, exact same size/model but with 512e is either available, or already on order. I’ve seen at one shop a 512e model where the order backlog was around 200 HDDs.
I guess customer demand is what drives the actual stocking of models. So why on earth are people still buying hard drives using 512e format? Is it because whatever virtualisation backend they use doesn’t support yet 4Kn (at all or well)? I’ve seen some mentions of this, but they seemed to be from about 2 years ago.
Or is it maybe because most of HDDs are still used as boot drives? Very unlikely, I think, especially at high-end, where the main/only advantage is humongous size (for the price).
I also haven’t seen any valid performance comparisons (if any). I suppose since Linux knows the physical sector size, it can always do I/O in proper sizes, but still, a crutch is a crutch. And 4Kn allows going above 2TB limit for the old-style MBR partition tables, if that matters.
Side-note: to my surprise, the (somewhat old now) SSDs I have in my machine are supposedly “512n”, although everybody knows their minimal block size is actually much, much larger - on the order of 128KB-512KB. I/O size is not same as erase block size, but still, one could think they are more truthful and will report their proper physical block size.
Anyway, rant over. Let’s not increase the entropy even more…