Side note, but "1.44MB" has always been wrong regardless if you are using base 2 or base 10 notation. The actual size is 1.44 * 1000 * 1024 bytes (or 1440 KB). To me this always seemed wrong to divide the actual capacity by 1024 then again by 1000 to get to 1.44 (stick with MiB / KiB, or MB/KB, but don't mix them).
> Don't hard drives use MB (to inflated advertised capacity? You decide) as standard.
They do, but that's not what diskettes did. Hard drives use KB = 1000 B, MB = 1000 KB, etc. as units. This makes the number on the side of the packaging larger, so it's good for marketing. They used to use 512 B sectors internally. (Today, HDDs have moved to 4 * 1024 B sectors, or 4 KiB, I believe.[4])
([1]) 3½" diskettes were 1474560 B (1440 KiB). If we use the programmer's "KiB", where 1 KiB = 1024 B, 1 MiB = 1024 KiB, we get 1.40 MiB. If we use the marketer's 1 KB = 1000 B, 1 MB = 1000 KB, we get 1.47 MB. The only way to get that 1.44 number is to mix the two: 1474560 B / (1024 B / KiB) / (1000 KB / MB). This is of course utter nonsense. But I guess it got to a point where it would be weird, I guess, to not label your packaging as "1.44 MB", and so it was, until the USB drive killed diskettes[2]. (This mix happened because the size was "1440 KB", and from there, someone moved a decimal point without understanding why that didn't make sense.)
[1]: I'm going to use the binary SI unit prefixes (https://en.wikipedia.org/wiki/Binary_prefix) for clarity, but back when diskettes where popular, 1024 B was notated as 1 "KB", and it was up to context to determine if the author meant 1024 B or 1000 B. The binary prefixes didn't exist until '98, let alone were they adopted, and diskettes would die a quick death soon after that.
[2]: Or CDs, if you had a burner. Or Zip drivers or Jazz drives if you did that.
[3]: The "1.44 MB" storage device was rigid. It wasn't floppy in the least. It was a diskette. The 5¼", that was floppy.
> The "1.44 MB" storage device was rigid. It wasn't floppy
The storage media was floppy; all “floppy disks” were fairly rigid (though the 3.5” moreso than the larger ones.)
> The 5¼", that was floppy.
The case? Not really. Neither was the 8”, though they were less rigid than the 3.5”. The actual media was on all of them, and is what the term referred to.
Is this a cultural thing? In Finnish 5" 1/4 used to be known as "lerppu" (floppy) and 3.5" as "korppu" (twice baked bread) but I've never heard that English would have specific words for these.
In South Africa the 3.5" were "stiffies" but I don't think that word was used with that meaning anywhere else in the English-speaking world (and even in South Africa it triggered plenty of smirks and giggles in middle-school computing classes).
A 5MB drive contains 5326848 bytes, or 5.08 binary megabytes. The 10MB one has exactly twice that, for 10.16 binary megabytes, and the 20MB one has even slightly more than twice, owing to more than doubling the number of cylinders (from 306 to 615), at >20.4 binary megabytes.
I think there must've been some sort of agreement between HDD manufacturers after they settled on decimal sizes, to never again use the binary ones, since otherwise one of them could start creating and advertising drives "now with real gigabytes" or "bonus capacity" to one-up the others --- the difference between a binary and decimal terabyte is 99,511,627,776 bytes, or very nearly the size of a "100GB" drive and definitely not anything like an insignificant rounding error, but in terms of the physical media adding those extra bytes to a drive would probably not be that difficult; a small increase in density, much smaller than that caused by moving to the next highest density (per platter).
> I think there must've been some sort of agreement between HDD manufacturers after they settled on decimal sizes
Agreeing a standard does not necessarily imply evil conspiracy! If you look at the specs of drive that simple quote bytes. The rounded numbers are marketing, as much by the resellers as the manufacturers.
Sectors are 512, 4096, or another power of 2 because of a combination of 8 bit characters (the lowest addressable unit of storage) and powers of 2 being more natural to fully address when working on a binary based processing/addressing model.
It isn't completely disingenuous to talk about intra-systems communication in terms of 'million bits' (engineering mega, not binary 'mega', bits) but it is obtuse and full of marketing spin.
I've never seen any source indicate that SI defines units for data measurement. I've only seen such standards coming from organizations like IEEE, IEC and JEDEC, and those standards have not been all that consistent over the past few decades.
The question in this case is the meaning of the prefix, not the unit to which it applies. SI defines these prefixes as powers of 10, regardless of what it applies to.
It's not "cheating" to use standard base-10 SI unit prefixes. Words like "mega" were in use centuries before PCs and have a well defined meaning. Networking rates are all discussed in base ten and nobody complains about those. Megapixels are base 10 as well. It is not merely tolerable, but is in fact more correct, to use decimal prefixes for computer storage.
I believe this old meme about dishonest hard drive manufacturers is a ridiculous conspiracy theory and insistence on binary prefixes for storage is a form of linguistic hypercorrection.
It's because when you buy a 1TB hard drive, plug it in, Windows reports that it was actually a 900GB hard drive or something like that and you feel cheated.
All file sizes everywhere we look are reported using binary prefixes. That's why people say the HD manufacturers are dishonest. It's a fair point of view.
I agree with both of you. Frankly we need to all pick a day and on that day everybody change their settings so their OS reports sizes in base 10. Not gonna happen but that's what we need.
Actually, there is. Because the underlying numbering system in the hardware of a computer (i.e., the bus wires) is binary, powers of 2 are just the natural results.
I.e., a binary address bus of 16 bits in width can address 2^16 different memory cells, which is 65,536 individual locations. To make this a 'decimal sized' memory would require either ignoring 5,536 possible addressable locations, or using bus lines that are not binary. Ignoring addressable locations does not maximize the usage of the available numbering system, and building ten value electrical bus wiring in hardware is a significantly much more difficult engineering effort than building two value electrical wiring (because two value electrical wiring is simply "on" or "off").
This is why so many of the "computer units" that were close in size to the standard SI units were measured in powers of 2 sized values instead of powers of 10. Computer hardware is using binary numbers everywhere, and powers of 2 are simply the natural outgrowth of that usage.
It was humans that decided that 2^10 (1024) was 'close enough' to the SI k to call it a "kilobyte" and that 2^20 (1,048,576) was 'close enough' to the SI m to call it a 'megabyte' and so forth.
Great point, I take back what I said about RAM. Thanks for that.
However, I stand by my disapproval of bleeding that into the consumer space, especially for files and hard drives. As you said, power of 2 is a hardware detail. Not something that end users (should have to) care about.
How pervasive is said base-10 round memory on the market? And why would a golden rule be necessary?
Base-2 is the natural order of digital computer organization. Deviations introduce unnecessary complexity. Unnecessary complexity is a form of inefficiency. And markets tend to not tolerate inefficiencies for long...except when marketing can bullshit its way in getting ignorant consumers to pay out more for less.
> Networking rates are all discussed in base ten and nobody complains about those.
Modern networking rates pay hommage to the days of analog communication systems whose rates were measured in units baud, which adheres to SI rules; the imperative relationship here is time, which also adheres to SI rules. At today's scale, these are understood to be notional approximations. Even if Joe Average had the means to precisely measure throughput, who's really going to make a huge stink with all the overhead and uncertainties that exist in real-world networking?
Computer memory is physical and different. If a computer says a file is 1.42 MiB and Joe Average can't copy it to his "1.44 MB" diskette because it's too large, you don't have to be a computer scientist to be batshit annoyed by the antics of marketing.
> Megapixels are base 10 as well.
So? Whether we're talking about a physical display or digital picture, resolution doesn't have any inextricable relationship with computer memory.
> It is not merely tolerable, but is in fact more correct, to use decimal prefixes for computer storage.
Absurd. Digital computers are fundamentally base-2. No amount of marketing quackery can change that. The first week of a freshman course in digital logic is all that's needed to dispel such nonsense.
Hard drives (and SSDs) are marketed with a definition of 1GB that is approximately 1 billion bytes, but never exact, and usually not even the nearest multiple of 512. A typical 1TB drive is 1,000,204,886,016 bytes, and a typical 500GB drive is 500,107,862,016 bytes, so the effective definition of 1GB isn't even consistent when comparing across different drive capacities. In effect, larger drives have smaller gigabytes, but still larger than 1,000,000,000 bytes.
No, it's advertising 1,000,000,000 bytes. That's both the international and industrial standard. It's also what any reasonable person would expect the 'G' prefix to mean.
Nobody advertised as much. 1 GB = 1,000,000,000 bytes, and it's your own fault to consider otherwise. You're fighting a lost battle anyway, even (American) CS folk can't ruin metric prefixes in the long run, though it's a shame they tried.
The convention for how large a 1TB drive should be predates the use of 4096 byte sectors. And the box always says "1GB = 1,000,000,000 bytes" but doesn't specify capacity as anything other than 1000GB or 1TB, meaning the most precise measurement printed on the product packaging is also the least accurate.
Because that is how things have always been measured. There is no big conspiracy to con us on drive size.
Storage measurements like comms rate measurements and other scientific measurements are in 1,000s.
Programmers and some types of system engineers found it more convenient to work in powers of 2 and 2^10 is conveniently close to 1000 so the redesignation of what K (and M, G, etc.) meant just sort of happened for us. We are the oddity, not the drive manufacturers.
People first made a big noise about it (that I heard) around the time 40Mb hard drives were common place. They were stealing nearly 2 whole megabytes! I knew someone who swore blind he had smaller drives (of the 10 & 20Mb range) that were officially counted in 1024*1024s in their documentation, but the proof he was going to show me never materialised.
RAM/ROM is always measured in binary because of the nature of their addressing. Powers of 2 are widely used in computing.
Flash memory is a bit of an oddity --- early drives with SLC flash had true binary sizes (although the flash itself actually had extra capacity on each sector/page for error correction), then later MLC/TLC/QLC flash required so much extra error correction data that the drive sizes went down and coincidentally became close-to-decimal, despite the fact that a lot of solid-state media is still sold in binary sizes (or small multiples) --- 4GB, 8GB, 16GB, 80GB (5x16), etc. I have a 16MB USB drive that truly contains 16,777,216 bytes (unformatted).
Apparently SD cards have dropped below even the decimal sizes(!) that a "32GB" one may contain less than the 32,000,000,000 bytes which an HDD should have:
RAM/ROM was commonly not measured in binary in the early days, thought it did soon became ubiquitous that they were.
I know it wasn't unheard-of for hard-drives and other large storage (tapes etc.) to be measured/sold in binary units, but I'd say it was most common by the time that the public at large cared at all what a hard-drive was for them to be measured in 10^3s. There was also the concept of formatted and unformatted capacities, which is not presented to users these days (the drive in my old IBM XT was 13MB unformatted, an odd figure in both binary and decimal units).
Floppy and disc-cartridge formats were a bit of an odd mish-mash, often even mixing 10^3 and 2^10 units.
Flash was usually measured in 2^10s early on as partly as it was thought of more as non-volatile RAM than anything else and partly because it was manufactured that way. And as you mention, modern ware levelling and bad sector masking means that there will be a difference between visible capacity and actual chip capacity at which point it becomes difficult to predict what any particular controller can be or will be configured to do.
Getting less than the decimal amount might miff me a bit, but if making images it has always been best practise to drop a couple of % in volume size to account for one drive not having quite the same exact size as another. The same best-practice recommendation holds for volumes for RAID too: always limit the size to a little smaller than the maximum (either by using a partition as the block device or (if supported) telling your RAID controller/software to make the volume artificially smaller) in case your replacement drive when one fails in X months/years time isn't quite the same capacity.
One feature of floppy disks is that the recording technology and the format is independent from the physical medium, the limitations are mostly imposed by the disk drive, the encoding and the file system, not the medium itself.
Well, this "feature" creates significant compatibility issues as all the vendors created their own proprietary formats, sometimes with patents. As a result, together with the economics of scale, often, the standard format is not the best design, a simpler design that serves as the lowest common denominator.
On the other hand, due to this feature, it was already possible to store 1,760 KB of data on a 3-1/2 inch HD floppy on a 1986 Amiga. And in 2000, it was possible to store 32 MiB of data on a standard 1.44 MB floppy disk, by using a SuperDisk LS-240 drive (although random write is sacrificed, the entire floppy must be rewritten if a change is needed, like CD-RWs).
I believe the advancements in magnetic recording technology in the past 20 years allows one to achieve even higher capacity on a standard floppy, and it can be as cheap as early floppy drives if mass produced, only that it doesn't make sense to do so.
zip drives pushed the magnetic disk format really far, the biggest ones got up to 750 MB and then got immediately eaten by CD-RWs and then flash memory
>it was already possible to store 1,760 KB of data on a 3-1/2 inch HD floppy on a 1986 Amiga
Can you name the 1986 Amiga model capable of such a feat? Because Commodore never made HD floppy controller, and the only HD capable Amiga (4000, 1992) had modified drive spinning at _half_ speed.
Ah the memories... WinImage, rawrite and other floppy tools are an integral part of my youth. I learned so much by not having an internet connection and trying to squeeze different version of Windows (2 and 3) or Linux into bootable disks, just for fun. DMF formatting was one of the best tricks (together with ramdrives where to extract compressed files).
I hate floppy disks with a passion (ugh, installing OS/2 was a pain), but I also miss them.
I wish I knew about this back then. I had a PC with no Internet connection as well (paranoid parents). My school had a T1 for Internet in the late 90’s and I remember schlepping back and forth piles of disks and using file splitting programs to save a large file across multiple floppies.
I remember once rigging a system to boot from floppy, enough to load a zip drive, and had the rest of the OS etc on that zip drive. Had to jump through some hoops to get it all working.
Also recall installing AutoCAD 12 on 22 lab PCs from floppy... that was the opposite of fun.
The way to show you Big D*ck Energy back in the day was the best boot disk. Fitting the most useful programs you could cram onto a single floppy. When we figured out 1.7MB formats, every tech had to go back to the drawing board.
This sparked a memory of the LS-240 SuperDisk drives that could format a 1.44 MB floppy to hold 32 MB. Of course only usable on an LS-240 drive, and the entire disk had to be re-written any time a change was made.
Trevor Marshall! I had one of his antennas, namely the omnidirectional 15dbi, 1.7m tall. I had an open access point setup for a while. I remember people connecting from so many places and sending me emails to say hello. Fascinating!
You could also make 720k DSDD disks into 1.44M DSHD disks by making a hole in the corner (similar to the write-protect hole but opposite corner). Of course, 720k disks seemed to be made to lower tolerances than 1.44M disks, so it was not a very reliable method, and usable only in a pinch.
Good times in Jr High. Disks were expensive, but we found we could punch the 5.25" floppies in the school library to store copies of games on the back side. There were quite a few unremarkable software titles that got heavy usage.
I only bought expensive 3.5 disks in the 80s and all single sided (720) ones: i have 5 big boxes with them and most have a hole in them; I tried them all a few months ago and almost all still fully work.
Dad and I made a jig to do this so the hole was always in the right place. I remember doing at least 40 disks in one go, and I think most of them worked fine.
```just a word of warning, copy everything off them quick, as the 'side2' goes backwards to the cotton cloth cleaner inside the 5 1/4" case, so basically all the crap caught in it then end up coming out when playing other flip side :('''
I am also reminded of a game, I think it was Rescue On Fractalus that was manufactured with an Atari version on one side, and C64 on the other. I thought that was pretty clever.
1.88 I believe was the best version. It existed about 20 years ago, and it was a DOS program. You just had to add a 11-12kb stub memory wise in either config.sys or autoexec.bat. Or both, but it worked. Any 1.44 disk could hold 1.88 without compression.
It worked for brand-name disks (Maxwell?), but 1.88 on floppies from no-name vendors was inevitably a game of luck. Formatting and writing them was OK, but more often than not reading them back didn't work.
The Amiga had 880KB (DD) or 1760KB (HD, with a special drive) floppies, but instead of increasing track count, it had more sectors (11) in each of the 80 tracks.
If the drive had all the technology of a modern hard disk, I wonder how much we could fit. That would include shingled recording, large sectors, modern error correction, etc.
One could even do a single-sector disk, spiraling it around to avoid sector gap overhead.
Modern hard disks achieve higher density through less challenging mechanical requirements: they are sealed, in some cases filled with helium, platters can be very thick and very stiff, heads can be fixed instead of being lowered towards the disk when it is inserted, and for these and other reasons heads can get much closer to the platters and achieve miniaturization levels that are not possible with removable media.
Seems more usable than most "modern" websites. Content loads quickly, no modals or notifications that I need to click out of, important information is visually easy to find...
> Write-protection is typically enforced by the hardware. In the case of computer devices, attempting to violate it will return an error to the operating system while some tape recorders physically lock the record button when a write-protected cassette is present.