In the classical balls-and-bins paradigm, where n balls are placed independently and uniformly in n bins, typically the number of bins with at least two balls in them is Θ(n) and the maximum number of balls in a bin is Θ( log n log log n ). It is well known that when each round offers k independent uniform options for bins, it is possible to typically achieve a constant maximal load if and only if k = Ω(log n). Moreover, it is possible whp to avoid any collisions between n/2 balls if k > log2 n. In this work, we extend this into the setting where only m bits of memory are available. We establish a tradeoff between the number of choices k and the memory m, dictated by the quantity km/n. Roughly put, we show that for km n one can achieve a constant maximal load, while for km n no substantial improvement can be gained over the case k = 1 (i.e., a random allocation). For any k = Ω(log n) and m = Ω(log2 n), one can achieve a constant load whp if km = Ω(n), and the load is unb...