The original question was deemed lack of focus. This post is specifically about dram chip.
When DRAM controller talks to an asynchronous DRAM, how does DRAM itself know when a write is completed and acknowledge back to DRAM controller? Writing a DRAM cell (one transistor + one capacitor) takes a certain amount of time to finish, how does DRAM itself performs self-timing and inform DRAM control that the write is complete? (I guess this question also applies to SDRAM? Even if SDRAM has an synchronous interface, at its core it still needs to do self-timing.)