(this is speculation only but I suspect it&#x27;s right)
When the individual memory chips on a RAM stick have base-2 capacity, it is easy to make a request get serviced by the right chip. You just take some higher bits of the address as the chip ID and the lower bits as the offset within that chip. With non base-2 chips, you&#x27;d have to do many comparisons and a subtraction, or deal with discontinuous memory. It probably also helps with the internal design of the memory chips for similar reasons. I&#x27;m guessing the same reasoning doesn&#x27;t apply to hard drives because of much different performance and technology (disks have possibly multiple microcontrollers inside which don&#x27;t have much problem with a bit of integer arithmetic).