12 ms·
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).
by derekp7 8y ago
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).
- benj111 8y agoDon't hard drives use MB (to inflated advertised capacity? You decide) as standard. But sectors are 512 bytes to make it easier when dealing with the actual nitty gritty of reading data?
- mjevans 8y agoSectors 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.
- garmaine 8y agoIt's the official SI standard for data measurement. I don't know how using the standard is obtuse marketing spin.
- Dylan16807 8y agoBecause roughly nothing that measures data files uses that standard. Using the wrong standard can easily be misleading.
- garmaine 8y agoI’m not sure the entire storage and network technology industries count as “roughly nothing.”
- wtallis 8y agoI'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.
- int_19h 8y agoThe 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.
- jrwr 8y agoand don't always assume that they stored all 8 bits, some custom loaders used custom sizes!
- wtallis 8y agoHard 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.
- garmaine 8y ago1,000,000,000 isn't even divisible by 4096, the sector size, so I'm not sure what you're expecting?
- a1369209993 8y ago1'073'741'824 bytes, as (falsely) advertised.
- eMSF 8y agoNobody 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.
- garmaine 8y agoNo, 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. Maybe you're thinking of 1GiB?
- wtallis 8y agoThe 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.
- derekp7 8y agoIf it is marketing spin, then the floppies should be called 1.47MB.
- deathanatos 8y ago> 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 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. [4]: https://en.wikipedia.org/wiki/Advanced_Format https://en.wikipedia.org/wiki/Advanced_Format
- tom_ 8y ago> [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. Cut them open? - this will also explain why they were called disks/discs, even though they are decidedly rectangular...
- dragonwriter 8y ago> 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.
- userbinator 8y agoThe very first PC hard drives actually used binary sizes, or even slightly more: https://www.pcjs.org/disks/pcx86/drives/ https://www.pcjs.org/disks/pcx86/drives/ 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).
- dspillett 8y ago> 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.
- oofabz 8y ago>inflate advertised capacity 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.
- skrebbel 8y agoIt'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.
- Causality1 8y agoI 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.
- unilynx 8y agoAnd now my 16GB machine suddenly has 17,2GB of memory, divided by the OS not into 4KB pages,but almost-but-not-quite 4,1KB pages. For some parts powers of 2 will still work best, and the dividing line will probably always be arbitrary.
- nothrabannosir 8y agoThere is no golden rule about memory having to be a power of 2 at all costs. Manufacturers can make base 10 round memory. Pages will be 4KiB. For the few engineers who care.
- deleted 8y ago[deleted]
- dspillett 8y ago> to inflated advertised capacity? You decide 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.
- userbinator 8y agoRAM/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: https://www.eevblog.com/forum/chat/reduced-capacity-on-sandisk-microsd-cards/ https://www.eevblog.com/forum/chat/reduced-capacity-on-sandi... The proof of early drive sizes being in binary is here: https://news.ycombinator.com/item https://news.ycombinator.com/item? id=19589230
- dspillett 8y agoRAM/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.
- blorpAddsUp 8y agoWhen's the last time you gave a shit about 24 bytes? Don't answer (or maybe answer), because no matter what, I have never, and will never give a shit for you.