This document describes a high-speed SDR SDRAM controller with adaptive bank management. It introduces SDR SDRAM organization and operation, including memory structure, interface, command timings, and refresh requirements. The controller design includes control, generation, and data modules to simplify the SDR interface. Adaptive bank management keeps banks open between transactions, reducing command overhead by 42% compared to a non-adaptive design. The controller was implemented on an FPGA and achieved transfer rates up to 4Gbps at 125MHz with improved memory efficiency.