Finally
The biggest beneficiaries are actually Linux and co which do not support 512 blocks (smallest fs block is 1K) and default to 4K on large filesystems.
WD and other disk drive manufacturers are increasing disk sector size eightfold to prepare for 2TB-plus capacity drives. Current hard disk drives have a 512 byte data sector sector size and have had for up to 30 years. Each sector has a sync/DAM header and an ECC (error checking and control) trailer followed by an inter-sector …
Reminds me of when Acorn boosted the sector size of the DD floppies from 256B to 1024B, allowing 5K of data per track instead of 4.5K. Golden days.
The idea of making a 4K sector "look like" eight 1/2K sectors is fundamentally broken, however. Software is supposed to be able to rely on a sector write being atomic; in particular if the write is interrupted (e.g. power outage) it should not corrupt an adjacent sector.
Looks like our friends in the storage industry are running up against the limits of their 32 bit controllers (2^32 = 4.3 billion). Unfortunately it seems like we're in for a rough ride since they will need to bump up the sector size again soon. This is not unlike the way FAT file systems handled this problem when they exceeded 2 GB disks, and again we will have large inefficiencies in storing small files (unless your FS packs them like Reiser 4). That 10% you gain will be chewed up rather quickly, especially when they step up to 32 or 64KB sectors.
"Unfortunately [...] they will need to bump up the sector size again soon."
That's what struck me, too. This seems an incredibly short-sighted way to extend. Still, as the XP driver issue demonstrates, it isn't enough to give your drive a 64-bit clean controller if it is being instructed by an OS that uses 32-bit logical block addressing. There's probably no elegant solution.
I'm puzzled though. At the Windows application level, the "sector size" for aligned accesses (such as for bypassing the cache) has always been 4K, and before that the cluster size on a FAT filesystem was always, er, variable. The only devices I'm familiar with that actually advertised 512 byte sectors to user-level code are floppy drives.
And quite separately, accessing a modern hard-disc in lumps of less than about a quarter of a megabyte is just plain inefficient. For years, HDs have been essentially sequential access devices. It's about time that file-systems (or rather, their OS interfaces) acknowledged this fact.
Would you care to explain to me exactly when the Standards Institute managed to get a registered trademark on all greek prefixes? Do they own the copyright in them too?
Also, modern computers only have *eight* bits to a byte, not ten. Why are you measuring bytes in SI units when the byte itself fails to meet the most basic requirement of an SI system? The only valid use of decimal SI units is therefore in the measuring of bits, not bytes.
Finally, the prefixes up to, and including, "kilo" all refer to specific quantities—10, 100, 1000. But the larger magnitude prefixes most of us now use daily—Mega and Giga—do not. They're the greek equivalent of "many" and "lots". There's no commandment graven in stone that requires them to be used ONLY in the context of round, decimal numbers.
Pretty much the only industry using these smaller units is the data storage industry—and even then, it's only that part of the industry reliant upon older, mechanical storage systems of some sort, rather than solid-state technology. Everyone else uses power-of-two measurements.
Stop pandering to these bullshit merchants and just tell them to stop lying. It's no more difficult to use base-2 measurements when designing hard drives than it is to use base-10—there may not be anything inherently base-2-ish about spinning disks, but there's nothing inherently decimal about them either.
Actually, before RAM and disk drives got into the act, communications and power had been using mega and giga (pronounced 'jiga', from the same root as "gigantic") for years to mean 1million (base 10) and 1 thousand million (base 10), which in the US is a billion, though I hear that England considers a billion to be a million million. (As they say, two people divided by a common language).
Mine's the one with the "Back To The Future" DVD in the pocket, along with the DeLorean keys.
"... 1 thousand million (base 10), which in the US is a billion, though I hear that England considers a billion to be a million million. (As they say, two people divided by a common language)."
I've heard that too and I live in England. If anyone actually tried to use 1 million = 1 000 000 000 000 I would assume they're taking the piss.
I've been told that it was the case a long time ago, but I've yet to come across anyone who thinks this is still the case (who has a full bag of marbles, of course).
..and have been for years. Even higher prefixes exist.
http://physics.nist.gov/cuu/Units/prefixes.html
A few programmers in the early days thought it was 'cool' to pervert an internationally agreed standard. It was fun being a geek on the frontiers of a brave new world. Almost no-one knew what a computer was and no harm was done if you screwed it up. There was no-one outside of your discipline to talk to anyway.
Those days are long past. Software development is an engineering discipline that has a major impact on all our lives. It needs to talk to other engineering disciplines in a way that can be understood. Miscommunication can cost large sums of money and in some cases lives.
HDD manufacturers are using the internationally agreed upon prefixes the way they are were always supposed to be. Software engineers have a choice of continuing to abuse the system and cause confusion or else they can grow up and join the rest of the engineering community.
As a software engineer I favour the second option. It isn't 'cool' to be different when you're an engineer. It just makes the other 99% of engineers think you're a pratt.
Of course there is a 2-based standard notation. It is written kiB, MiB, GiB, etc.; (note the lower case 'i'). Most people, even in the trade don't seem to know this: I have been called a geek* by other IT professionals for my insistence on using the correct units in internal documentation.
*I have never eaten a live animal as a circus act. Honest. ;-D
Does Windows remain the least efficient user of disk space in the OS world? My impression is that by default it still fails to pack sub-sector sized files together (although I've something of the sort can be enabled)
it is interesting to note that as the interface has gotten more complex the app softwares ability to optiimise data layout on a disk has fallen. How does an app programmer looking for ultimate performance (IE your writing Oracle, not writing *in* Oracle) these days?
Agree it does sound very short sighted but do modern OS's work around it.
If at 512 bytes/sector a 2TB drive will have, approximately, 3,906,250,000 sectors (3.9bn), then at 8 times larger sectors (4096 bytes/sector) a 2TB drive will not have 953,674 sectors, it will have 476,837 sectors. This of course means you need a 16TB drive (8 times larger obviously) before you hit the same sector count of 3.8bn or so again.