In the last lecture we discussed logic gates and binary system. We discussed flip flops and a lot of types. Now I'm confused about memory structure, it is a billions of flip flops gates that stores billions of 0s and 1s, or what? How exactly the memory stores bits?
Probably the best place to learn about this is the classic What every programmer should know about memory, that is still discussed as good source.
But long story short yes, it's like billions of gates. It seems overwhelming (and it is), but the modularization - in itself a great concept - allows you to think in levels of cells, then rows, then other abstractions, so a high-level developer don't need to know about this in order to get software working. For the hardware designer it is equally important: you build a component, abstract it, build a higher level component, and so on.