Why does tech increase size by doubling?

178 views

Example: most SSDs increase 1, 2, 4, 8, 16, 32, 64,…

In: 2

3 Answers

Anonymous 0 Comments

For SSDs specifically (and mass storage devices like USB drives, hard drives), no particular technical reason. People tend to be familiar with these numbers from CPU/RAM size, so manufacturers use them. In reality they can and do make other values like [3TB](https://www.bestbuy.com/site/wd-blue-3tb-internal-sata-hard-drive-for-desktops/9312085.p?skuId=9312085), and are allowed to change the exact number of bytes on disk depending on whatever the real constraints are (e.g. for the target cost how small or reliable can we make the parts).

CPUs usually come in powers of 2, but again there isn’t really a fundamental technical reason for that. They are kind of stuck in coming in multiples of 8 because we decided early on that 8 bits was special, so 8 and 16 made sense, but we could have easily had 24 and 48 between 32 and 64, and in fact a few computers did use those. Some very special-purpose processors used non-multiples of 8 when they did not need to co-operate with engineers that assume certain data types must always come in chunks of 8 bits, e.g. this [14-bit microcontroller](https://www.mouser.com/Semiconductors/Embedded-Processors-Controllers/Microcontrollers-MCU/_/N-a85i8?P=1yrfw6t). There may have been some mild advantages to the numbers we chose, but they come from the larger context – what are the design tools like, how will these sizes interact with existing code when re-compiled for this architecture, how will it interact with binaries built for other architectures, what kind of production advantages/disadvantages do we get, … there’s a huge ecosystem of computer hardware and marketing that determines what gets made.

For RAM there is more of a reason. RAM is addressed in powers of 2 for the reason stated by u/dale_glass – it allows memory addresses to be a whole number of bits, so you don’t have to do any kind of numerical inequalities to make sure you haven’t asked for more memory than exists. This helps simplify the circuitry and make it faster. But we do know how to make RAM that isn’t a power of 2 – use a 4GB and 8GB in one computer to get 12GB total. The operating system ends up doing the math to make sure you don’t go over 12GB when looking up memory addresses.

You are viewing 1 out of 3 answers, click here to view all answers.