In this era of fast processors and processors with many cores, there is a requirement for faster and bigger memories. But today the speed of fetching data from memories is not able to match up with speed of processors. So there is the need for a fast memory controller. The responsibility of the controller is to match the speeds of the processor on one side and memory on the other so that the communication can take place seamlessly. Here we have built a memory controller which is specifically targeted for DRAM. Certain novel features were included in the design which could increase the overall efficiency of the controller, such as, searching the internal memory of the controller for the requested data for the most recently used data, instead of going to the RAM to fetch it. The design was implemented on Xilinx ISE till the final simulation and synthesis.