Tehre are several reasons why sizes go up in powers of 2. First off the memory is adressed in binary, so in order to get larger memmories you need to ad another adress bit, which allows you to double the size of the memmory. Obviously it isnt nescecarry to do so, but it just makes more sense. Also, computer geeks always want things to be in multiples of 2. Even if there was no reason at all for memmory to double it probably would. Kinda like why process sizes get half the size each generation, there is nothing saying you have to do it that way, yet it seems everyone goes from 180>130>90>65>45>32>22nm, the onyl reason is that each time it gets half as big.